From cc813bc479ca8a99ac0cbdefdfe30e7ef5971354 Mon Sep 17 00:00:00 2001 From: landgreen Date: Thu, 8 Jul 2021 06:22:20 -0700 Subject: [PATCH] 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 --- .DS_Store | Bin 6148 -> 6148 bytes js/level.js | 5 +++-- js/powerup.js | 10 ++++++++-- js/tech.js | 32 ++++++++++++++++---------------- todo.txt | 17 ++++------------- 5 files changed, 31 insertions(+), 33 deletions(-) diff --git a/.DS_Store b/.DS_Store index b8d7b759a6aef0183146ca3fe54e847c90907eba..c726d999d4d2970a9daba029048ce4b792801531 100644 GIT binary patch delta 15 WcmZoMXffEJ#muzi@Maz68zKNJ$OU}> delta 15 WcmZoMXffEJ#muyL`(_>H8zKNJc?EC) diff --git a/js/level.js b/js/level.js index a696d5f..698be81 100644 --- a/js/level.js +++ b/js/level.js @@ -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 diff --git a/js/powerup.js b/js/powerup.js index 0945ac2..67847a0 100644 --- a/js/powerup.js +++ b/js/powerup.js @@ -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; + } } } } diff --git a/js/tech.js b/js/tech.js index 39cfd03..80d8edb 100644 --- a/js/tech.js +++ b/js/tech.js @@ -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: "double the frequency of finding healing tech
spawn 14 heals", + description: "double the frequency of finding healing tech
spawn 11 heals", 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 laser damage by 150%
increase all laser energy drain by 200%", + description: "increase all laser damage by 200%
increase all laser energy drain by 250%", 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 30 heal power ups
but hide your health bar", + description: "spawn 15 heal power ups
but hide your health 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(); diff --git a/todo.txt b/todo.txt index f565cec..0784570 100644 --- a/todo.txt +++ b/todo.txt @@ -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 ********************************************************