in game music

mob effect: freeze - now only slows mobs down
  all freeze effects are about 50% longer

junk tech: music - adds background music to n-gon
junk tech: performance - adds fps tracker to n-gon

tech: dormancy - if a mob has died in the last 5 seconds increase damage by 50% else decrease damage by 50%
tech: torpor   - if a mob has died in the last 5 seconds reduce harm by 66% else increase harm by 33%
This commit is contained in:
landgreen
2021-02-19 06:13:33 -08:00
parent 7e963881f6
commit c085b30af4
10 changed files with 157 additions and 61 deletions

View File

@@ -473,8 +473,11 @@ const m = {
harmReduction() {
let dmg = 1
dmg *= m.fieldHarmReduction
if (tech.isBlockHarm && m.isHolding) dmg *= 0.2
if (tech.isHarmReduceAfterKill) dmg *= (m.lastKillCycle + 300 > m.cycle) ? 0.33 : 1.33
if (tech.healthDrain) dmg *= 1 + 2.667 * tech.healthDrain //tech.healthDrain = 0.03 at one stack //cause more damage
if (tech.squirrelFx !== 1) dmg *= 1 + (tech.squirrelFx - 1) / 5 //cause more damage
if (tech.isBlockHarm && m.isHolding) dmg *= 0.2
if (tech.isSpeedHarm) dmg *= 1 - Math.min(player.speed * 0.0185, 0.55)
if (tech.isSlowFPS) dmg *= 0.8
if (tech.isPiezo) dmg *= 0.85
@@ -688,7 +691,7 @@ const m = {
m.defaultFPSCycle = m.cycle + 20 + Math.min(90, Math.floor(200 * dmg))
if (tech.isHarmFreeze) { //freeze all mobs
for (let i = 0, len = mob.length; i < len; i++) {
mobs.statusSlow(mob[i], 300)
mobs.statusSlow(mob[i], 450)
}
}
} else {
@@ -1311,7 +1314,7 @@ const m = {
if (tech.isFreezeMobs) {
for (let i = 0, len = mob.length; i < len; ++i) {
Matter.Sleeping.set(mob[i], false)
mobs.statusSlow(mob[i], 60)
mobs.statusSlow(mob[i], 90)
}
} else {
wake(mob);
@@ -1346,7 +1349,7 @@ const m = {
},
fieldUpgrades: [{
name: "field emitter",
description: "use <strong class='color-f'>energy</strong> to <strong>block</strong> mobs,<br><strong>grab</strong> power ups, and <strong>throw</strong> blocks",
description: "use <strong class='color-f'>energy</strong> to <strong>block</strong> mobs,<br><strong>grab</strong> power ups, and <strong>throw</strong> blocks<br>regen <strong>6</strong> <strong class='color-f'>energy</strong> per second",
effect: () => {
m.hold = function() {
if (m.isHolding) {
@@ -1620,7 +1623,7 @@ const m = {
if (m.energy > ICE_DRAIN * 2) {
m.energy -= ICE_DRAIN;
this.fieldDrawRadius -= 2;
mobs.statusSlow(mob[i], 45)
mobs.statusSlow(mob[i], 60)
} else {
break;
}
@@ -2187,7 +2190,7 @@ const m = {
if (tech.isFreezeMobs) {
for (let i = 0, len = mob.length; i < len; ++i) {
if (Vector.magnitude(Vector.sub(mob[i].position, m.fieldPosition)) < m.fieldRadius) {
mobs.statusSlow(mob[i], 120)
mobs.statusSlow(mob[i], 180)
}
}
}
@@ -2571,7 +2574,7 @@ const m = {
if (!mob[i].freeOfWires) mob[i].freeOfWires = true
}
m.isShipMode = true
simulation.isCheating = true
// simulation.isCheating = true
const points = [
{ x: 29.979168754143455, y: 4.748337243898336 },
{ x: 27.04503734408824, y: 13.7801138209198 },
@@ -2604,7 +2607,7 @@ const m = {
// Matter.Body.setDensity(player, 0.01); //extra dense //normal is 0.001 //makes effective life much larger
m.defaultMass = 30
Matter.Body.setMass(player, m.defaultMass);
player.friction = 0.05
player.friction = 0.01
player.restitution = 0.2
// player.frictionStatic = 0.1
// Matter.Body.setInertia(player, Infinity); //disable rotation