From 7af4ffdce8edc45ecbb1eacb9e9b14bbafa5cd9b Mon Sep 17 00:00:00 2001 From: landgreen Date: Thu, 28 Oct 2021 16:31:23 -0700 Subject: [PATCH] field tech balance field tech balance: pilot wave has access to more field tech: time crystals, WIMPs, no-cloning time dilation: can get symbiosis flux pinning: 2s -> 4s stun on blocking zero point energy: 74 energy -> 100 energy tessellation: 4->2 research cost bremsstrahlung: 33% more damage triple point: 50% more ice bug fixes --- .DS_Store | Bin 6148 -> 6148 bytes js/level.js | 2 +- js/player.js | 4 ++-- js/tech.js | 30 +++++++++++++++--------------- todo.txt | 31 +++++++++---------------------- 5 files changed, 27 insertions(+), 40 deletions(-) diff --git a/.DS_Store b/.DS_Store index bd2a295d3e21378f3ad21707ad4c004d3c00b536..82ef999eeea31c6988d4ad1ca74fd2f483ea4d75 100644 GIT binary patch delta 22 dcmZoMXffEJ#muyzaIy}wFOwX@=4$3n5dcm~237z7 delta 22 dcmZoMXffEJ#mqGS%w!#AUnbcPo2!{SMF3cI2cG}{ diff --git a/js/level.js b/js/level.js index ff42fac..b3dbd1d 100644 --- a/js/level.js +++ b/js/level.js @@ -2931,7 +2931,7 @@ const level = { spawn.randomMob(-75, -1475, 0); spawn.randomGroup(600, -2600, 0); } - if (simulation.difficulty < 1) { + if (simulation.difficulty > 1) { if (Math.random() < 0.5) { spawn.randomLevelBoss(700, -1550); } else { diff --git a/js/player.js b/js/player.js index 1ec698f..9950837 100644 --- a/js/player.js +++ b/js/player.js @@ -1300,7 +1300,7 @@ const m = { if (m.energy < 0) m.energy = 0; m.fieldCDcycle = m.cycle + m.fieldBlockCD; if (tech.blockingIce) { - for (let i = 0; i < fieldBlockCost * 35 * tech.blockingIce; i++) b.iceIX(3, 2 * Math.PI * Math.random(), m.pos) + for (let i = 0; i < fieldBlockCost * 50 * tech.blockingIce; i++) b.iceIX(3, 2 * Math.PI * Math.random(), m.pos) } const unit = Vector.normalise(Vector.sub(player.position, who.position)) if (tech.blockDmg) { @@ -1620,7 +1620,7 @@ const m = { const unit = Vector.normalise(Vector.sub(m.fieldPosition, mob[i].position)) m.fieldCDcycle = m.cycle + m.fieldBlockCD + (mob[i].isShielded ? 15 : 0); if (tech.blockingIce) { - for (let i = 0; i < tech.blockingIce; i++) { + for (let i = 0; i < 2 * tech.blockingIce; i++) { const angle = m.fieldAngle + 1.55 * (Math.random() - 0.5) b.iceIX(10, angle, Vector.add(m.fieldPosition, { x: m.fieldRange * Math.cos(angle), y: m.fieldRange * Math.sin(angle) })) } diff --git a/js/tech.js b/js/tech.js index 65b724e..a2846fb 100644 --- a/js/tech.js +++ b/js/tech.js @@ -3919,9 +3919,9 @@ frequency: 2, frequencyDefault: 2, allowed() { - return tech.haveGunCheck("nail gun") && !tech.nailInstantFireRate + return tech.haveGunCheck("nail gun") && !tech.nailInstantFireRate && !tech.isNeedles }, - requires: "nail gun, not pneumatic actuator", + requires: "nail gun, not pneumatic actuator, needle gun", effect() { tech.nailRecoil = true for (i = 0, len = b.guns.length; i < len; i++) { //find which gun @@ -5621,7 +5621,7 @@ //************************************************** { name: "zero point energy", - description: `use ${powerUps.orb.research(2)}to increase your max energy by 74`, + description: `use ${powerUps.orb.research(2)}to increase your max energy by 100`, // description: "use 2 research to
increase your maximum energy by 74", isFieldTech: true, maxCount: 1, @@ -5633,7 +5633,7 @@ }, requires: "standing wave or pilot wave", effect() { - tech.harmonicEnergy = 0.74 + tech.harmonicEnergy = 1 m.setMaxEnergy() for (let i = 0; i < 2; i++) { if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1) @@ -5702,7 +5702,7 @@ }, requires: "standing wave, perfect diamagnetism", effect() { - tech.blockDmg += 1.25 //if you change this value also update the for loop in the electricity graphics in m.pushMass + tech.blockDmg += 1.75 //if you change this value also update the for loop in the electricity graphics in m.pushMass }, remove() { tech.blockDmg = 0; @@ -5729,7 +5729,7 @@ }, { name: "flux pinning", - description: "deflecting mobs with your field
stuns them for 2 seconds", + description: "deflecting mobs with your field
stuns them for 4 seconds", isFieldTech: true, maxCount: 9, count: 0, @@ -5740,7 +5740,7 @@ }, requires: "a field that can block", effect() { - tech.isStunField += 120; + tech.isStunField += 240; }, remove() { tech.isStunField = 0; @@ -5786,7 +5786,7 @@ }, { name: "tessellation", - description: `use ${powerUps.orb.research(4)}to reduce harm by 50%`, + description: `use ${powerUps.orb.research(2)}to reduce harm by 50%`, // description: "use 4 research
reduce harm by 50%", isFieldTech: true, maxCount: 1, @@ -5799,18 +5799,18 @@ requires: "perfect diamagnetism or negative mass", effect() { tech.isFieldHarmReduction = true - for (let i = 0; i < 4; i++) { + for (let i = 0; i < 2; i++) { if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1) } }, remove() { tech.isFieldHarmReduction = false - if (this.count > 0) powerUps.research.changeRerolls(4) + if (this.count > 0) powerUps.research.changeRerolls(2) } }, { name: "neutronium", - description: `reduce harm by 90% while your field is active
move and jump 33% slower`, + description: `reduce harm by 90% when your field is active
move and jump 33% slower`, isFieldTech: true, maxCount: 1, count: 0, @@ -6312,7 +6312,7 @@ frequency: 2, frequencyDefault: 2, allowed() { - return (m.fieldUpgrades[m.fieldMode].name === "time dilation") && tech.energyRegen !== 0 + return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "pilot wave") && tech.energyRegen !== 0 }, requires: "time dilation, not ground state", effect: () => { @@ -6333,7 +6333,7 @@ frequency: 2, frequencyDefault: 2, allowed() { - return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") && tech.duplicationChance() < 1 //m.fieldUpgrades[m.fieldMode].name === "wormhole" || + return (m.fieldUpgrades[m.fieldMode].name === "pilot wave" || m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") }, requires: "cloaking, wormhole or time dilation and below 100% duplication chance", effect() { @@ -6355,7 +6355,7 @@ frequency: 2, frequencyDefault: 2, allowed() { - return m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking" + return m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking" || m.fieldUpgrades[m.fieldMode].name === "time dilation" }, requires: "metamaterial cloaking", effect() { @@ -6543,7 +6543,7 @@ frequency: 1, frequencyDefault: 1, allowed() { - return m.fieldUpgrades[m.fieldMode].name === "wormhole" + return m.fieldUpgrades[m.fieldMode].name === "wormhole" || m.fieldUpgrades[m.fieldMode].name === "pilot wave" }, requires: "wormhole", effect: () => { diff --git a/todo.txt b/todo.txt index 5ca4af8..42b7e5c 100644 --- a/todo.txt +++ b/todo.txt @@ -1,34 +1,21 @@ ******************************************************** NEXT PATCH ************************************************** -JUNK tech: facsimile - copy current level and insert into level queue -JUNK tech: planetesimals - spawn a tech, and play planetesimals, an annoying asteroids like game with realistic physics +field tech balance: + pilot wave has access to more field tech: time crystals, WIMPs, no-cloning + time dilation: can get symbiosis + flux pinning: 2s -> 4s stun on blocking + zero point energy: 74 energy -> 100 energy + tessellation: 4->2 research cost + bremsstrahlung: 33% more damage + triple point: 50% more ice -tech that previously added 1 junk tech now adds 1% (of current non-JUNK tech options) - the percent values may seem like more but I actually lowered the JUNK chance about 10% - -meta-analysis no longer requires replication - (if you choose a JUNK tech get a random tech and 3 research) -symbiosis: only gives 1 bonus tech (was 1 or 2) -blink boss rebalanced (it's easier, and has two modes) - -bug fixes + bug fixes ******************************************************** TODO ******************************************************** -fields weak in late game? - Pilot wave? - buff with cool tech options from other fields - buff with another damage scaling tech - stand wave and diamagnetism - buff end stage tech for these - - - tech perfect diamagnetism - holding the field makes the field slowly travel forward could be base effect -make a field that just fires your first gun - if they have to share a cooldown give 50% shorter fire CD - bug - death while paused crashes game? tech: aerodynamic heating - railgun rods super heat the air around it doing AoE damage