symbiosis
metamaterial cloaking field 300% -> 333% damage no-cloning theorem 43% -> 50% duplication symbiosis lose 2% -> 1% max health
This commit is contained in:
@@ -109,8 +109,8 @@ const level = {
|
|||||||
simulation.makeTextLog(`tech.isFlipFlopOn <span class='color-symbol'>=</span> true`);
|
simulation.makeTextLog(`tech.isFlipFlopOn <span class='color-symbol'>=</span> true`);
|
||||||
}
|
}
|
||||||
if (tech.isSpawnExitTech) {
|
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(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(player.position.x + 90 * (Math.random() - 0.5), player.position.y + 90 * (Math.random() - 0.5), "tech", false); //start
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
custom() {},
|
custom() {},
|
||||||
|
|||||||
27
js/mob.js
27
js/mob.js
@@ -1140,14 +1140,31 @@ const mobs = {
|
|||||||
bullet[bullet.length - 1].endCycle = simulation.cycle + 840 //14 seconds
|
bullet[bullet.length - 1].endCycle = simulation.cycle + 840 //14 seconds
|
||||||
this.leaveBody = false; // no body since it turned into the bot
|
this.leaveBody = false; // no body since it turned into the bot
|
||||||
}
|
}
|
||||||
if (tech.removeMaxHealthOnKill) {
|
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 (tech.isEnergyHealth) {
|
||||||
if (m.maxEnergy > tech.removeMaxHealthOnKill) {
|
if (m.maxEnergy > amount) {
|
||||||
tech.healMaxEnergyBonus -= tech.removeMaxHealthOnKill
|
tech.healMaxEnergyBonus -= amount
|
||||||
m.setMaxEnergy();
|
m.setMaxEnergy();
|
||||||
}
|
}
|
||||||
} else if (m.maxHealth > tech.removeMaxHealthOnKill) {
|
} else if (m.maxHealth > amount) {
|
||||||
tech.extraMaxHealth -= tech.removeMaxHealthOnKill //decrease max health
|
tech.extraMaxHealth -= amount //decrease max health
|
||||||
|
m.setMaxHealth();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tech.removeMaxHealthOnKill) {
|
||||||
|
const amount = 0.002
|
||||||
|
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();
|
m.setMaxHealth();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2219,9 +2219,9 @@ const m = {
|
|||||||
for (let i = 0; i < inPlayer.length; i++) {
|
for (let i = 0; i < inPlayer.length; i++) {
|
||||||
if (m.energy > 0) {
|
if (m.energy > 0) {
|
||||||
if (inPlayer[i].shield) { //shields drain player energy
|
if (inPlayer[i].shield) { //shields drain player energy
|
||||||
m.energy -= 0.016;
|
m.energy -= 0.012;
|
||||||
} else {
|
} else {
|
||||||
m.energy -= 0.006;
|
m.energy -= 0.005;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -726,7 +726,6 @@ const powerUps = {
|
|||||||
// powerUps.spawn(m.pos.x, m.pos.y, "tech");
|
// powerUps.spawn(m.pos.x, m.pos.y, "tech");
|
||||||
powerUps.endDraft("tech");
|
powerUps.endDraft("tech");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
77
js/tech.js
77
js/tech.js
@@ -194,7 +194,7 @@
|
|||||||
return dmg * tech.slowFire * tech.aimDamage
|
return dmg * tech.slowFire * tech.aimDamage
|
||||||
},
|
},
|
||||||
duplicationChance() {
|
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() {
|
maxDuplicationEvent() {
|
||||||
if (tech.is100Duplicate && tech.duplicationChance() > 0.99) {
|
if (tech.is100Duplicate && tech.duplicationChance() > 0.99) {
|
||||||
@@ -6042,18 +6042,18 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "no-cloning theorem",
|
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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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() {
|
effect() {
|
||||||
tech.cloakDuplication = 0.42
|
tech.cloakDuplication = 0.5
|
||||||
powerUps.setDupChance(); //needed after adjusting duplication chance
|
powerUps.setDupChance(); //needed after adjusting duplication chance
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -6064,27 +6064,67 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "symbiosis",
|
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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
frequency: 2,
|
frequency: 2,
|
||||||
frequencyDefault: 2,
|
frequencyDefault: 2,
|
||||||
allowed() {
|
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() {
|
effect() {
|
||||||
tech.removeMaxHealthOnKill = 0.02
|
tech.isAddRemoveMaxHealth = true
|
||||||
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() {
|
remove() {
|
||||||
tech.removeMaxHealthOnKill = 0
|
tech.isAddRemoveMaxHealth = false
|
||||||
tech.isSpawnExitTech = 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",
|
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>",
|
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",
|
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,
|
isFieldTech: true,
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -6139,10 +6179,10 @@
|
|||||||
},
|
},
|
||||||
requires: "metamaterial cloaking",
|
requires: "metamaterial cloaking",
|
||||||
effect() {
|
effect() {
|
||||||
tech.sneakAttackDmg = 7
|
tech.sneakAttackDmg = 7.66
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
tech.sneakAttackDmg = 4
|
tech.sneakAttackDmg = 4.33
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -6509,7 +6549,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "-symbiosis-",
|
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,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
frequency: 0,
|
frequency: 0,
|
||||||
@@ -8349,6 +8389,7 @@
|
|||||||
ammoCap: null,
|
ammoCap: null,
|
||||||
isHarpoonPowerUp: null,
|
isHarpoonPowerUp: null,
|
||||||
harpoonDensity: null,
|
harpoonDensity: null,
|
||||||
|
isAddRemoveMaxHealth: null,
|
||||||
removeMaxHealthOnKill: null,
|
removeMaxHealthOnKill: null,
|
||||||
isSpawnExitTech: null,
|
isSpawnExitTech: null,
|
||||||
cloakDuplication: null
|
cloakDuplication: null
|
||||||
|
|||||||
17
todo.txt
17
todo.txt
@@ -1,17 +1,8 @@
|
|||||||
******************************************************** NEXT PATCH **************************************************
|
******************************************************** NEXT PATCH **************************************************
|
||||||
|
|
||||||
no cloning theorem - 42% duplication, but lose 1% dup if you kill a mob
|
metamaterial cloaking field 300% -> 333% damage
|
||||||
requires cloaking or time dilation field
|
no-cloning theorem 43% -> 50% duplication
|
||||||
tech: symbiosis - if you kill a mob lose 2% max health, but gain 2 tech at the end of every level.
|
symbiosis lose 2% -> 1% max health
|
||||||
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
|
|
||||||
|
|
||||||
******************************************************** TODO ********************************************************
|
******************************************************** TODO ********************************************************
|
||||||
|
|
||||||
@@ -52,7 +43,7 @@ harpoon tech
|
|||||||
can't have extended string?
|
can't have extended string?
|
||||||
grappling hook?
|
grappling hook?
|
||||||
tracking so good harpoon can hit a target, circle around and hit it again
|
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.
|
"Interstellar Disturbance": Cosmic String applies to mobs who cross the wormhole's path, even after initial wormholing, but at reduced damage and stun time.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user