diff --git a/js/mods.js b/js/mods.js index c3684d7..a7ed635 100644 --- a/js/mods.js +++ b/js/mods.js @@ -63,6 +63,15 @@ const mod = { // }, haveGunCheck(name) { + if ( + !build.isCustomSelection && + b.inventory.length > 2 && + name !== b.guns[b.activeGun].name && + Math.random() < -0.1 + 0.1 * (b.inventory.length + mod.isGunCycle * 2) //lower chance of mods specific to a gun if you have lots of guns + ) { + return false + } + for (i = 0, len = b.inventory.length; i < len; i++) { if (b.guns[b.inventory[i]].name === name) return true } @@ -70,7 +79,7 @@ const mod = { }, damageFromMods() { let dmg = 1 - if (mod.isDamageForGuns) dmg *= 1 + 0.07 * b.inventory.length + if (mod.isDamageForGuns) dmg *= 1 + 0.066 * b.inventory.length if (mod.isLowHealthDmg) dmg *= 1 + 0.5 * Math.max(0, 1 - mech.health) if (mod.isHarmDamage && mech.lastHarmCycle + 600 > mech.cycle) dmg *= 2; if (mod.isEnergyLoss) dmg *= 1.33; @@ -751,32 +760,6 @@ const mod = { mod.isHarmFreeze = false; } }, - { - name: "entanglement", - nameInfo: "", - addNameInfo() { - setTimeout(function () { - game.boldActiveGunHUD(); - }, 1000); - }, - description: "while your first gun is equipped
reduce harm by 13% for each of your guns", - maxCount: 1, - count: 0, - allowed() { - return b.inventory.length > 1 && !mod.isEnergyHealth - }, - requires: "at least 2 guns", - effect() { - mod.isEntanglement = true - setTimeout(function () { - game.boldActiveGunHUD(); - }, 1000); - - }, - remove() { - mod.isEntanglement = false; - } - }, { name: "piezoelectricity", description: "colliding with mobs fills your energy
15% less harm from mob collisions", @@ -1057,9 +1040,35 @@ const mod = { mod.bayesian = 0; } }, + { + name: "entanglement", + nameInfo: "", + addNameInfo() { + setTimeout(function () { + game.boldActiveGunHUD(); + }, 1000); + }, + description: "while your first gun is equipped
reduce harm by 13% for each of your guns", + maxCount: 1, + count: 0, + allowed() { + return b.inventory.length > 1 && !mod.isEnergyHealth + }, + requires: "at least 2 guns", + effect() { + mod.isEntanglement = true + setTimeout(function () { + game.boldActiveGunHUD(); + }, 1000); + + }, + remove() { + mod.isEntanglement = false; + } + }, { name: "arsenal", - description: "increase damage by 7%
for each gun in your inventory", + description: "increase damage by 6.6%
for each gun in your inventory", maxCount: 1, count: 0, allowed() { @@ -1075,7 +1084,7 @@ const mod = { }, { name: "generalist", - description: "spawn 3 gun, but you can't switch guns
automatically cycle guns with each new level", + description: "spawn 5 guns, but you can't switch guns
guns cycle automatically with each new level", maxCount: 1, count: 0, isNonRefundable: true, @@ -1085,7 +1094,7 @@ const mod = { requires: "arsenal", effect() { mod.isGunCycle = true; - for (let i = 0; i < 3; i++) { + for (let i = 0; i < 5; i++) { powerUps.spawn(mech.pos.x, mech.pos.y, "gun"); if (Math.random() < mod.bayesian) powerUps.spawn(mech.pos.x, mech.pos.y, "gun"); } diff --git a/todo.txt b/todo.txt index 4a66d1b..88bb1f1 100644 --- a/todo.txt +++ b/todo.txt @@ -1,14 +1,7 @@ -In the first 4 levels: added a much higher chance of getting a second gun - or extra ammo if you don't get a second gun - -mod - arsenal: +7% damage for each gun in your inventory - -mod- generalist: spawn 2 guns, but you can't switch guns - at the start of each level switch guns - requires arsenal - ************** TODO - n-gon ************** +Mod: "Instant Acceleration": Minigun instantly starts firing at max fire rate, skipping the accelerated fire rate stage. + level Boss: fractal SierpiƄski triangle https://en.wikipedia.org/wiki/Sierpi%C5%84ski_triangle spawns a 1/2 size version of the boss, this version can also spawn a smaller version, but it is capped at some size level