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].name}
${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].name}
${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