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