more wording
updated pause menu and fields descriptions to new wording style
This commit is contained in:
@@ -284,7 +284,7 @@
|
||||
}
|
||||
</style>
|
||||
<svg id='splash' class="intro ui" viewBox="0 0 800 800" onclick="simulation.startGame()">
|
||||
<g class="fade-in" transform="translate(100,210) scale(34)" fill='#bbb' stroke='none'>
|
||||
<g class="fade-in" transform="translate(100,210) scale(34)" fill='#afafaf' stroke='none'>
|
||||
<path d="M0 0 h1 v0.2 h1.7 l0.3 0.3 v2.6 h-1 v-1.7 h-1 v1.7 h-1 z" />
|
||||
<rect x="4" y="1.25" width="1" height="0.5" rx='0.03' />
|
||||
<path transform="translate(6.9,0) scale(1.25)" d="M0 0 h1 l 0.7 0.7 v2.3 l-0.2 0.2 h-1.8 v-0.5 h1.4 L 1.1 2.4 h-1.1 l -0.7 -0.7 v-1 l 0.7 -0.7 Z" />
|
||||
|
||||
@@ -3829,6 +3829,9 @@ const b = {
|
||||
if (tech.isNailCrit && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.94) {
|
||||
b.explosion(this.position, 150 + 30 * Math.random()); //makes bullet do explosive damage at end
|
||||
}
|
||||
if (true && !who.shield && Vector.dot(Vector.normalise(Vector.sub(who.position, this.position)), Vector.normalise(this.velocity)) > 0.94) {
|
||||
b.targetedNail(this.position, 1, 39 + 6 * Math.random())
|
||||
}
|
||||
};
|
||||
bullet[me].do = function() {};
|
||||
},
|
||||
|
||||
@@ -258,7 +258,7 @@ function collisionChecks(event) {
|
||||
Events.on(engine, "collisionStart", function(event) {
|
||||
playerOnGroundCheck(event);
|
||||
// playerHeadCheck(event);
|
||||
if (m.alive) collisionChecks(event);
|
||||
collisionChecks(event);
|
||||
});
|
||||
Events.on(engine, "collisionActive", function(event) {
|
||||
playerOnGroundCheck(event);
|
||||
|
||||
20
js/index.js
20
js/index.js
@@ -241,24 +241,20 @@ const build = {
|
||||
<g stroke='none' fill='#333' stroke-width="2" font-size="14px" font-family="Ariel, sans-serif"> <text x="5" y="15">copy build url</text></g>
|
||||
</svg><br>`
|
||||
text += `
|
||||
<br><strong class='color-d'>damage</strong>: ${((tech.damageFromTech())).toPrecision(3)}
|
||||
<br>difficulty: ${((m.dmgScale)).toPrecision(3)}
|
||||
<br>
|
||||
<br>+<strong class='color-defense'>defense</strong>: ${(1-m.harmReduction()).toPrecision(3)}
|
||||
<br>difficulty: ${(simulation.dmgScale).toPrecision(3)}
|
||||
<br>
|
||||
<br><strong class='color-d'>damage</strong>: ${((tech.damageFromTech())).toPrecision(3)} difficulty: ${((m.dmgScale)).toPrecision(3)}
|
||||
<br><strong class='color-defense'>defense</strong>: ${(1-m.harmReduction()).toPrecision(3)} difficulty: ${(simulation.dmgScale).toPrecision(3)}
|
||||
<br><strong><em>fire rate</em></strong>: ${((1-b.fireCDscale)*100).toFixed(b.fireCDscale < 0.1 ? 2 : 0)}%
|
||||
<br><strong class='color-dup'>duplication</strong>: ${(tech.duplicationChance()*100).toFixed(0)}%
|
||||
${botText}
|
||||
<br><strong class='color-h'>health</strong>: (${(m.health*100).toFixed(0)} / ${(m.maxHealth*100).toFixed(0)}) <strong class='color-f'>energy</strong>: (${(m.energy*100).toFixed(0)} / ${(m.maxEnergy*100).toFixed(0)})
|
||||
<br><br><strong class='color-h'>health</strong>: (${(m.health*100).toFixed(0)} / ${(m.maxHealth*100).toFixed(0)}) <strong class='color-f'>energy</strong>: (${(m.energy*100).toFixed(0)} / ${(m.maxEnergy*100).toFixed(0)})
|
||||
<br><strong class='color-g'>gun</strong>: ${b.activeGun === null || b.activeGun === undefined ? "undefined":b.guns[b.activeGun].name} <strong class='color-g'>ammo</strong>: ${b.activeGun === null || b.activeGun === undefined ? "0":b.guns[b.activeGun].ammo}
|
||||
<br><strong><em>fire delay</em></strong> decrease: ${((1-b.fireCDscale)*100).toFixed(b.fireCDscale < 0.1 ? 2 : 0)}%
|
||||
<br><strong class='color-dup'>duplication</strong> chance: ${(tech.duplicationChance()*100).toFixed(0)}%
|
||||
<br><br><strong class='color-m'>tech</strong>: ${tech.totalCount} <strong class='color-r'>research</strong>: ${powerUps.research.count}
|
||||
<br>position: (${player.position.x.toFixed(1)}, ${player.position.y.toFixed(1)}) velocity: (${player.velocity.x.toFixed(1)}, ${player.velocity.y.toFixed(1)})
|
||||
<br>mouse: (${simulation.mouseInGame.x.toFixed(1)}, ${simulation.mouseInGame.y.toFixed(1)}) mass: ${player.mass.toFixed(1)}
|
||||
<br><strong class='color-m'>tech</strong>: ${tech.totalCount} <strong class='color-r'>research</strong>: ${powerUps.research.count}
|
||||
<br>
|
||||
<br>seed: ${Math.initialSeed}
|
||||
<br>level: ${level.levels[level.onLevel]} (${level.difficultyText()}) ${m.cycle} cycles
|
||||
<br>${mob.length} mobs, ${body.length} blocks, ${bullet.length} bullets, ${powerUp.length} power ups
|
||||
<br>position: (${player.position.x.toFixed(1)}, ${player.position.y.toFixed(1)}) velocity: (${player.velocity.x.toFixed(1)}, ${player.velocity.y.toFixed(1)})
|
||||
<br>mouse: (${simulation.mouseInGame.x.toFixed(1)}, ${simulation.mouseInGame.y.toFixed(1)}) mass: ${player.mass.toFixed(1)}
|
||||
${simulation.isCheating ? "<br><br><em>lore disabled</em>": ""}
|
||||
</div>`;
|
||||
for (let i = 0, len = b.inventory.length; i < len; i++) {
|
||||
|
||||
15
js/level.js
15
js/level.js
@@ -18,10 +18,11 @@ const level = {
|
||||
// simulation.isHorizontalFlipped = true
|
||||
// m.addHealth(Infinity)
|
||||
// m.setField("time dilation")
|
||||
// b.giveGuns("shotgun")
|
||||
// tech.giveTech("ice-shot")
|
||||
// tech.giveTech("MACHO")
|
||||
// tech.giveTech("clock gating")
|
||||
// b.giveGuns("nail gun")
|
||||
// b.giveGuns("mine")
|
||||
// tech.giveTech("laser-mines")
|
||||
// tech.giveTech("free-electron laser")
|
||||
// tech.giveTech("energy conservation")
|
||||
// tech.giveTech("6s half-life")
|
||||
// for (let i = 0; i < 10; i++) tech.giveTech("replication")
|
||||
// tech.giveTech("eternalism")
|
||||
@@ -37,10 +38,10 @@ const level = {
|
||||
// m.immuneCycle = Infinity //you can't take damage
|
||||
// level.difficultyIncrease(30) //30 is near max on hard //60 is near max on why
|
||||
// simulation.enableConstructMode() //used to build maps in testing mode
|
||||
// level.reservoir();
|
||||
// level.perplex();
|
||||
// spawn.cellBossCulture(1900, -500)
|
||||
// spawn.snakeBoss(1900, -500)
|
||||
// level.testing(); //not in rotation, used for testing
|
||||
// spawn.starter(1900, -500)
|
||||
|
||||
if (simulation.isTraining) { level.walk(); } else { level.intro(); } //normal starting level ************************************************
|
||||
// powerUps.research.changeRerolls(3000)
|
||||
@@ -7147,7 +7148,7 @@ const level = {
|
||||
spawn.mapRect(-1450, -2700, 900, 50); //5-1 ceiling
|
||||
spawn.mapRect(-925, -2300, 325, 50); //5-1 right floor
|
||||
spawn.mapRect(-1900, -3000, 450, 50); //stair cover
|
||||
spawn.bodyRect(-1150, -2950, 200, 250); //5-2 block
|
||||
spawn.bodyRect(-1150, -2950, 150, 250); //5-2 block
|
||||
|
||||
//top left corner stuff
|
||||
spawn.mapRect(-1900, -2450, 250, 450); //
|
||||
|
||||
22
js/mob.js
22
js/mob.js
@@ -1172,17 +1172,7 @@ const mobs = {
|
||||
}
|
||||
if (tech.isBotSpawnerReset) {
|
||||
for (let i = 0, len = bullet.length; i < len; i++) {
|
||||
if (bullet[i].botType && bullet[i].endCycle !== Infinity) {
|
||||
bullet[i].endCycle = simulation.cycle + 840 //14 seconds
|
||||
// //draw a flash on top of bot
|
||||
// ctx.beginPath();
|
||||
// const v = bullet[i].vertices;
|
||||
// ctx.moveTo(v[0].x, v[0].y);
|
||||
// for (let i = 1; i < v.length; ++i) ctx.lineTo(v[i].x, v[i].y);
|
||||
// ctx.lineTo(v[0].x, v[0].y);
|
||||
// ctx.fillStyle = "#fff"
|
||||
// ctx.fill();
|
||||
}
|
||||
if (bullet[i].botType && bullet[i].endCycle !== Infinity) bullet[i].endCycle = simulation.cycle + 840 //14 seconds
|
||||
}
|
||||
}
|
||||
if (Math.random() < tech.botSpawner) {
|
||||
@@ -1273,10 +1263,8 @@ const mobs = {
|
||||
removeConsBB() {
|
||||
for (let i = 0, len = consBB.length; i < len; ++i) {
|
||||
if (consBB[i].bodyA === this) {
|
||||
if (consBB[i].bodyB.shield) {
|
||||
consBB[i].bodyB.do = function() {
|
||||
this.death();
|
||||
};
|
||||
if (consBB[i].bodyB.shield) { //&& !this.shield
|
||||
consBB[i].bodyB.do = function() { this.death() }
|
||||
}
|
||||
consBB[i].bodyA = consBB[i].bodyB;
|
||||
consBB.splice(i, 1);
|
||||
@@ -1284,9 +1272,7 @@ const mobs = {
|
||||
break;
|
||||
} else if (consBB[i].bodyB === this) {
|
||||
if (consBB[i].bodyA.shield) {
|
||||
consBB[i].bodyA.do = function() {
|
||||
this.death();
|
||||
};
|
||||
consBB[i].bodyA.do = function() { this.death() }
|
||||
}
|
||||
consBB[i].bodyB = consBB[i].bodyA;
|
||||
consBB.splice(i, 1);
|
||||
|
||||
10
js/player.js
10
js/player.js
@@ -1381,7 +1381,7 @@ const m = {
|
||||
y: player.velocity.y - (15 * unit.y) / massRoot
|
||||
});
|
||||
if (who.isUnstable) {
|
||||
if (m.fieldCDcycle < m.cycle + 30) m.fieldCDcycle = m.cycle + 30
|
||||
if (m.fieldCDcycle < m.cycle + 30) m.fieldCDcycle = m.cycle + 10
|
||||
who.death();
|
||||
}
|
||||
|
||||
@@ -1767,7 +1767,7 @@ const m = {
|
||||
y: player.velocity.y - (30 * unit.y) / massRoot
|
||||
});
|
||||
if (mob[i].isUnstable) {
|
||||
if (m.fieldCDcycle < m.cycle + 10) m.fieldCDcycle = m.cycle + 10
|
||||
if (m.fieldCDcycle < m.cycle + 10) m.fieldCDcycle = m.cycle + 6
|
||||
mob[i].death();
|
||||
}
|
||||
if (!isFree) { //player knock backs
|
||||
@@ -1864,7 +1864,7 @@ const m = {
|
||||
{
|
||||
name: "negative mass",
|
||||
//<br>hold <strong class='color-block'>blocks</strong> as if they have a lower <strong>mass</strong>
|
||||
description: "use <strong class='color-f'>energy</strong> to nullify <strong style='letter-spacing: 7px;'>gravity</strong><br>reduce <strong class='color-defense'>harm</strong> by <strong>55%</strong><br>generate <strong>6</strong> <strong class='color-f'>energy</strong> per second",
|
||||
description: "use <strong class='color-f'>energy</strong> to nullify <strong style='letter-spacing: 7px;'>gravity</strong><br><strong>+55%</strong> <strong class='color-defense'>defense</strong><br>generate <strong>6</strong> <strong class='color-f'>energy</strong> per second",
|
||||
fieldDrawRadius: 0,
|
||||
effect: () => {
|
||||
m.fieldFire = true;
|
||||
@@ -2525,7 +2525,7 @@ const m = {
|
||||
{
|
||||
name: "time dilation",
|
||||
// description: "use <strong class='color-f'>energy</strong> to <strong style='letter-spacing: 1px;'>stop time</strong><br>while time is stopped you can <strong>move</strong> and <strong>fire</strong><br>and <strong>collisions</strong> do <strong>50%</strong> less <strong class='color-defense'>harm</strong>",
|
||||
description: "use <strong class='color-f'>energy</strong> to <strong style='letter-spacing: 2px;'>stop time</strong><br>move, jump, and fire <strong>25%</strong> faster<br>generate <strong>18</strong> <strong class='color-f'>energy</strong> per second",
|
||||
description: "use <strong class='color-f'>energy</strong> to <strong style='letter-spacing: 2px;'>stop time</strong><br><strong>+25%</strong> movement, jumping, and <strong><em>fire rate</em></strong><br>generate <strong>18</strong> <strong class='color-f'>energy</strong> per second",
|
||||
set() {
|
||||
m.fieldFireRate = 0.75
|
||||
b.setFireCD();
|
||||
@@ -3180,7 +3180,7 @@ const m = {
|
||||
{
|
||||
name: "wormhole",
|
||||
//<strong class='color-worm'>wormholes</strong> attract <strong class='color-block'>blocks</strong> and power ups<br>
|
||||
description: "use <strong class='color-f'>energy</strong> to <strong>tunnel</strong> through a <strong class='color-worm'>wormhole</strong><br><strong>4%</strong> chance to <strong class='color-dup'>duplicate</strong> spawned <strong>power ups</strong><br>generate <strong>6</strong> <strong class='color-f'>energy</strong> per second", //<br>bullets may also traverse <strong class='color-worm'>wormholes</strong>
|
||||
description: "use <strong class='color-f'>energy</strong> to <strong>tunnel</strong> through a <strong class='color-worm'>wormhole</strong><br><strong>+4%</strong> chance to <strong class='color-dup'>duplicate</strong> spawned <strong>power ups</strong><br>generate <strong>6</strong> <strong class='color-f'>energy</strong> per second", //<br>bullets may also traverse <strong class='color-worm'>wormholes</strong>
|
||||
drain: 0,
|
||||
effect: function() {
|
||||
m.duplicateChance = 0.04
|
||||
|
||||
62
js/tech.js
62
js/tech.js
@@ -670,7 +670,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "Higgs mechanism",
|
||||
description: "if <strong>firing</strong><br><strong>+50%</strong> <strong><em>fire rate</em></strong> and your <strong>position</strong> is locked",
|
||||
description: "<strong>+50%</strong> <strong><em>fire rate</em></strong><br>while <strong>firing</strong> your <strong>position</strong> is fixed",
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -940,7 +940,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "reaction inhibitor",
|
||||
description: "mobs spawn with <strong>–13%</strong> <strong>health</strong>",
|
||||
description: "after mobs <strong>spawn</strong><br>remove <strong>+13%</strong> of their <strong>durability</strong>", //<strong class='color-h'>health</strong>
|
||||
maxCount: 3,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -1890,7 +1890,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "freezer burn",
|
||||
description: "mobs <strong class='color-s'>frozen</strong> while below <strong>33%</strong> health <strong>die</strong>",
|
||||
description: "mobs <strong class='color-s'>frozen</strong> while below <strong>33%</strong> durability <strong>die</strong>",
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 2,
|
||||
@@ -1908,7 +1908,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "flash freeze",
|
||||
description: "mobs <strong class='color-s'>frozen</strong> while above <strong>66%</strong> health<br>have their health reduced to <strong>66%</strong>",
|
||||
description: "mobs <strong class='color-s'>frozen</strong> while above <strong>66%</strong> durability<br>have their durability reduced to <strong>66%</strong>",
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 2,
|
||||
@@ -1980,7 +1980,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "liquid cooling",
|
||||
description: `after losing <strong>health</strong><br><strong class='color-s'>freeze</strong> all mobs for <strong>7</strong> seconds`,
|
||||
description: `after losing <strong class='color-h'>health</strong><br><strong class='color-s'>freeze</strong> all mobs for <strong>7</strong> seconds`,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 2,
|
||||
@@ -1998,7 +1998,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "clock gating",
|
||||
description: `after losing <strong>health</strong> <strong>slow</strong> <strong>time</strong> by <strong>50%</strong><br><strong>+20%</strong> <strong class='color-defense'>defense</strong>`,
|
||||
description: `after losing <strong class='color-h'>health</strong> <strong>slow</strong> <strong>time</strong> by <strong>50%</strong><br><strong>+20%</strong> <strong class='color-defense'>defense</strong>`,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -2057,7 +2057,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "ablative drones",
|
||||
description: "after losing <strong>health</strong> there is a chance<br>to rebuild your broken parts as <strong>drones</strong>",
|
||||
description: "after losing <strong class='color-h'>health</strong> there is a chance<br>to rebuild your broken parts as <strong>drones</strong>",
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -2114,7 +2114,7 @@ const tech = {
|
||||
{
|
||||
name: "CPT symmetry",
|
||||
// description: "<strong>charge</strong>, <strong>parity</strong>, and <strong>time</strong> invert to undo <strong class='color-defense'>defense</strong><br><strong class='color-rewind'>rewind</strong> <strong>(1.5—5)</strong> seconds for <strong>(66—220)</strong> <strong class='color-f'>energy</strong>",
|
||||
description: "if you have <strong>66</strong> <strong class='color-f'>energy</strong> after losing <strong>health</strong><br><strong>rewind</strong> time for <strong>44</strong> <strong class='color-f'>energy</strong> per second",
|
||||
description: "if you have <strong>66</strong> <strong class='color-f'>energy</strong> after losing <strong class='color-h'>health</strong><br><strong>rewind</strong> time for <strong>44</strong> <strong class='color-f'>energy</strong> per second",
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -2654,7 +2654,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "negative entropy",
|
||||
description: `at the start of each <strong>level</strong><br>for every <strong>26</strong> missing health spawn ${powerUps.orb.heal()}`,
|
||||
description: `at the start of each <strong>level</strong><br>for every <strong>26</strong> missing <strong class='color-h'>health</strong> spawn ${powerUps.orb.heal()}`,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 1,
|
||||
@@ -3504,7 +3504,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "apomixis",
|
||||
description: `when you reach <strong>111%</strong> <strong class='color-dup'>duplication</strong><br>spawn <strong>11 bosses</strong> with <strong>111%</strong> more <strong>health</strong>`,
|
||||
description: `when you reach <strong>111%</strong> <strong class='color-dup'>duplication</strong><br>spawn <strong>11 bosses</strong> with <strong>111%</strong> more <strong>durability</strong>`,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 6,
|
||||
@@ -4667,7 +4667,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "acetone peroxide",
|
||||
description: "<strong>+70%</strong> <strong class='color-e'>explosive</strong> <strong>radius</strong><br><strong>+50%</strong> <strong class='color-e'>explosive</strong> self damage",
|
||||
description: "<strong>+70%</strong> <strong class='color-e'>explosive</strong> <strong>radius</strong><br><strong>–50%</strong> <strong class='color-e'>explosive</strong> <strong class='color-defense'>defense</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -4706,7 +4706,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "controlled explosion",
|
||||
description: `use ${powerUps.orb.research(4)} to dynamically <strong>reduce</strong><br>all <strong class='color-e'>explosive</strong> radius to prevent self damage`,
|
||||
description: `use ${powerUps.orb.research(4)} to dynamically <strong>reduce</strong><br>all <strong class='color-e'>explosive</strong> radius to prevent <strong class='color-h'>health</strong> loss`,
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -4730,7 +4730,7 @@ const tech = {
|
||||
{
|
||||
name: "electric armor",
|
||||
// description: "<strong class='color-e'>explosions</strong> do no <strong class='color-defense'>defense</strong><br> while your <strong class='color-f'>energy</strong> is above <strong>98%</strong>",
|
||||
description: "instead of causing self damage <strong class='color-e'>explosions</strong><br>drain <strong>12</strong> <strong class='color-f'>energy</strong> and have more knockback",
|
||||
description: "instead of causing <strong class='color-h'>health</strong> loss, <strong class='color-e'>explosions</strong><br>drain <strong>12</strong> <strong class='color-f'>energy</strong> and have more knockback",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -4749,7 +4749,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "MIRV",
|
||||
description: "fire <strong>+1</strong> <strong>missile</strong> and <strong>grenade</strong> per shot<br><strong>–12%</strong> <strong class='color-e'>explosion</strong> <strong class='color-d'>damage</strong> and <strong>radius</strong>",
|
||||
description: "fire <strong>+1</strong> <strong>missile</strong> or <strong>grenade</strong> per shot<br><strong>–12%</strong> <strong class='color-e'>explosion</strong> <strong class='color-d'>damage</strong> and <strong>radius</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 9,
|
||||
count: 0,
|
||||
@@ -5050,7 +5050,7 @@ const tech = {
|
||||
{
|
||||
name: "mycelial fragmentation",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Fungus' class="link">mycelial fragmentation</a>`,
|
||||
description: "<strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> release <strong>6</strong> more <strong class='color-p' style='letter-spacing: 2px;'>spores</strong><br>during their <strong>growth</strong> phase",
|
||||
description: "during their <strong>growth</strong> phase<br><strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> release <strong>+6</strong> <strong class='color-p' style='letter-spacing: 2px;'>spores</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5070,7 +5070,7 @@ const tech = {
|
||||
{
|
||||
name: "tinsellated flagella",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Zoospore#Flagella_types' class="link">tinsellated flagella</a>`,
|
||||
description: "<strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> release <strong>2</strong> more <strong class='color-p' style='letter-spacing: 2px;'>spores</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> accelerate <strong>50% faster</strong>",
|
||||
description: "<strong class='color-p' style='letter-spacing: 2px;'>sporangium</strong> release <strong>+2</strong> <strong class='color-p' style='letter-spacing: 2px;'>spores</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> accelerate <strong>50% faster</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5109,7 +5109,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "diplochory",
|
||||
description: "<strong class='color-p' style='letter-spacing: 2px;'>spores</strong> use you for <strong>dispersal</strong><br>until they <strong>locate</strong> a viable host",
|
||||
description: "if <strong class='color-p' style='letter-spacing: 2px;'>spores</strong> can't <strong>locate</strong> a viable host<br>they use you for <strong>dispersal</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5128,7 +5128,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "mutualism",
|
||||
description: "<strong>+150%</strong> <strong class='color-p' style='letter-spacing: 2px;'>spore</strong> <strong class='color-d'>damage</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> borrow <strong>0.5</strong> <strong>health</strong> until they <strong>die</strong>",
|
||||
description: "<strong>+150%</strong> <strong class='color-p' style='letter-spacing: 2px;'>spore</strong> <strong class='color-d'>damage</strong><br><strong class='color-p' style='letter-spacing: 2px;'>spores</strong> borrow <strong>0.5</strong> <strong class='color-h'>health</strong> until they <strong>die</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5245,7 +5245,7 @@ const tech = {
|
||||
{
|
||||
name: "reduced tolerances",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Engineering_tolerance' class="link">reduced tolerances</a>`,
|
||||
description: `<strong>+66%</strong> <strong>drones</strong> per ${powerUps.orb.ammo()} and <strong class='color-f'>energy</strong><br><strong>–40%</strong> drone <strong>durability</strong>`,
|
||||
description: `<strong>+66%</strong> <strong>drones</strong> per ${powerUps.orb.ammo()} and <strong class='color-f'>energy</strong><br><strong>–40%</strong> drone <strong>duration</strong>`,
|
||||
isGunTech: true,
|
||||
maxCount: 3,
|
||||
count: 0,
|
||||
@@ -5334,7 +5334,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "axial flux motor",
|
||||
description: "<strong>drones</strong> can <strong>rush</strong> <strong>66%</strong> more often<br><strong>+44%</strong> <strong>drone</strong> collision <strong class='color-d'>damage</strong>",
|
||||
description: "<strong>+66%</strong> <strong>drones</strong> <strong>rush</strong> frequency<br><strong>+44%</strong> <strong>drone</strong> collision <strong class='color-d'>damage</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5428,7 +5428,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "fault tolerance",
|
||||
description: "spawn <strong>6</strong> <strong>drones</strong> that last <strong>forever</strong><br>remove your <strong>drone gun</strong>",
|
||||
description: "remove your <strong>drone gun</strong><br>spawn <strong>6</strong> <strong>drones</strong> that last <strong>forever</strong>",
|
||||
isGunTech: true,
|
||||
isRemoveGun: true,
|
||||
maxCount: 1,
|
||||
@@ -5593,7 +5593,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "foam fractionation",
|
||||
description: "if you have below <strong>300</strong> <strong class='color-ammo'>ammo</strong><br><strong>+100%</strong> <strong>foam</strong> gun bubble size",
|
||||
description: "if you have below <strong>300</strong> <strong class='color-ammo'>ammo</strong><br><strong>+100%</strong> <strong>foam</strong> gun bubble <strong>size</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5639,7 +5639,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "pressure vessel",
|
||||
description: "build up <strong>charge</strong> while firing <strong>foam</strong> gun<br>after firing automatically <strong>discharge</strong> <strong>foam</strong> bubbles",
|
||||
description: "build up <strong>charge</strong> while firing <strong>foam</strong> gun<br>after firing <strong>discharge</strong> <strong>foam</strong> bubbles",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5776,7 +5776,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "alternator",
|
||||
description: "<strong>–60%</strong> <strong>harpoon</strong> <strong class='color-f'>energy</strong> drain",
|
||||
description: "<strong>+60%</strong> <strong>harpoon</strong> <strong class='color-f'>energy</strong> efficiency",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -5981,7 +5981,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "laser diode",
|
||||
description: "<strong>–30%</strong> <strong class='color-laser'>lasers</strong> <strong class='color-f'>energy</strong> drain<br><em>affects laser-gun, laser-bot, laser-mines, pulse</em>",
|
||||
description: "<strong>+30%</strong> <strong class='color-laser'>laser</strong> <strong class='color-f'>energy</strong> efficiency<br><em>affects laser-gun, laser-bot, laser-mines, pulse</em>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -6004,7 +6004,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "free-electron laser",
|
||||
description: "<strong>+200%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong> <br><strong >+250%</strong> <strong class='color-laser'>laser</strong> <strong class='color-f'>energy</strong> drain",
|
||||
description: "<strong>+200%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong> <br><strong>–250%</strong> <strong class='color-laser'>laser</strong> <strong class='color-f'>energy</strong> efficiency",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
@@ -6095,12 +6095,12 @@ const tech = {
|
||||
{
|
||||
name: "diffuse beam",
|
||||
link: `<a target="_blank" href='https://en.wikipedia.org/wiki/Diffuser_(optics)' class="link">diffuse beam</a>`,
|
||||
description: "<strong class='color-laser'>laser</strong> beam is <strong>wider</strong> and doesn't <strong>reflect</strong><br><strong>220%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong>",
|
||||
description: "<strong class='color-laser'>laser</strong> beam is <strong>wider</strong> and doesn't <strong>reflect</strong><br><strong>+220%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
frequency: 2,
|
||||
frequencyDefault: 2,
|
||||
frequency: 3,
|
||||
frequencyDefault: 3,
|
||||
allowed() {
|
||||
return tech.haveGunCheck("laser") && tech.laserReflections < 3 && !tech.beamSplitter && !tech.isPulseLaser && !tech.historyLaser
|
||||
},
|
||||
@@ -6124,7 +6124,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "output coupler",
|
||||
description: "<strong>+30%</strong> <strong class='color-laser'>laser</strong> beam <strong>width</strong><br><strong>30%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong>",
|
||||
description: "<strong>+30%</strong> <strong class='color-laser'>laser</strong> beam <strong>width</strong><br><strong>+30%</strong> <strong class='color-laser'>laser</strong> <strong class='color-d'>damage</strong>",
|
||||
isGunTech: true,
|
||||
maxCount: 9,
|
||||
count: 0,
|
||||
@@ -6441,7 +6441,7 @@ const tech = {
|
||||
},
|
||||
{
|
||||
name: "radiative equilibrium",
|
||||
description: "after losing <strong>health</strong><br><strong>+200%</strong> <strong class='color-d'>damage</strong> for <strong>10</strong> seconds",
|
||||
description: "after losing <strong class='color-h'>health</strong><br><strong>+200%</strong> <strong class='color-d'>damage</strong> for <strong>10</strong> seconds",
|
||||
isFieldTech: true,
|
||||
maxCount: 1,
|
||||
count: 0,
|
||||
|
||||
@@ -296,7 +296,7 @@ summary {
|
||||
line-height: 170%;
|
||||
/* border-radius: 6px; */
|
||||
border: 1px #17263b solid;
|
||||
background-color: #fff;
|
||||
background-color: #fafcfd;
|
||||
|
||||
line-height: 170%;
|
||||
font-size: 0.65em;
|
||||
@@ -454,12 +454,13 @@ summary {
|
||||
}
|
||||
}
|
||||
|
||||
/* background on title page */
|
||||
#fade-out {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #e8edf0;
|
||||
background-color: #e2e9ec;
|
||||
opacity: 1;
|
||||
transition: opacity 3s;
|
||||
pointer-events: none;
|
||||
|
||||
27
todo.txt
27
todo.txt
@@ -1,30 +1,15 @@
|
||||
******************************************************** NEXT PATCH **************************************************
|
||||
|
||||
tech: freezer burn - if a mob is frozen while below 33% health, it dies
|
||||
tech: flash freeze - if a mob is above 66% health it's health is set to 66%
|
||||
|
||||
snakeBoss 1st tail mob is larger and farther from boss
|
||||
parthenogenesis your duplication effects extend to duplicate mobs and bosses
|
||||
WIMPs do 33% less harm (because they are hard to deal with on reactor)
|
||||
MACHO 66->60% defense
|
||||
axion 75%-> 100% of defense added to damage
|
||||
|
||||
full tech wording rewrite (I probably made a few typos)
|
||||
increase damage by 10% -> +10% damage
|
||||
20% fire delay reduction -> +20% fire rate
|
||||
taking harm -> losing health
|
||||
50% harm reduction -> +50% defense
|
||||
new defense text effect
|
||||
extra long minus sign - -> –
|
||||
|
||||
bug fixes
|
||||
updated pause menu and fields descriptions to new wording style
|
||||
|
||||
*********************************************************** TODO *****************************************************
|
||||
|
||||
scrap bots can't move?
|
||||
only works for nail, foam, laser
|
||||
might be tricky code?
|
||||
make a new bot type called scrap bot?
|
||||
|
||||
if a nail critical hits, fire a nail at the nearest mob
|
||||
similar to mob death targeted nail code
|
||||
nail gun needs a small damage buff
|
||||
|
||||
JUNK tech: Pacifism
|
||||
@@ -40,12 +25,10 @@ mob mechanic: beacon
|
||||
at random
|
||||
if velocity not facing player?
|
||||
|
||||
super balls do damage after bouncing?
|
||||
super balls do more damage after bouncing?
|
||||
how to check for bounce?
|
||||
maybe just increases damage after hitting a mob
|
||||
|
||||
put a shield on a shield on a shield ...
|
||||
|
||||
dark mode:
|
||||
look at Tinyfolks, 20 minutes till dawn
|
||||
|
||||
|
||||
Reference in New Issue
Block a user