diff --git a/js/index.js b/js/index.js
index e609531..2569d9d 100644
--- a/js/index.js
+++ b/js/index.js
@@ -276,10 +276,23 @@ const build = {
const modID = document.getElementById("mod-" + i)
if (!mod.mods[i].isCustomHide) {
if (mod.mods[i].allowed() || isAllowed || mod.mods[i].count > 0) {
- if (mod.mods[i].count > 1) {
- modID.innerHTML = `
${mod.mods[i].name} (${mod.mods[i].count}x)
${mod.mods[i].description}`
+ const isCount = mod.mods[i].count > 1 ? `(${mod.mods[i].count}x)` : "";
+ if (mod.mods[i].isFieldMod) {
+ modID.innerHTML = `
+
+
+
+
+ ${mod.mods[i].name} ${isCount}
${mod.mods[i].description}`
+ } else if (mod.mods[i].isGunMod) {
+ modID.innerHTML = `
+
+
+
+
+ ${mod.mods[i].name} ${isCount}
${mod.mods[i].description}`
} else {
- modID.innerHTML = `${mod.mods[i].description}`
+ modID.innerHTML = ` ${mod.mods[i].name} ${isCount}
${mod.mods[i].description}`
}
if (modID.classList.contains("build-grid-disabled")) {
@@ -347,7 +360,14 @@ const build = {
} else if (mod.mods[i].count > 1) {
text += ` ${mod.mods[i].name} (${mod.mods[i].count}x)
${mod.mods[i].description}
`
} else {
+
+
+
text += ` ${mod.mods[i].description}
`
+
+
+
+
}
}
}
diff --git a/js/level.js b/js/level.js
index c857530..c7ff0a9 100644
--- a/js/level.js
+++ b/js/level.js
@@ -16,9 +16,9 @@ const level = {
// level.difficultyIncrease(19)
// game.zoomScale = 1000;
// game.setZoom();
- mech.setField("plasma torch")
+ // mech.setField("plasma torch")
// b.giveGuns("wave beam")
- mod.giveMod("micro-extruder")
+ // mod.giveMod("micro-extruder")
// for (let i = 0; i < 15; i++) mod.giveMod("supply chain")
diff --git a/js/mods.js b/js/mods.js
index 0188f40..d8dde88 100644
--- a/js/mods.js
+++ b/js/mods.js
@@ -106,7 +106,7 @@ const mod = {
if (mod.isEnergyLoss) dmg *= 1.5;
if (mod.isAcidDmg && mech.health > 1) dmg *= 1.4;
if (mod.restDamage > 1 && player.speed < 1) dmg *= mod.restDamage
- if (mod.isEnergyDamage) dmg *= 1 + mech.energy / 8;
+ if (mod.isEnergyDamage) dmg *= 1 + mech.energy / 9;
if (mod.isDamageFromBulletCount) dmg *= 1 + bullet.length * 0.0038
if (mod.isRerollDamage) dmg *= 1 + 0.04 * powerUps.reroll.rerolls
if (mod.isOneGun && b.inventory.length < 2) dmg *= 1.25
@@ -122,8 +122,8 @@ const mod = {
return mod.foamBotCount + mod.nailBotCount + mod.laserBotCount + mod.boomBotCount + mod.plasmaBotCount + mod.orbitBotCount
},
mods: [{
- name: "capacitor",
- description: "increase damage by 1%
for every 8 stored energy",
+ name: "electrolytes",
+ description: "increase damage by 1%
for every 9 stored energy",
maxCount: 1,
count: 0,
allowed() {
@@ -1054,7 +1054,7 @@ const mod = {
},
{
name: "supercapacitor",
- description: "energy above your max decays 66% slower",
+ description: "energy above your max decays 60% slower",
maxCount: 1,
count: 0,
allowed() {
@@ -1062,10 +1062,10 @@ const mod = {
},
requires: "a source of overfilled energy",
effect() {
- mod.overfillDrain = 0.933
+ mod.overfillDrain = 0.85
},
remove() {
- mod.overfillDrain = 0.8
+ mod.overfillDrain = 0.75
}
},
{
@@ -1923,6 +1923,7 @@ const mod = {
{
name: "incendiary ammunition",
description: "bullets are loaded with explosives
nail gun, shotgun, super balls, drones",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -1939,6 +1940,7 @@ const mod = {
{
name: "Lorentzian topology",
description: "bullets last 30% longer
drones, spores, missiles, foam, wave, ice IX, neutron",
+ isGunMod: true,
maxCount: 3,
count: 0,
allowed() {
@@ -1955,6 +1957,7 @@ const mod = {
{
name: "microstates",
description: "increase damage by 4%
for every 10 active bullets",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -1971,6 +1974,7 @@ const mod = {
{
name: "ice crystal nucleation",
description: "the nail gun uses energy to condense
unlimited freezing ice shards",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2006,6 +2010,7 @@ const mod = {
{
name: "critical bifurcation",
description: "nails do 400% more damage
when they strike near the center of a mob",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2022,6 +2027,7 @@ const mod = {
{
name: "pneumatic actuator",
description: "nail gun takes 45% less time to ramp up
to it's shortest delay after firing",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2038,6 +2044,7 @@ const mod = {
{
name: "powder-actuated",
description: "nail gun takes no time to ramp up
nails have a 30% faster muzzle speed",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2054,6 +2061,7 @@ const mod = {
{
name: "shotgun spin-statistics",
description: "immune to harm while firing the shotgun
ammo costs are doubled",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2092,6 +2100,7 @@ const mod = {
{
name: "nailshot",
description: "the shotgun fires a burst of nails",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2108,6 +2117,7 @@ const mod = {
{
name: "shotgun slug",
description: "the shotgun fires 1 large bullet",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2124,6 +2134,7 @@ const mod = {
{
name: "Newton's 3rd law",
description: "the shotgun fire delay is 66% faster
recoil is greatly increased",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2140,6 +2151,7 @@ const mod = {
{
name: "super duper",
description: "fire 1 additional super ball",
+ isGunMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -2156,6 +2168,7 @@ const mod = {
{
name: "super ball",
description: "fire just 1 large super ball
that stuns mobs for 3 second",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2172,8 +2185,9 @@ const mod = {
{
name: "super sized",
description: `your super balls are 20% larger
increases mass and physical damage`,
- count: 0,
+ isGunMod: true,
maxCount: 9,
+ count: 0,
allowed() {
return mod.haveGunCheck("super balls")
},
@@ -2188,6 +2202,7 @@ const mod = {
{
name: "flechettes cartridges",
description: "flechettes release three needles in each shot
ammo costs are tripled",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2234,6 +2249,7 @@ const mod = {
{
name: "6s half-life",
description: "flechette needles made of plutonium-238
increase damage by 100% over 6 seconds",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2250,6 +2266,7 @@ const mod = {
{
name: "1/2s half-life",
description: "flechette needles made of lithium-8
flechette damage occurs after 1/2 a second",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2266,6 +2283,7 @@ const mod = {
{
name: "supercritical fission",
description: "flechettes can explode
if they strike mobs near their center",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2282,6 +2300,7 @@ const mod = {
{
name: "radioactive contamination",
description: "after a mob or shield dies,
leftover radiation spreads to a nearby mob",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2298,6 +2317,7 @@ const mod = {
{
name: "piercing needles",
description: "needles penetrate mobs and blocks
potentially hitting multiple targets",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2314,6 +2334,7 @@ const mod = {
{
name: "wave packet",
description: "wave beam emits two oscillating particles
decrease wave damage by 20%",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2330,6 +2351,7 @@ const mod = {
{
name: "phase velocity",
description: "the wave beam propagates faster in solids",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2348,6 +2370,7 @@ const mod = {
{
name: "bound state",
description: "wave beam bullets last 5x longer
bullets are bound to a region around player",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2364,6 +2387,7 @@ const mod = {
{
name: "recursion",
description: "after missiles explode they have a
20% chance to launch a larger missile",
+ isGunMod: true,
maxCount: 6,
count: 0,
allowed() {
@@ -2380,6 +2404,7 @@ const mod = {
{
name: "MIRV",
description: "launch 3 small missiles instead of 1
1.5x increase in delay after firing",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2396,6 +2421,7 @@ const mod = {
{
name: "rocket-propelled grenade",
description: "grenades rapidly accelerate forward
map collisions trigger an explosion",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2414,6 +2440,7 @@ const mod = {
{
name: "vacuum bomb",
description: "grenades fire slower, explode bigger
and, suck everything towards them",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2432,6 +2459,7 @@ const mod = {
{
name: "neutron bomb",
description: "grenades are irradiated with Cf-252
does damage, harm, and drains energy",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2450,6 +2478,7 @@ const mod = {
{
name: "water shielding",
description: "increase neutron bomb's range by 20%
player is immune to its harmful effects",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2466,6 +2495,7 @@ const mod = {
{
name: "vacuum permittivity",
description: "increase neutron bomb's range by 20%
objects in range of the bomb are slowed",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2482,6 +2512,7 @@ const mod = {
{
name: "mine reclamation",
description: "retrieve ammo from all undetonated mines
and 20% of mines after detonation",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2498,6 +2529,7 @@ const mod = {
{
name: "sentry",
description: "mines are modified to target mobs with nails
mines last about 12 seconds",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2514,6 +2546,7 @@ const mod = {
{
name: "irradiated nails",
description: "nails are made with a cobalt-60 alloy
85% radioactive damage over 2 seconds",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2530,6 +2563,7 @@ const mod = {
{
name: "railroad ties",
description: "nails are 50% larger
increases physical damage by about 25%",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2546,6 +2580,7 @@ const mod = {
{
name: "mycelial fragmentation",
description: "sporangium release an extra spore
once a second during their growth phase",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2562,6 +2597,7 @@ const mod = {
{
name: "tinsellated flagella",
description: "sporangium release 2 more spores
spores accelerate 50% faster",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2579,6 +2615,7 @@ const mod = {
name: "cryodesiccation",
description: "sporangium release 2 more spores
spores freeze mobs for 1 second",
//
spores do 1/3 damage
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2595,6 +2632,7 @@ const mod = {
{
name: "diplochory",
description: "spores use the player for dispersal
until they locate a viable host",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2611,6 +2649,7 @@ const mod = {
{
name: "mutualism",
description: "increase spore damage by 100%
spores borrow 0.5 health until they die",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2627,6 +2666,7 @@ const mod = {
{
name: "brushless motor",
description: "drones accelerate 50% faster",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2643,6 +2683,7 @@ const mod = {
{
name: "harvester",
description: "after a drone picks up a power up,
it's larger, faster, and very durable",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2659,6 +2700,7 @@ const mod = {
{
name: "superfluidity",
description: "freeze effects apply to mobs near it's target",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2675,6 +2717,7 @@ const mod = {
{
name: "heavy water",
description: "ice IX is synthesized with an extra neutron
does radioactive damage over 5 seconds",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2691,6 +2734,7 @@ const mod = {
{
name: "thermoelectric effect",
description: "killing mobs with ice IX gives 4 health
and overloads energy by 100",
+ isGunMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -2707,6 +2751,7 @@ const mod = {
{
name: "necrophoresis",
description: "foam bullets grow and split into 3 copies
when the mob they are stuck to dies",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2723,6 +2768,7 @@ const mod = {
{
name: "colloidal foam",
description: "increase foam damage by 200%
foam dissipates 40% faster",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2773,6 +2819,7 @@ const mod = {
{
name: "half-wave rectifier",
description: "charging the rail gun overfills your energy
instead of draining it",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2789,6 +2836,7 @@ const mod = {
{
name: "dielectric polarization",
description: "firing the rail gun damages nearby mobs",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2805,6 +2853,7 @@ const mod = {
{
name: "capacitor bank",
description: "the rail gun no longer takes time to charge
rail gun rods are 66% less massive",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2821,6 +2870,7 @@ const mod = {
{
name: "laser diodes",
description: "lasers drain 37% less energy
effects laser-gun and laser-bot",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2837,6 +2887,7 @@ const mod = {
{
name: "specular reflection",
description: "laser beams gain 1 reflection
increase damage and energy drain by 50%",
+ isGunMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -2857,6 +2908,7 @@ const mod = {
{
name: "diffraction grating",
description: `your laser gains 2 diverging beams
decrease individual beam damage by 10%`,
+ isGunMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -2879,6 +2931,7 @@ const mod = {
{
name: "diffuse beam",
description: "laser beam is wider and doesn't reflect
increase full beam damage by 175%",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2903,6 +2956,7 @@ const mod = {
{
name: "output coupler",
description: "widen diffuse laser beam by 40%
increase full beam damage by 40%",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2929,6 +2983,7 @@ const mod = {
{
name: "slow light propagation",
description: "",
+ isGunMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -2953,6 +3008,7 @@ const mod = {
{
name: "pulse",
description: "convert 25% of your energy into a pulsed laser
instantly initiates a fusion explosion",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2975,6 +3031,7 @@ const mod = {
{
name: "shock wave",
description: "mobs caught in pulse's explosion are stunned
for up to 2 seconds",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -2991,6 +3048,7 @@ const mod = {
{
name: "neocognitron",
description: "pulse automatically aims at a nearby mob
50% decreased delay after firing",
+ isGunMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3011,6 +3069,7 @@ const mod = {
{
name: "bremsstrahlung radiation",
description: "blocking with standing wave harmonics
does damage to mobs",
+ isFieldMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -3027,6 +3086,7 @@ const mod = {
{
name: "frequency resonance",
description: "standing wave harmonics shield is retuned
increase size and blocking efficiency by 40%",
+ isFieldMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -3045,6 +3105,7 @@ const mod = {
{
name: "flux pinning",
description: "blocking with perfect diamagnetism
stuns mobs for +1 second",
+ isFieldMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -3061,6 +3122,7 @@ const mod = {
{
name: "eddy current brake",
description: "your stored energy projects a field that
limits the top speed of mobs",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3077,6 +3139,7 @@ const mod = {
{
name: "fracture analysis",
description: "bullet impacts do 400% damage
to stunned mobs",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3093,6 +3156,7 @@ const mod = {
{
name: "pair production",
description: "power ups overfill your energy by 300",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3110,6 +3174,7 @@ const mod = {
{
name: "bot manufacturing",
description: "use nano-scale manufacturing
to build 3 random bots",
+ isFieldMod: true,
maxCount: 1,
count: 0,
isNonRefundable: true,
@@ -3129,6 +3194,7 @@ const mod = {
{
name: "bot prototypes",
description: "use nano-scale manufacturing to upgrade
all bots of a random type and build 2 of that bot",
+ isFieldMod: true,
maxCount: 1,
count: 0,
isNonRefundable: true,
@@ -3189,6 +3255,7 @@ const mod = {
{
name: "mycelium manufacturing",
description: "nano-scale manufacturing is repurposed
excess energy used to grow spores",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3205,6 +3272,7 @@ const mod = {
{
name: "missile manufacturing",
description: "nano-scale manufacturing is repurposed
excess energy used to construct missiles",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3221,6 +3289,7 @@ const mod = {
{
name: "ice IX manufacturing",
description: "nano-scale manufacturing is repurposed
excess energy used to synthesize ice IX",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3237,6 +3306,7 @@ const mod = {
{
name: "degenerate matter",
description: "reduce harm by 40%
while negative mass field is active",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3253,6 +3323,7 @@ const mod = {
{
name: "annihilation",
description: "after touching mobs, they are annihilated
drains 33% of maximum energy",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3269,6 +3340,7 @@ const mod = {
{
name: "Bose Einstein condensate",
description: "mobs inside your field are frozen
pilot wave, negative mass, time dilation",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3285,6 +3357,7 @@ const mod = {
{
name: "plasma jet",
description: "increase plasma torch's range by 27%",
+ isFieldMod: true,
maxCount: 9,
count: 0,
allowed() {
@@ -3301,6 +3374,7 @@ const mod = {
{
name: "plasma-bot",
description: "a bot uses energy to emit plasma
that damages and pushes mobs",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3318,6 +3392,7 @@ const mod = {
{
name: "micro-extruder",
description: "plasma torch ejects a thin hot wire
increases damage, and energy drain",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3334,6 +3409,7 @@ const mod = {
{
name: "timelike world line",
description: "time dilation doubles your relative time rate
and makes you immune to harm",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3352,6 +3428,7 @@ const mod = {
{
name: "Lorentz transformation",
description: "permanently increase your relative time rate
move, jump, and shoot 40% faster",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3374,6 +3451,7 @@ const mod = {
{
name: "time crystals",
description: "quadruple your default energy regeneration",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3392,6 +3470,7 @@ const mod = {
{
name: "phase decoherence",
description: "become intangible while cloaked
but, passing through mobs drains your energy",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3408,6 +3487,7 @@ const mod = {
{
name: "dazzler",
description: "decloaking stuns nearby mobs
drains 30% of your stored energy",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3424,6 +3504,7 @@ const mod = {
{
name: "discrete optimization",
description: "increase damage by 50%
50% increased delay after firing",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3442,6 +3523,7 @@ const mod = {
{
name: "cosmic string",
description: "stun and do radioactive damage to mobs
if you tunnel through them with a wormhole",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3458,6 +3540,7 @@ const mod = {
{
name: "Penrose process",
description: "after a block falls into a wormhole
your energy overfills by 50",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3474,6 +3557,7 @@ const mod = {
{
name: "transdimensional spores",
description: "when blocks fall into a wormhole
higher dimension spores are summoned",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
@@ -3490,6 +3574,7 @@ const mod = {
{
name: "traversable geodesics",
description: "your bullets can traverse wormholes
spawn a gun and ammo",
+ isFieldMod: true,
maxCount: 1,
count: 0,
allowed() {
diff --git a/todo.txt b/todo.txt
index 1f7fd50..5fde8f4 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,8 +1,5 @@
******************************************************** NEXT PATCH ********************************************************
-extruder: leftovers still exist when field isn't active
- range and damage are all slightly decreased
- energy drain is greatly increased
******************************************************** BUGS ********************************************************
@@ -39,6 +36,7 @@ mod and mob are too similar
******************************************************** TODO ********************************************************
+consider making gun color more blue and less dark
color/highlight field or gun mods in selection menu (or custom)
to show that they are special