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:
@@ -2931,7 +2931,7 @@ const level = {
|
|||||||
spawn.randomMob(-75, -1475, 0);
|
spawn.randomMob(-75, -1475, 0);
|
||||||
spawn.randomGroup(600, -2600, 0);
|
spawn.randomGroup(600, -2600, 0);
|
||||||
}
|
}
|
||||||
if (simulation.difficulty < 1) {
|
if (simulation.difficulty > 1) {
|
||||||
if (Math.random() < 0.5) {
|
if (Math.random() < 0.5) {
|
||||||
spawn.randomLevelBoss(700, -1550);
|
spawn.randomLevelBoss(700, -1550);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1300,7 +1300,7 @@ const m = {
|
|||||||
if (m.energy < 0) m.energy = 0;
|
if (m.energy < 0) m.energy = 0;
|
||||||
m.fieldCDcycle = m.cycle + m.fieldBlockCD;
|
m.fieldCDcycle = m.cycle + m.fieldBlockCD;
|
||||||
if (tech.blockingIce) {
|
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))
|
const unit = Vector.normalise(Vector.sub(player.position, who.position))
|
||||||
if (tech.blockDmg) {
|
if (tech.blockDmg) {
|
||||||
@@ -1620,7 +1620,7 @@ const m = {
|
|||||||
const unit = Vector.normalise(Vector.sub(m.fieldPosition, mob[i].position))
|
const unit = Vector.normalise(Vector.sub(m.fieldPosition, mob[i].position))
|
||||||
m.fieldCDcycle = m.cycle + m.fieldBlockCD + (mob[i].isShielded ? 15 : 0);
|
m.fieldCDcycle = m.cycle + m.fieldBlockCD + (mob[i].isShielded ? 15 : 0);
|
||||||
if (tech.blockingIce) {
|
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)
|
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) }))
|
b.iceIX(10, angle, Vector.add(m.fieldPosition, { x: m.fieldRange * Math.cos(angle), y: m.fieldRange * Math.sin(angle) }))
|
||||||
}
|
}
|
||||||
|
|||||||
30
js/tech.js
30
js/tech.js
@@ -3919,9 +3919,9 @@
|
|||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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() {
|
effect() {
|
||||||
tech.nailRecoil = true
|
tech.nailRecoil = true
|
||||||
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
|
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
|
||||||
@@ -5621,7 +5621,7 @@
|
|||||||
//**************************************************
|
//**************************************************
|
||||||
{
|
{
|
||||||
name: "zero point energy",
|
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>",
|
// 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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
@@ -5633,7 +5633,7 @@
|
|||||||
},
|
},
|
||||||
requires: "standing wave or pilot wave",
|
requires: "standing wave or pilot wave",
|
||||||
effect() {
|
effect() {
|
||||||
tech.harmonicEnergy = 0.74
|
tech.harmonicEnergy = 1
|
||||||
m.setMaxEnergy()
|
m.setMaxEnergy()
|
||||||
for (let i = 0; i < 2; i++) {
|
for (let i = 0; i < 2; i++) {
|
||||||
if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1)
|
if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1)
|
||||||
@@ -5702,7 +5702,7 @@
|
|||||||
},
|
},
|
||||||
requires: "standing wave, perfect diamagnetism",
|
requires: "standing wave, perfect diamagnetism",
|
||||||
effect() {
|
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() {
|
remove() {
|
||||||
tech.blockDmg = 0;
|
tech.blockDmg = 0;
|
||||||
@@ -5729,7 +5729,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "flux pinning",
|
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,
|
isFieldTech: true,
|
||||||
maxCount: 9,
|
maxCount: 9,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -5740,7 +5740,7 @@
|
|||||||
},
|
},
|
||||||
requires: "a field that can block",
|
requires: "a field that can block",
|
||||||
effect() {
|
effect() {
|
||||||
tech.isStunField += 120;
|
tech.isStunField += 240;
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
tech.isStunField = 0;
|
tech.isStunField = 0;
|
||||||
@@ -5786,7 +5786,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "tessellation",
|
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>",
|
// 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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
@@ -5799,18 +5799,18 @@
|
|||||||
requires: "perfect diamagnetism or negative mass",
|
requires: "perfect diamagnetism or negative mass",
|
||||||
effect() {
|
effect() {
|
||||||
tech.isFieldHarmReduction = true
|
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)
|
if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
tech.isFieldHarmReduction = false
|
tech.isFieldHarmReduction = false
|
||||||
if (this.count > 0) powerUps.research.changeRerolls(4)
|
if (this.count > 0) powerUps.research.changeRerolls(2)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "neutronium",
|
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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -6312,7 +6312,7 @@
|
|||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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",
|
requires: "time dilation, not ground state",
|
||||||
effect: () => {
|
effect: () => {
|
||||||
@@ -6333,7 +6333,7 @@
|
|||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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",
|
requires: "cloaking, wormhole or time dilation and below 100% duplication chance",
|
||||||
effect() {
|
effect() {
|
||||||
@@ -6355,7 +6355,7 @@
|
|||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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",
|
requires: "metamaterial cloaking",
|
||||||
effect() {
|
effect() {
|
||||||
@@ -6543,7 +6543,7 @@
|
|||||||
frequency: 1,
|
frequency: 1,
|
||||||
frequencyDefault: 1,
|
frequencyDefault: 1,
|
||||||
allowed() {
|
allowed() {
|
||||||
return m.fieldUpgrades[m.fieldMode].name === "wormhole"
|
return m.fieldUpgrades[m.fieldMode].name === "wormhole" || m.fieldUpgrades[m.fieldMode].name === "pilot wave"
|
||||||
},
|
},
|
||||||
requires: "wormhole",
|
requires: "wormhole",
|
||||||
effect: () => {
|
effect: () => {
|
||||||
|
|||||||
31
todo.txt
31
todo.txt
@@ -1,34 +1,21 @@
|
|||||||
******************************************************** NEXT PATCH **************************************************
|
******************************************************** NEXT PATCH **************************************************
|
||||||
|
|
||||||
JUNK tech: facsimile - copy current level and insert into level queue
|
field tech balance:
|
||||||
JUNK tech: planetesimals - spawn a tech, and play planetesimals, an annoying asteroids like game with realistic physics
|
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)
|
bug fixes
|
||||||
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
|
|
||||||
|
|
||||||
******************************************************** TODO ********************************************************
|
******************************************************** 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
|
tech perfect diamagnetism - holding the field makes the field slowly travel forward
|
||||||
could be base effect
|
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?
|
bug - death while paused crashes game?
|
||||||
|
|
||||||
tech: aerodynamic heating - railgun rods super heat the air around it doing AoE damage
|
tech: aerodynamic heating - railgun rods super heat the air around it doing AoE damage
|
||||||
|
|||||||
Reference in New Issue
Block a user