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