diff --git a/js/bullet.js b/js/bullet.js index 9d0dbf0..10c8851 100644 --- a/js/bullet.js +++ b/js/bullet.js @@ -166,8 +166,8 @@ const b = { }, explosion(where, radius) { // typically explode is used for some bullets with .onEnd let dist, sub, knock; - let dmg = radius * 0.01; - if (mod.isExplosionHarm) radius *= 1.35 + let dmg = radius * 0.013; + if (mod.isExplosionHarm) radius *= 1.43 // sqrt(2)radius for 2x more area if (mod.isSmallExplosion) { radius *= 0.5 dmg *= 1.5 @@ -198,12 +198,11 @@ const b = { if (mod.isImmuneExplosion) { const mitigate = Math.min(1, Math.max(1 - mech.energy * 0.6, 0)) - mech.damage(mitigate * radius * (mod.isExplosionHarm) ? 0.0004 : 0.0001); + mech.damage(mitigate * radius * (mod.isExplosionHarm ? 0.0004 : 0.0001)); } else { - mech.damage(radius * (mod.isExplosionHarm) ? 0.0004 : 0.0001); + mech.damage(radius * (mod.isExplosionHarm ? 0.0004 : 0.0001)); } - // if (!(mod.isImmuneExplosion && mech.energy > 0.97)) { // if (mod.isExplosionHarm) { // mech.damage(radius * 0.0004); //300% more player damage from explosions @@ -806,8 +805,8 @@ const b = { this.endCycle = game.cycle if (mod.isHeavyWater) mobs.statusDoT(who, 0.15, 300) if (mod.iceEnergy && !who.shield && !who.isShielded && who.dropPowerUp && !who.alive) { - mech.energy += mod.iceEnergy * 0.66 - mech.addHealth(mod.iceEnergy * 0.03) + mech.energy += mod.iceEnergy * 0.66 * mech.maxEnergy + mech.addHealth(mod.iceEnergy * 0.04) } }, onEnd() {}, @@ -1990,8 +1989,8 @@ const b = { name: "flechettes", description: "fire a volley of uranium-235 needles
does radioactive damage over 3 seconds", ammo: 0, - ammoPack: 45, - defaultAmmoPack: 45, + ammoPack: 55, + defaultAmmoPack: 55, have: false, count: 0, //used to track how many shots are in a volley before a big CD lastFireCycle: 0, //use to remember how longs its been since last fire, used to reset count @@ -2018,9 +2017,9 @@ const b = { this.immuneList.push(who.id) who.foundPlayer(); if (mod.isFastDot) { - mobs.statusDoT(who, 3.9, 30) + mobs.statusDoT(who, 4, 30) } else { - mobs.statusDoT(who, 0.65, mod.isSlowDot ? 360 : 180) + mobs.statusDoT(who, 0.66, mod.isSlowDot ? 360 : 180) } game.drawList.push({ //add dmg to draw queue x: this.position.x, @@ -2072,7 +2071,7 @@ const b = { makeFlechette(mech.angle - 0.02 - 0.005 * Math.random()) } - const CD = (mech.crouch) ? 68 : 35 + const CD = (mech.crouch) ? 60 : 30 if (this.lastFireCycle + CD < mech.cycle) this.count = 0 //reset count if it cycles past the CD this.lastFireCycle = mech.cycle if (this.count > ((mech.crouch) ? 7 : 1)) { diff --git a/js/index.js b/js/index.js index 9b916a8..b3f4f2b 100644 --- a/js/index.js +++ b/js/index.js @@ -584,6 +584,7 @@ document.body.addEventListener("mouseleave", (e) => { //prevents mouse getting s //keyboard input const keys = []; document.body.addEventListener("keydown", (e) => { + console.log(e.keyCode) keys[e.keyCode] = true; if (mech.alive) game.keyPress(); }); diff --git a/js/level.js b/js/level.js index ad023f8..6a4d32a 100644 --- a/js/level.js +++ b/js/level.js @@ -3842,25 +3842,25 @@ const level = { for (let i = 0; i < num; i++) { game.difficulty++ game.dmgScale += 0.37; //damage done by mobs increases each level - b.dmgScale *= 0.92; //damage done by player decreases each level - if (game.accelScale < 5) game.accelScale *= 1.027 //mob acceleration increases each level - if (game.lookFreqScale > 0.2) game.lookFreqScale *= 0.975 //mob cycles between looks decreases each level - if (game.CDScale > 0.2) game.CDScale *= 0.966 //mob CD time decreases each level + b.dmgScale *= 0.93; //damage done by player decreases each level + if (game.accelScale < 5) game.accelScale *= 1.02 //mob acceleration increases each level + if (game.lookFreqScale > 0.2) game.lookFreqScale *= 0.98 //mob cycles between looks decreases each level + if (game.CDScale > 0.2) game.CDScale *= 0.97 //mob CD time decreases each level } - game.healScale = 1 / (1 + game.difficulty * 0.07) //a higher denominator makes for lower heals // mech.health += heal * game.healScale; + game.healScale = 1 / (1 + game.difficulty * 0.06) //a higher denominator makes for lower heals // mech.health += heal * game.healScale; }, difficultyDecrease(num = 1) { //used in easy mode for game.reset() for (let i = 0; i < num; i++) { game.difficulty-- game.dmgScale -= 0.37; //damage done by mobs increases each level if (game.dmgScale < 0.1) game.dmgScale = 0.1; - b.dmgScale /= 0.92; //damage done by player decreases each level - if (game.accelScale > 0.2) game.accelScale /= 1.027 //mob acceleration increases each level - if (game.lookFreqScale < 5) game.lookFreqScale /= 0.975 //mob cycles between looks decreases each level - if (game.CDScale < 5) game.CDScale /= 0.966 //mob CD time decreases each level + b.dmgScale /= 0.93; //damage done by player decreases each level + if (game.accelScale > 0.2) game.accelScale /= 1.02 //mob acceleration increases each level + if (game.lookFreqScale < 5) game.lookFreqScale /= 0.98 //mob cycles between looks decreases each level + if (game.CDScale < 5) game.CDScale /= 0.97 //mob CD time decreases each level } if (game.difficulty < 1) game.difficulty = 0; - game.healScale = 1 / (1 + game.difficulty * 0.07) + game.healScale = 1 / (1 + game.difficulty * 0.06) }, difficultyText(mode = document.getElementById("difficulty-select").value) { if (mode === "0") { diff --git a/js/mods.js b/js/mods.js index a69c3e7..73419b8 100644 --- a/js/mods.js +++ b/js/mods.js @@ -83,7 +83,7 @@ const mod = { damageFromMods() { let dmg = mech.fieldDamage // if (mod.aimDamage>1) - if (mod.isEnergyNoAmmo) dmg *= 1.4 + if (mod.isEnergyNoAmmo) dmg *= 1.5 if (mod.isDamageForGuns) dmg *= 1 + 0.07 * b.inventory.length if (mod.isLowHealthDmg) dmg *= 1 + 0.6 * Math.max(0, 1 - mech.health) if (mod.isHarmDamage && mech.lastHarmCycle + 600 > mech.cycle) dmg *= 2; @@ -133,7 +133,7 @@ const mod = { }, { name: "exciton-lattice", - description: `increase damage by 40%, but
ammo will no longer spawn`, + description: `increase damage by 50%, but
ammo will no longer spawn`, maxCount: 1, count: 0, allowed() { @@ -420,7 +420,7 @@ const mod = { }, { name: "ammonium nitrate", - description: "increase explosive area by 60%, but
you take 300% more harm from explosions", + description: "increase explosive area by 100%, but
you take 400% more harm from explosions", maxCount: 1, count: 0, allowed() { @@ -1217,7 +1217,7 @@ const mod = { }, { name: "stimulated emission", - description: "8% chance to duplicate spawned power ups", + description: "9% chance to duplicate spawned power ups", maxCount: 9, count: 0, allowed() { @@ -1225,12 +1225,12 @@ const mod = { }, requires: "", effect: () => { - mod.duplicateChance += 0.08 + mod.duplicateChance += 0.09 game.draw.powerUp = game.draw.powerUpBonus //change power up draw }, remove() { - mod.duplicateChance -= 0.08 * this.count + mod.duplicateChance -= 0.09 * this.count if (!mod.duplicateChance) game.draw.powerUp = game.draw.powerUpNormal } }, @@ -2220,8 +2220,8 @@ const mod = { }, { name: "thermoelectric effect", - description: "killing mobs with ice IX gives 3% health
and overfills your energy by 66%", - maxCount: 3, + description: "killing mobs with ice IX gives 4% health
and overloads energy by 100% of your max", + maxCount: 9, count: 0, allowed() { return (mod.haveGunCheck("ice IX") || mod.isIceField) && !mod.isHeavyWater @@ -2660,7 +2660,7 @@ const mod = { }, { name: "pair production", - description: "power ups overfill your energy
temporarily gain 3x your maximum energy", + description: "power ups overload your energy
by 300% of your maximum energy", maxCount: 1, count: 0, allowed() { diff --git a/todo.txt b/todo.txt index 444b7ea..9ac30d1 100644 --- a/todo.txt +++ b/todo.txt @@ -1,8 +1,20 @@ -ice IX mod: thermoelectric effect - when ice IX kills a mob heal 3% and regen 66% energy + + +ice IX thermoelectric energy 66% -> 100%, heal 3%->4% + ************** TODO - n-gon ************** -all explosions based guns seem weak, buff damage? +redo key press around e.key + https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent + +time dilation mod rework brain storm + take no damage + can fire + 2x move jump fire while field is active + 33% move jump fire always + + vacuum bomb applies status effect to mobs that makes blocks attracted to them