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