diff --git a/js/bullets.js b/js/bullets.js index d1a5ed8..91ef186 100644 --- a/js/bullets.js +++ b/js/bullets.js @@ -1099,6 +1099,22 @@ const b = { b.isModMissileField = false; } }, + { + name: "quantum dissipation", + description: "phase decoherence field uses energy to
damage unshielded mobs that you overlap", + maxCount: 1, + count: 0, + allowed() { + return mech.fieldUpgrades[mech.fieldMode].name === "phase decoherence field" + }, + requires: "phase decoherence field", + effect() { + b.isModPhaseFieldDamage = true; + }, + remove() { + b.isModPhaseFieldDamage = false; + } + }, ], removeMod(index) { b.mods[index].remove(); diff --git a/js/level.js b/js/level.js index e16b253..e33a64f 100644 --- a/js/level.js +++ b/js/level.js @@ -15,7 +15,7 @@ const level = { if (level.levelsCleared === 0) { // level.difficultyIncrease(9) // b.giveGuns("wave beam") - // mech.setField("plasma torch") + // mech.setField("phase decoherence field") // b.giveMod("wave phase velocity"); // b.giveMod("reflective cavity"); diff --git a/js/player.js b/js/player.js index d93c920..60c22b5 100644 --- a/js/player.js +++ b/js/player.js @@ -1609,6 +1609,19 @@ const mech = { mech.grabPowerUp(); mech.lookForPickUp(); + + if (mech.energy > 0.006 && b.isModPhaseFieldDamage) { //damage mobs inside the player + let inPlayer = Matter.Query.region(mob, player.bounds) + if (inPlayer.length > 0) { + for (let i = 0; i < inPlayer.length; i++) { + if (inPlayer[i].dropPowerUp && !inPlayer[i].isShielded) { + inPlayer[i].damage(0.2 * b.dmgScale); + mech.energy -= 0.002; + break; + } + } + } + } } else { mech.fieldCDcycle = mech.cycle + 120; } diff --git a/todo.txt b/todo.txt index ae6b76b..66ae608 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,22 @@ ************** TODO - n-gon ************** +mod - blocking with nano-scale is more efficient + +mod - time dilation - Quantum Recovery + Expending all your energy while using the field will + cause the player to go back in time to 3 seconds before the field was activated + resets ammo?, health, position, velocity + need to track player info in game.checks() in an array + put the array in the time field object + cause the player to go back in time when the field was first activated (easier then going back to 3 seconds before) + +mod - phase decoherence - Atomic Reconfigure + While moving and using the field, any enemies you pass through are damaged + +mod - grenade explosions stun enemies + stun - blind, slow, but increase gravity effects + use status effect code + bug getting stuck in crouch mode press T to see it visually happened twice @@ -18,10 +35,6 @@ mod - get your next recursive mod 3 times mod - vacuum bomb needs a mod mod - grenade needs a mod -mod - time dilation field needs a mod -mod - phase decoherence field needs a mod - -buff mod field radius for standing wave harmonics settings - auto aim at nearest mob settings - custom keys binding