pressure wave balance

pressure wave balance - slightly more ammo
gamma-ray laser does 200% damage and 250% more drain  (was 150% damage, 200% drain)
gamma ray now doesn't lock out other laser tech
hidden variable now gives 15, not 30 heals
This commit is contained in:
landgreen
2021-07-08 06:22:20 -07:00
parent d346afb2d0
commit cc813bc479
5 changed files with 31 additions and 33 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -18,7 +18,7 @@ const level = {
// b.giveGuns("wave beam")
// tech.giveTech("pressure wave")
// for (let i = 0; i < 9; i++) tech.giveTech("spherical harmonics")
// tech.giveTech("supertemporal")
// tech.giveTech("decoherence")
// for (let i = 0; i < 3; i++) tech.giveTech("packet length")
level.intro(); //starting level
@@ -47,7 +47,8 @@ const level = {
// level.vats() //community level
// level["n-gon"]() //community level
// level.tunnel() //community level
// for (let i = 0; i < 3; i++) powerUps.spawn(player.position.x + Math.random() * 50, player.position.y - Math.random() * 50, "tech", false);
// powerUps.research.changeRerolls(3000)
// for (let i = 0; i < 30; i++) powerUps.spawn(player.position.x + Math.random() * 50, player.position.y - Math.random() * 50, "tech", false);
// for (let i = 0; i < 7; i++) tech.giveTech("undefined")
// lore.techCount = 6

View File

@@ -488,7 +488,10 @@ const powerUps = {
if (tech.isBanish) { //remove banished tech from last selection
for (let i = 0; i < powerUps.tech.banishLog.length; i++) {
for (let j = 0; j < options.length; j++) {
if (powerUps.tech.banishLog[i] === options[j]) options.splice(j, 1)
if (powerUps.tech.banishLog[i] === options[j]) {
options.splice(j, 1)
break
}
}
}
} else { //remove repeats from last selection
@@ -497,7 +500,10 @@ const powerUps = {
for (let i = 0; i < totalChoices; i++) { //repeat for each choice from the last selection
if (options.length > totalChoices) {
for (let j = 0, len = options.length; j < len; j++) {
if (powerUps.tech.choiceLog[powerUps.tech.choiceLog.length - 1 - i] === options[j]) options.splice(j, 1) //remove previous choice from option pool
if (powerUps.tech.choiceLog[powerUps.tech.choiceLog.length - 1 - i] === options[j]) {
options.splice(j, 1) //remove previous choice from option pool
break;
}
}
}
}

View File

@@ -1906,9 +1906,9 @@
frequency: 1,
frequencyDefault: 1,
allowed() {
return true
return !tech.isEnergyHealth
},
requires: "",
requires: "not mass-energy",
effect: () => {
tech.isMACHO = true; //this harm reduction comes from the particle toggling tech.isHarmMACHO
spawn.MACHO()
@@ -2560,7 +2560,7 @@
},
{
name: "maintenance",
description: "</strong>double</strong> the <strong class='flicker'>frequency</strong> of finding <strong class='color-h'>healing</strong> <strong class='color-m'>tech</strong><br>spawn <strong>14</strong> <strong class='color-h'>heals</strong>",
description: "</strong>double</strong> the <strong class='flicker'>frequency</strong> of finding <strong class='color-h'>healing</strong> <strong class='color-m'>tech</strong><br>spawn <strong>11</strong> <strong class='color-h'>heals</strong>",
maxCount: 1,
count: 0,
frequency: 1,
@@ -2568,11 +2568,11 @@
isNonRefundable: true,
isBadRandomOption: true,
allowed() {
return (m.health / m.maxHealth) < 0.7 && !tech.isNoHeals
return !tech.isNoHeals
},
requires: "health < 70%, not ergodicity",
requires: "not ergodicity",
effect() {
for (let i = 0; i < 14; i++) powerUps.spawn(m.pos.x + 60 * (Math.random() - 0.5), m.pos.y + 60 * (Math.random() - 0.5), "heal");
for (let i = 0; i < 11; i++) powerUps.spawn(m.pos.x + 60 * (Math.random() - 0.5), m.pos.y + 60 * (Math.random() - 0.5), "heal");
for (let i = 0, len = tech.tech.length; i < len; i++) {
if (tech.tech[i].isHealTech) tech.tech[i].frequency *= 2
}
@@ -3984,8 +3984,8 @@
for (i = 0, len = b.guns.length; i < len; i++) { //find which gun
if (b.guns[i].name === "wave beam") {
b.guns[i].chooseFireMethod()
b.guns[i].ammoPack = b.guns[i].defaultAmmoPack * 0.1
b.guns[i].ammo = Math.ceil(b.guns[i].ammo * 0.1);
b.guns[i].ammoPack = b.guns[i].defaultAmmoPack * 0.125
b.guns[i].ammo = Math.ceil(b.guns[i].ammo * 0.125);
simulation.updateGunHUD();
break
}
@@ -3997,7 +3997,7 @@
b.guns[i].chooseFireMethod()
if (tech.isLongitudinal) {
b.guns[i].ammoPack = b.guns[i].defaultAmmoPack
b.guns[i].ammo = Math.ceil(b.guns[i].ammo * 10);
b.guns[i].ammo = Math.ceil(b.guns[i].ammo * 8);
simulation.updateGunHUD();
}
break
@@ -4658,19 +4658,19 @@
},
{
name: "gamma-ray laser",
description: "increase all <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong> by <strong>150%</strong><br>increase all <strong class='color-laser'>laser</strong> <strong class='color-f'>energy</strong> drain by <strong>200%</strong>",
description: "increase all <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong> by <strong>200%</strong><br>increase all <strong class='color-laser'>laser</strong> <strong class='color-f'>energy</strong> drain by <strong>250%</strong>",
isGunTech: true,
maxCount: 1,
count: 0,
frequency: 2,
frequencyDefault: 2,
allowed() {
return (tech.haveGunCheck("laser") || tech.isLaserMine || tech.laserBotCount > 1) && !tech.isWideLaser && !tech.isPulseLaser && !tech.historyLaser
return (tech.haveGunCheck("laser") || tech.isLaserMine || tech.laserBotCount > 1) && !tech.isPulseLaser
},
requires: "laser, not pulse",
effect() {
tech.laserFieldDrain = 0.006 //base is 0.002
tech.laserDamage = 0.375; //base is 0.15
tech.laserFieldDrain = 0.007 //base is 0.002
tech.laserDamage = 0.45; //base is 0.15
tech.laserColor = "#83f"
tech.laserColorAlpha = "rgba(136, 51, 255,0.5)"
},
@@ -5937,7 +5937,7 @@
},
{
name: "hidden variable",
description: "spawn <strong>30</strong> <strong class='color-h'>heal</strong> power ups<br>but hide your <strong class='color-h'>health</strong> bar",
description: "spawn <strong>15</strong> <strong class='color-h'>heal</strong> power ups<br>but hide your <strong class='color-h'>health</strong> bar",
maxCount: 1,
count: 0,
frequency: 0,
@@ -5951,7 +5951,7 @@
effect() {
document.getElementById("health").style.display = "none"
document.getElementById("health-bg").style.display = "none"
for (let i = 0; i < 30; i++) powerUps.spawn(m.pos.x + 160 * (Math.random() - 0.5), m.pos.y + 160 * (Math.random() - 0.5), "heal");
for (let i = 0; i < 15; i++) powerUps.spawn(m.pos.x + 160 * (Math.random() - 0.5), m.pos.y + 160 * (Math.random() - 0.5), "heal");
},
remove() {}
},
@@ -6802,7 +6802,7 @@
ctx.stroke();
ctx.beginPath();
ctx.arc(18, 13, 10, 0, 2 * Math.PI);
ctx.fillStyle = grd;
ctx.fillStyle = this.bodyGradient;
ctx.fill();
ctx.stroke();
ctx.beginPath();

View File

@@ -1,18 +1,9 @@
******************************************************** NEXT PATCH ********************************************************
tech: pressure wave - wave beam fires lower frequency, higher damage, wide arcs that propagate through solids
tech: gamma-ray laser - increase laser damage by 150% and energy drain by 200%
works for all lasers except pulse
tech: specular reflection - now just gives +2 laser reflections (was +1, and damage/energy increase)
you, pilot wave, and drones can't pick up ammo if you have Infinite ammo on your current gun
wormhole still eats everything
Bayesian statistics gives 4.2% damage per research (was 3.9%)
bot fabrication needs 3 research to make a random bot (was 4)
pressure wave balance - slightly more ammo
gamma-ray laser does 200% damage and 250% more drain (was 150% damage, 200% drain)
gamma ray now doesn't lock out other laser tech
hidden variable now gives 15, not 30 heals
******************************************************** TODO ********************************************************