symbiosis

metamaterial cloaking field 300% -> 333% damage
no-cloning theorem 43% -> 50% duplication
symbiosis lose 2% -> 1% max health
This commit is contained in:
landgreen
2021-09-26 19:11:56 -07:00
parent 4df06fcfc6
commit e39bc7c0fc
7 changed files with 88 additions and 40 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -109,8 +109,8 @@ const level = {
simulation.makeTextLog(`tech.isFlipFlopOn <span class='color-symbol'>=</span> true`);
}
if (tech.isSpawnExitTech) {
// for (let i = 0; i < 2; i++) powerUps.spawn(level.exit.x + 10 * (Math.random() - 0.5), level.exit.y - 100 + 10 * (Math.random() - 0.5), "tech", false) //exit
for (let i = 0; i < 2; i++) powerUps.spawn(player.position.x + 90 * (Math.random() - 0.5), player.position.y + 90 * (Math.random() - 0.5), "tech", false); //start
for (let i = 0; i < 2; i++) powerUps.spawn(level.exit.x + 10 * (Math.random() - 0.5), level.exit.y - 100 + 10 * (Math.random() - 0.5), "tech", false) //exit
// for (let i = 0; i < 2; i++) powerUps.spawn(player.position.x + 90 * (Math.random() - 0.5), player.position.y + 90 * (Math.random() - 0.5), "tech", false); //start
}
},
custom() {},

View File

@@ -1140,14 +1140,31 @@ const mobs = {
bullet[bullet.length - 1].endCycle = simulation.cycle + 840 //14 seconds
this.leaveBody = false; // no body since it turned into the bot
}
if (tech.isAddRemoveMaxHealth) {
if (this.isBoss) {
for (let i = 0; i < 2; i++) powerUps.spawn(this.position.x, this.position.y, "tech", false) //exit
} else {
const amount = 0.01
if (tech.isEnergyHealth) {
if (m.maxEnergy > amount) {
tech.healMaxEnergyBonus -= amount
m.setMaxEnergy();
}
} else if (m.maxHealth > amount) {
tech.extraMaxHealth -= amount //decrease max health
m.setMaxHealth();
}
}
}
if (tech.removeMaxHealthOnKill) {
const amount = 0.002
if (tech.isEnergyHealth) {
if (m.maxEnergy > tech.removeMaxHealthOnKill) {
tech.healMaxEnergyBonus -= tech.removeMaxHealthOnKill
if (m.maxEnergy > amount) {
tech.healMaxEnergyBonus -= amount
m.setMaxEnergy();
}
} else if (m.maxHealth > tech.removeMaxHealthOnKill) {
tech.extraMaxHealth -= tech.removeMaxHealthOnKill //decrease max health
} else if (m.maxHealth > amount) {
tech.extraMaxHealth -= amount //decrease max health
m.setMaxHealth();
}
}

View File

@@ -2219,9 +2219,9 @@ const m = {
for (let i = 0; i < inPlayer.length; i++) {
if (m.energy > 0) {
if (inPlayer[i].shield) { //shields drain player energy
m.energy -= 0.016;
m.energy -= 0.012;
} else {
m.energy -= 0.006;
m.energy -= 0.005;
}
}
}

View File

@@ -726,7 +726,6 @@ const powerUps = {
// powerUps.spawn(m.pos.x, m.pos.y, "tech");
powerUps.endDraft("tech");
}
}
}
},

View File

@@ -194,7 +194,7 @@
return dmg * tech.slowFire * tech.aimDamage
},
duplicationChance() {
return (tech.isPowerUpsVanish ? 0.13 : 0) + (tech.isStimulatedEmission ? 0.17 : 0) + tech.cancelCount * 0.045 + tech.duplicateChance + m.duplicateChance + tech.wormDuplicate + tech.cloakDuplication + (tech.isAnthropicTech && tech.isDeathAvoidedThisLevel ? 0.5 : 0)
return Math.max(0, (tech.isPowerUpsVanish ? 0.13 : 0) + (tech.isStimulatedEmission ? 0.17 : 0) + tech.cancelCount * 0.045 + tech.duplicateChance + m.duplicateChance + tech.wormDuplicate + tech.cloakDuplication + (tech.isAnthropicTech && tech.isDeathAvoidedThisLevel ? 0.5 : 0))
},
maxDuplicationEvent() {
if (tech.is100Duplicate && tech.duplicationChance() > 0.99) {
@@ -6042,18 +6042,18 @@
},
{
name: "no-cloning theorem",
description: `<strong>42%</strong> chance to <strong class='color-dup'>duplicate</strong> spawned <strong>power ups</strong><br>if you <strong>kill</strong> a <strong>mob</strong> lose <strong>1%</strong> <strong class='color-dup'>duplication</strong> chance`,
description: `<strong>50%</strong> chance to <strong class='color-dup'>duplicate</strong> spawned <strong>power ups</strong><br>after a <strong>mob</strong> <strong>dies</strong>, lose <strong>1%</strong> <strong class='color-dup'>duplication</strong> chance`,
isFieldTech: true,
maxCount: 1,
count: 0,
frequency: 2,
frequencyDefault: 2,
allowed() {
return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") && tech.duplicationChance() < 1
return (m.fieldUpgrades[m.fieldMode].name === "wormhole" || m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") && tech.duplicationChance() < 1
},
requires: "metamaterial cloaking, below 100% duplication chance",
requires: "cloaking, wormhole or time dilation and below 100% duplication chance",
effect() {
tech.cloakDuplication = 0.42
tech.cloakDuplication = 0.5
powerUps.setDupChance(); //needed after adjusting duplication chance
},
@@ -6064,27 +6064,67 @@
},
{
name: "symbiosis",
description: "if you <strong>kill</strong> a <strong>mob</strong> lose <strong>2%</strong> max <strong class='color-h'>health</strong><br>at the <strong>start</strong> of each level spawn <strong>2</strong> <strong class='color-m'>tech</strong>",
description: "after a <strong>mob</strong> <strong>dies</strong>, lose <strong>1</strong> max <strong class='color-h'>health</strong><br><strong>bosses</strong> spawn <strong>2</strong> extra <strong class='color-m'>tech</strong> after they <strong>die</strong>",
isFieldTech: true,
maxCount: 1,
count: 0,
frequency: 2,
frequencyDefault: 2,
allowed() {
return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") && !tech.removeMaxHealthOnKill
return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking")
},
requires: "metamaterial cloaking, not -symbiosis-",
requires: "metamaterial cloaking",
effect() {
tech.removeMaxHealthOnKill = 0.02
tech.isSpawnExitTech = true
// for (let i = 0; i < 2; i++) powerUps.spawn(player.position.x + 90 * (Math.random() - 0.5), player.position.y + 90 * (Math.random() - 0.5), "tech", false); //start
// for (let i = 0; i < 2; i++) powerUps.spawn(level.exit.x + 10 * (Math.random() - 0.5), level.exit.y - 100 + 10 * (Math.random() - 0.5), "tech", false) //exit
tech.isAddRemoveMaxHealth = true
},
remove() {
tech.removeMaxHealthOnKill = 0
tech.isSpawnExitTech = false
tech.isAddRemoveMaxHealth = false
}
},
// {
// name: "symbiosis",
// description: "after a <strong>mob</strong> <strong>dies</strong>, lose <strong>0.5</strong> max <strong class='color-h'>health</strong><br>after picking up <strong class='color-m'>tech</strong> gain <strong>10</strong> max <strong class='color-h'>health</strong>",
// isFieldTech: true,
// maxCount: 1,
// count: 0,
// frequency: 2,
// frequencyDefault: 2,
// allowed() {
// return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking")
// },
// requires: "metamaterial cloaking",
// effect() {
// tech.isAddRemoveMaxHealth = true
// tech.extraMaxHealth += 0.1 //increase max health
// m.setMaxHealth();
// },
// remove() {
// tech.isAddRemoveMaxHealth = false
// }
// },
// {
// name: "symbiosis",
// description: "if a <strong>mob</strong> <strong>dies</strong>, lose <strong>1%</strong> max <strong class='color-h'>health</strong><br>at the <strong>end</strong> of each level spawn <strong>2</strong> <strong class='color-m'>tech</strong>",
// isFieldTech: true,
// maxCount: 1,
// count: 0,
// frequency: 2,
// frequencyDefault: 2,
// allowed() {
// return (m.fieldUpgrades[m.fieldMode].name === "time dilation" || m.fieldUpgrades[m.fieldMode].name === "metamaterial cloaking") && !tech.removeMaxHealthOnKill
// },
// requires: "metamaterial cloaking, not -symbiosis-",
// effect() {
// tech.removeMaxHealthOnKill = 0.01
// tech.isSpawnExitTech = true
// // for (let i = 0; i < 2; i++) powerUps.spawn(player.position.x + 90 * (Math.random() - 0.5), player.position.y + 90 * (Math.random() - 0.5), "tech", false); //start
// for (let i = 0; i < 2; i++) powerUps.spawn(level.exit.x + 10 * (Math.random() - 0.5), level.exit.y - 100 + 10 * (Math.random() - 0.5), "tech", false) //exit
// },
// remove() {
// tech.removeMaxHealthOnKill = 0
// tech.isSpawnExitTech = false
// }
// },
{
name: "boson composite",
description: "<strong>intangible</strong> to <strong class='color-block'>blocks</strong> and mobs while <strong class='color-cloaked'>cloaked</strong><br>passing through <strong>mobs</strong> drains your <strong class='color-f'>energy</strong>",
@@ -6128,7 +6168,7 @@
},
{
name: "ambush",
description: "metamaterial cloaking field <strong class='color-d'>damage</strong> effect<br>is increased from <span style = 'text-decoration: line-through;'>300%</span> to <strong>600%</strong>",
description: "metamaterial cloaking field <strong class='color-d'>damage</strong> effect<br>is increased from <span style = 'text-decoration: line-through;'>333%</span> to <strong>666%</strong>",
isFieldTech: true,
maxCount: 1,
count: 0,
@@ -6139,10 +6179,10 @@
},
requires: "metamaterial cloaking",
effect() {
tech.sneakAttackDmg = 7
tech.sneakAttackDmg = 7.66
},
remove() {
tech.sneakAttackDmg = 4
tech.sneakAttackDmg = 4.33
}
},
{
@@ -6509,7 +6549,7 @@
},
{
name: "-symbiosis-",
description: "<strong style='color: #f55;'>experiment:</strong> if you <strong>kill</strong> a <strong>mob</strong><br>lose <strong>0.2%</strong> max <strong class='color-h'>health</strong>",
description: "<strong style='color: #f55;'>experiment:</strong> if you <strong>kill</strong> a <strong>mob</strong><br>lose <strong>0.2</strong> max <strong class='color-h'>health</strong>",
maxCount: 1,
count: 0,
frequency: 0,
@@ -8349,6 +8389,7 @@
ammoCap: null,
isHarpoonPowerUp: null,
harpoonDensity: null,
isAddRemoveMaxHealth: null,
removeMaxHealthOnKill: null,
isSpawnExitTech: null,
cloakDuplication: null

View File

@@ -1,17 +1,8 @@
******************************************************** NEXT PATCH **************************************************
no cloning theorem - 42% duplication, but lose 1% dup if you kill a mob
requires cloaking or time dilation field
tech: symbiosis - if you kill a mob lose 2% max health, but gain 2 tech at the end of every level.
requires cloaking or time dilation field
JUNK tech: all-stars - make mobs look like stars
JUNK tech: mouth - make mobs look like they have a mouth
the nonCollideBosses have been made 10% harder to kill
these are the types of bosses that spawn from apomixis on 100% duplication
7+ sided mobs may slice in two when they die
metamaterial cloaking field 300% -> 333% damage
no-cloning theorem 43% -> 50% duplication
symbiosis lose 2% -> 1% max health
******************************************************** TODO ********************************************************
@@ -52,7 +43,7 @@ harpoon tech
can't have extended string?
grappling hook?
tracking so good harpoon can hit a target, circle around and hit it again
doesn't seem to be good physics
doesn't seem to be good physics, the harpoon hits walls and doesn't get room to build up speed
"Interstellar Disturbance": Cosmic String applies to mobs who cross the wormhole's path, even after initial wormholing, but at reduced damage and stun time.