elephant's toothpaste
elephant's toothpaste: mines make foam sentry fires about 40% faster but each shot slightly reduces the total duration (duration = 17s - 1/10 s per shot) foam can move through blocks a bit faster laser reflection damage is increased about 15% -> 8% damage loss per reflection beetleBoss pushes player away and spawns baby flutter mobs fire rate affects block throwing charge rate
This commit is contained in:
62
js/tech.js
62
js/tech.js
@@ -498,7 +498,7 @@ const tech = {
|
||||
for (let i = 0; i < 7; i++) powerUps.spawn(m.pos.x + 10 * Math.random(), m.pos.y + 10 * Math.random(), "gun");
|
||||
},
|
||||
remove() {
|
||||
tech.isGunCycle = false;
|
||||
if (!this.count) tech.isGunCycle = false; // only set to false if you don't have this tech
|
||||
// if (tech.isGunCycle) {
|
||||
// for (let i = 0; i < 8; i++) {
|
||||
// if (b.inventory.length) b.removeGun(b.guns[b.inventory[b.inventory.length - 1]].name) //remove your last gun
|
||||
@@ -3880,7 +3880,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.isMineDrop + tech.isNailBotUpgrade + tech.fragments + tech.nailsDeathMob + (tech.haveGunCheck("super balls") + (tech.haveGunCheck("mine") && !tech.isLaserMine) + (tech.haveGunCheck("nail gun")) + tech.isNeedles + tech.isNailShot + tech.isRivets) * 2 > 1
|
||||
return tech.isMineDrop + tech.isNailBotUpgrade + tech.fragments + tech.nailsDeathMob + (tech.haveGunCheck("super balls") + (tech.haveGunCheck("mine") && !(tech.isLaserMine || tech.isFoamMine)) + (tech.haveGunCheck("nail gun")) + tech.isNeedles + tech.isNailShot + tech.isRivets) * 2 > 1
|
||||
},
|
||||
requires: "nails, nail gun, rivets, shotgun",
|
||||
effect() {
|
||||
@@ -3900,7 +3900,7 @@ const tech = {
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
// return (tech.haveGunCheck("nail gun") && !tech.isRivets && !tech.isNeedles) || (tech.haveGunCheck("mines"))
|
||||
return tech.isMineDrop || tech.isNailBotUpgrade || tech.fragments || tech.nailsDeathMob || (tech.haveGunCheck("mine") && !tech.isLaserMine) || (tech.haveGunCheck("nail gun") && !tech.isRivets && !tech.isNeedles) || (tech.haveGunCheck("shotgun") && (tech.isNeedles || tech.isNailShot))
|
||||
return tech.isMineDrop || tech.isNailBotUpgrade || tech.fragments || tech.nailsDeathMob || (tech.haveGunCheck("mine") && !(tech.isLaserMine || tech.isFoamMine)) || (tech.haveGunCheck("nail gun") && !tech.isRivets && !tech.isNeedles) || (tech.haveGunCheck("shotgun") && (tech.isNeedles || tech.isNailShot))
|
||||
},
|
||||
//
|
||||
requires: "nail gun, not rotary cannon, rivets, or needles",
|
||||
@@ -4052,7 +4052,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.isMineDrop || tech.isNailBotUpgrade || tech.fragments || tech.nailsDeathMob || (tech.haveGunCheck("mine") && !tech.isLaserMine) || (tech.haveGunCheck("nail gun") && !tech.isShieldPierce) || (tech.haveGunCheck("shotgun") && (tech.isNeedles || tech.isNailShot))
|
||||
return tech.isMineDrop || tech.isNailBotUpgrade || tech.fragments || tech.nailsDeathMob || (tech.haveGunCheck("mine") && !(tech.isLaserMine || tech.isFoamMine)) || (tech.haveGunCheck("nail gun") && !tech.isShieldPierce) || (tech.haveGunCheck("shotgun") && (tech.isNeedles || tech.isNailShot))
|
||||
},
|
||||
requires: "nail gun, nails, rivets, mine, not ceramic needles",
|
||||
effect() {
|
||||
@@ -4065,7 +4065,7 @@ const tech = {
|
||||
{
|
||||
name: "6s half-life",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Half-life' class="link">6s half-life</a>`,
|
||||
description: "<strong>nails</strong> are made of <strong class='color-p'>plutonium-238</strong><br><strong>+100%</strong> <strong class='color-d'>damage</strong> over <strong>6</strong> seconds",
|
||||
description: "<span style = 'font-size:90%;'><strong>nails</strong>, <strong>needles</strong>, <strong>rivets</strong> are made of <strong class='color-p'>plutonium-238</strong></span><br><strong class='color-p'>radioactive</strong> <strong class='color-d'>damage</strong> lasts <strong>+3</strong> seconds",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -4085,7 +4085,7 @@ const tech = {
|
||||
{
|
||||
name: "1s half-life",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Half-life' class="link">1s half-life</a>`,
|
||||
description: "<strong>nails</strong> are made of <strong class='color-p'>lithium-8</strong><br><strong class='color-d'>damage</strong> occurs after <strong>1</strong> second",
|
||||
description: "<span style = 'font-size:95%;'><strong>nails</strong>, <strong>needles</strong>, <strong>rivets</strong> are made of <strong class='color-p'>lithium-8</strong><br><strong>+300%</strong> <strong class='color-p'>radioactive</strong> <strong class='color-d'>damage</strong> for <strong>1</strong> second</span>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5144,6 +5144,25 @@ const tech = {
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "elephant's toothpaste",
|
||||
description: "<strong>mines</strong> catalyze a reaction<br>that yields <strong>foam</strong> bubbles",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("mine") && !tech.isMineSentry
|
||||
},
|
||||
requires: "mines, not sentry",
|
||||
effect() {
|
||||
tech.isFoamMine = true;
|
||||
},
|
||||
remove() {
|
||||
tech.isFoamMine = false;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "laser-mines",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Laser' class="link">laser-mines</a>`,
|
||||
@@ -5173,9 +5192,9 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("mine")
|
||||
return tech.haveGunCheck("mine") && !tech.isFoamMine
|
||||
},
|
||||
requires: "mines",
|
||||
requires: "mines, not elephant's toothpaste",
|
||||
effect() {
|
||||
tech.isMineSentry = true;
|
||||
},
|
||||
@@ -5285,7 +5304,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "siphonaptera",
|
||||
description: "<strong>shotgun</strong> and <strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> hatch <strong class='color-p' style='letter-spacing: -0.8px;'>fleas</strong>", //<br><strong class='color-p' style='letter-spacing: 2px;'>spore</strong> <strong class='color-m'>tech</strong> applies to <strong class='color-p' style='letter-spacing: -0.8px;'>fleas</strong>
|
||||
description: "<strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> and <strong>shotgun</strong> hatch <strong class='color-p' style='letter-spacing: -0.8px;'>fleas</strong>", //<br><strong class='color-p' style='letter-spacing: 2px;'>spore</strong> <strong class='color-m'>tech</strong> applies to <strong class='color-p' style='letter-spacing: -0.8px;'>fleas</strong>
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5621,7 +5640,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return !tech.isBulletTeleport && (tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall)
|
||||
return !tech.isBulletTeleport && (tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall || tech.isFoamMine)
|
||||
},
|
||||
requires: "foam, not uncertainty",
|
||||
effect() {
|
||||
@@ -5640,7 +5659,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return (!tech.isFoamAttract && (tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall)) || (tech.haveGunCheck("matter wave") && !tech.isLongitudinal)
|
||||
return (!tech.isFoamAttract && (tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall || tech.isFoamMine)) || (tech.haveGunCheck("matter wave") && !tech.isLongitudinal)
|
||||
},
|
||||
requires: "foam, matter wave, not electrostatic induction, not phonon",
|
||||
effect() {
|
||||
@@ -5659,7 +5678,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBall || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isSporeWorm || tech.isSporeFlea
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBall || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isSporeWorm || tech.isSporeFlea || tech.isFoamMine
|
||||
},
|
||||
requires: "foam, worms",
|
||||
effect() {
|
||||
@@ -5678,7 +5697,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall || tech.isFoamMine
|
||||
},
|
||||
requires: "foam",
|
||||
effect() {
|
||||
@@ -5699,7 +5718,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall
|
||||
return tech.haveGunCheck("foam") || tech.isFoamBotUpgrade || tech.isFoamShot || tech.isFoamBall || tech.isFoamMine
|
||||
},
|
||||
requires: "foam",
|
||||
effect() {
|
||||
@@ -5882,7 +5901,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.isGrapple && !tech.isRailEnergyGain
|
||||
return tech.haveGunCheck("harpoon") && tech.isGrapple && !tech.isRailEnergy
|
||||
},
|
||||
requires: "grappling hook, not alternator",
|
||||
effect() {
|
||||
@@ -5905,10 +5924,10 @@ const tech = {
|
||||
},
|
||||
requires: "harpoon, not bulk modulus",
|
||||
effect() {
|
||||
tech.isRailEnergyGain = true;
|
||||
tech.isRailEnergy = true;
|
||||
},
|
||||
remove() {
|
||||
tech.isRailEnergyGain = false;
|
||||
tech.isRailEnergy = false;
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -6170,7 +6189,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.isLaserLens
|
||||
return tech.haveGunCheck("laser") && tech.isLaserLens
|
||||
},
|
||||
requires: "lens",
|
||||
effect() {
|
||||
@@ -6259,7 +6278,7 @@ const tech = {
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
allowed() {
|
||||
return tech.isWideLaser
|
||||
return tech.haveGunCheck("laser") && tech.isWideLaser
|
||||
},
|
||||
requires: "laser gun, diffuse beam",
|
||||
effect() {
|
||||
@@ -6648,7 +6667,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "dynamic equilibrium",
|
||||
descriptionFunction() { return `increase <strong class='color-d'>damage</strong> by your <strong class='color-defense'>defense</strong> times<br><strong>5%</strong> of your last ${tech.isEnergyHealth ? "<strong class='color-f'>energy</strong>" : "<strong class='color-h'>health</strong>"} loss <em style = 'font-size:94%;'>(+${(100*tech.lastHitDamage * m.lastHit * (2 - m.harmReduction())).toFixed(0)}% damage)</em>` }, // = <strong>+${10*m.harmReduction()}%</strong>
|
||||
descriptionFunction() { return `increase <strong class='color-d'>damage</strong> by your <strong class='color-defense'>defense</strong> and<br><strong>5%</strong> of your last ${tech.isEnergyHealth ? "<strong class='color-f'>energy</strong>" : "<strong class='color-h'>health</strong>"} loss <em style = 'font-size:94%;'>(+${(100*tech.lastHitDamage * m.lastHit * (2 - m.harmReduction())).toFixed(0)}% damage)</em>` }, // = <strong>+${10*m.harmReduction()}%</strong>
|
||||
// descriptionFunction() { return `increase <strong class='color-d'>damage</strong> by your last ${tech.isEnergyHealth ? "<strong class='color-f'>energy</strong>" : "<strong class='color-h'>health</strong>"} loss<br><strong style = 'font-size:90%;'>(${(tech.lastHitDamage).toFixed(0)}%)(${(100*m.lastHit).toFixed(0)} ${tech.isEnergyHealth ? "<strong class='color-f'>energy</strong>" : "<strong class='color-h'>health</strong>"})(${2 - m.harmReduction()} <strong class='color-defense'>defense</strong>) = ${(100*tech.lastHitDamage * m.lastHit * (2 - m.harmReduction())).toFixed(0)}% <strong class='color-d'>damage</strong></strong> ` }, // = <strong>+${10*m.harmReduction()}%</strong>
|
||||
isFieldTech: true,
|
||||
maxCount: 9,
|
||||
@@ -10335,7 +10354,7 @@ const tech = {
|
||||
isPulseLaser: null,
|
||||
isRadioactive: null,
|
||||
radioactiveDamage: null,
|
||||
isRailEnergyGain: null,
|
||||
isRailEnergy: null,
|
||||
isMineSentry: null,
|
||||
isIncendiary: null,
|
||||
overfillDrain: null,
|
||||
@@ -10360,6 +10379,7 @@ const tech = {
|
||||
isMissileBig: null,
|
||||
isMissileBiggest: null,
|
||||
isLaserMine: null,
|
||||
isFoamMine: null,
|
||||
isAmmoFoamSize: null,
|
||||
isIceIX: null,
|
||||
isDupDamage: null,
|
||||
|
||||
Reference in New Issue
Block a user