From c2b77579f7dde907f2702790bd03d96fa5c83bde Mon Sep 17 00:00:00 2001 From: lilgreenland Date: Thu, 5 Mar 2020 07:09:36 -0800 Subject: [PATCH] phase field shield interactions --- js/player.js | 22 +++++++++++----------- todo.txt | 22 +++++++++------------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/js/player.js b/js/player.js index 60c22b5..4e04596 100644 --- a/js/player.js +++ b/js/player.js @@ -1579,7 +1579,7 @@ const mech = { }, { name: "phase decoherence field", - description: "become intangible and invisible
drains energy as you move", + description: "use energy to become intangible
moving and touching shields amplifies cost", isEasyToAim: true, effect: () => { mech.hold = function () { @@ -1590,7 +1590,7 @@ const mech = { mech.holding(); mech.throwBlock(); } else if ((keys[32] || game.mouseDownRight) && mech.fieldCDcycle < mech.cycle) { - const DRAIN = 0.00015 + 0.00027 * player.speed + const DRAIN = 0.0001 + 0.00017 * player.speed if (mech.energy > DRAIN) { mech.energy -= DRAIN; @@ -1610,15 +1610,15 @@ 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; - } + let inPlayer = Matter.Query.region(mob, player.bounds) + if (inPlayer.length > 0) { + for (let i = 0; i < inPlayer.length; i++) { + if (inPlayer[i].shield) { + mech.energy -= 0.01; //shields drain player energy + } else if (b.isModPhaseFieldDamage && mech.energy > 0.006 && inPlayer[i].dropPowerUp && !inPlayer[i].isShielded) { + inPlayer[i].damage(0.2 * b.dmgScale); //damage mobs inside the player + mech.energy -= 0.002; + break; } } } diff --git a/todo.txt b/todo.txt index 66ae608..ab6b7ee 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,8 @@ ************** TODO - n-gon ************** +mod - vacuum bomb pulls shields off the mob + or just greatly damages shields during the suck phase if the pulling doesn't work + mod - blocking with nano-scale is more efficient mod - time dilation - Quantum Recovery @@ -10,32 +13,25 @@ mod - time dilation - Quantum Recovery 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 - once right after selecting a mod lots of blocks around + once right after selecting a mod lots of blocks around I don't think I was holding a block might have been standing on a block... not sure mobs - add in a function to the main loops that does injected code for each mob each mob would get an object with a game.cycle for ending and a method to run each cycle until the end is met - this could be a DOT, graphics, slow - mod - flechettes mod for poison damage + this could be a DoT, graphics, slow, blind + stun - blind, slow, but increased gravity effects + mod - flechettes mod for DoT poison damage + mod - grenade explosions stun enemies + mod - get your next recursive mod 3 times are players aware of what a recursive mod is? too much of a nova drift rip off? -mod - vacuum bomb needs a mod -mod - grenade needs a mod - settings - auto aim at nearest mob settings - custom keys binding