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