diff --git a/js/bullets.js b/js/bullets.js
index 3a33672..27d1ecd 100644
--- a/js/bullets.js
+++ b/js/bullets.js
@@ -511,7 +511,7 @@ const b = {
},
{
name: "entanglement",
- description: "10% less harm for each gun in your inventory
while your first gun is equipped",
+ description: "13% less harm for each gun in your inventory
while your first gun is equipped",
maxCount: 1,
count: 0,
allowed() {
@@ -1047,7 +1047,7 @@ const b = {
},
{
name: "specular reflection",
- description: "the laser gains +1 reflection
+33% laser damage and energy drain",
+ description: "the laser gains +1 reflection
+50% laser damage and energy drain",
maxCount: 9,
count: 0,
allowed() {
@@ -1056,8 +1056,8 @@ const b = {
requires: "laser",
effect() {
b.modLaserReflections++;
- b.modLaserDamage += 0.02; //base is 0.05
- b.modLaserFieldDrain += 0.0006 //base is 0.002
+ b.modLaserDamage += 0.025; //base is 0.05
+ b.modLaserFieldDrain += 0.001 //base is 0.002
},
remove() {
b.modLaserReflections = 2;
@@ -1103,9 +1103,9 @@ const b = {
maxCount: 9,
count: 0,
allowed() {
- return mech.fieldUpgrades[mech.fieldMode].name === "standing wave harmonics" || mech.fieldUpgrades[mech.fieldMode].name === "diamagnetic field"
+ return mech.fieldUpgrades[mech.fieldMode].name === "standing wave harmonics" || mech.fieldUpgrades[mech.fieldMode].name === "perfect diamagnetism"
},
- requires: "standing wave harmonics
or diamagnetic field",
+ requires: "standing wave harmonics
or perfect diamagnetism",
effect() {
b.modBlockDmg += 0.6 //if you change this value also update the for loop in the electricity graphics in mech.pushMass
},
diff --git a/js/index.js b/js/index.js
index 5fa056b..61705ac 100644
--- a/js/index.js
+++ b/js/index.js
@@ -19,7 +19,17 @@ const build = {
let text = `
PAUSED press P to resume
-
`;
+
+
+ level: ${level.levelsCleared} - ${level.levels[level.onLevel]} (${level.difficultyText()})
+
${mob.length} mobs, ${body.length} blocks, ${bullet.length} bullets, ${powerUp.length} power ups
+
mouse: (${game.mouseInGame.x.toFixed(1)}, ${game.mouseInGame.y.toFixed(1)}) ${mech.cycle} cycles
+
+
health: ${(mech.health*100).toFixed(0)}% energy: ${(mech.energy*100).toFixed(0)}% mass: ${player.mass.toFixed(1)}
+
position: (${player.position.x.toFixed(1)}, ${player.position.y.toFixed(1)}) velocity: (${player.velocity.x.toFixed(1)}, ${player.velocity.y.toFixed(1)})
+
+
+ `;
//
// ${game.SVGleftMouse} fire gun
// ${game.SVGrightMouse} use field
diff --git a/js/level.js b/js/level.js
index 9e7aa09..1fff56c 100644
--- a/js/level.js
+++ b/js/level.js
@@ -15,7 +15,7 @@ const level = {
if (level.levelsCleared === 0) {
// level.difficultyIncrease(9)
// b.giveGuns("mine")
- mech.setField("perfect diamagnetism")
+ // mech.setField("perfect diamagnetism")
// b.giveMod("irradiated needles");
// b.giveMod("reflective cavity");
@@ -72,18 +72,20 @@ const level = {
if (game.difficulty < 1) game.difficulty = 0;
game.healScale = 1 / (1 + game.difficulty * 0.09)
},
- levelAnnounce() {
+ difficultyText() {
let mode = document.getElementById("difficulty-select").value
if (mode === "0") {
- mode = "(easy)"
+ return "easy"
} else if (mode === "1") {
- mode = "(normal)"
+ return "normal"
} else if (mode === "2") {
- mode = "(hard)"
+ return "hard"
} else if (mode === "4") {
- mode = "(why)"
+ return "why"
}
- document.title = "n-gon: L" + (level.levelsCleared) + " " + level.levels[level.onLevel] + " " + mode;
+ },
+ levelAnnounce() {
+ document.title = "n-gon: L" + (level.levelsCleared) + " " + level.levels[level.onLevel] + " (" + level.difficultyText() + ")";
},
//******************************************************************************************************************
//******************************************************************************************************************
diff --git a/js/player.js b/js/player.js
index 59283b1..c2258ea 100644
--- a/js/player.js
+++ b/js/player.js
@@ -461,7 +461,7 @@ const mech = {
dmg *= mech.fieldDamageResistance
if (b.isModEntanglement && b.inventory[0] === b.activeGun) {
for (let i = 0, len = b.inventory.length; i < len; i++) {
- dmg *= 0.9
+ dmg *= 0.87 // 1 - 0.13
}
}
mech.health -= dmg;
@@ -792,7 +792,7 @@ const mech = {
if (keys[32] || game.mouseDownRight) {
if (mech.energy > 0.0007) {
mech.energy -= 0.0007;
- mech.throwCharge += 1 / mech.holdingTarget.mass * b.modThrowChargeRate
+ mech.throwCharge += 0.5 * b.modThrowChargeRate / mech.holdingTarget.mass
//draw charge
const x = mech.pos.x + 15 * Math.cos(mech.angle);
const y = mech.pos.y + 15 * Math.sin(mech.angle);
@@ -910,9 +910,9 @@ const mech = {
ctx.lineWidth = 2.5 - 1.5 * wave;
ctx.lineCap = "butt"
ctx.stroke();
- let eye = 13;
- const curve = 0.6 + 0.08 * wave
- let aMag = (1 - curve) * Math.PI * mech.fieldArc
+ let eye = 20;
+ const curve = 0.5 + 0.06 * wave
+ let aMag = (1 - curve * 1.2) * Math.PI * mech.fieldArc
let a = mech.angle + aMag
let cp1x = mech.pos.x + curve * range * Math.cos(a)
let cp1y = mech.pos.y + curve * range * Math.sin(a)
diff --git a/todo.txt b/todo.txt
index 24eb62b..e357ec8 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,6 +1,8 @@
************** TODO - n-gon **************
+gun or mod - drones that only last for 2 seconds
+
field - the basic field emitter, but no energy loss and no knock back on blocks
this field should make blocking a viable strategy
gain energy on blocking?
@@ -69,6 +71,7 @@ lore - a robot (the player) gains self awareness
final mod is "this is just a simulation"
you get immortality and Infinity damage
the next level is the final level
+ when you die with Quantum Immortality there is a chance of lore text
atmosphere levels: change the pace, give the user a rest between combat
low or no combat, but more graphics