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
This commit is contained in:
landgreen
2021-10-28 16:31:23 -07:00
parent 79e27978ec
commit 7af4ffdce8
5 changed files with 27 additions and 40 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -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 {

View File

@@ -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) }))
}

View File

@@ -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 <strong>max</strong> <strong class='color-f'>energy</strong> by <strong>74</strong>`,
description: `use ${powerUps.orb.research(2)}to increase your <strong>max</strong> <strong class='color-f'>energy</strong> by <strong>100</strong>`,
// description: "use <strong>2</strong> <strong class='color-r'>research</strong> to<br>increase your <strong>maximum</strong> <strong class='color-f'>energy</strong> by <strong>74</strong>",
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: "<strong>deflecting</strong> mobs with your <strong>field</strong><br><strong>stuns</strong> them for <strong>2</strong> seconds",
description: "<strong>deflecting</strong> mobs with your <strong>field</strong><br><strong>stuns</strong> them for <strong>4</strong> 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 <strong class='color-harm'>harm</strong> by <strong>50%</strong>`,
description: `use ${powerUps.orb.research(2)}to reduce <strong class='color-harm'>harm</strong> by <strong>50%</strong>`,
// description: "use <strong>4</strong> <strong class='color-r'>research</strong><br>reduce <strong class='color-harm'>harm</strong> by <strong>50%</strong>",
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 <strong class='color-harm'>harm</strong> by <strong>90%</strong> while your <strong class='color-f'>field</strong> is active<br><strong>move</strong> and <strong>jump</strong> <strong>33%</strong> <strong>slower</strong>`,
description: `reduce <strong class='color-harm'>harm</strong> by <strong>90%</strong> when your <strong class='color-f'>field</strong> is active<br><strong>move</strong> and <strong>jump</strong> <strong>33%</strong> <strong>slower</strong>`,
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: () => {

View File

@@ -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