wave beam damage works better vs. high mass mobs
  also more damage and ammo

mod plasma torch: extruder - plasma torch ejects a thin hot wire, does more damage, but drains more energy

mod: Bose Einstein condensate - freeze mobs inside your field
  pilot wave, negative mass field, time dilation field

difficulty - after you clear the finalBoss, difficulty increase per level is now lower
  but, when the finalBoss dies difficulty immediately increases greatly

  difficulty used to work like this:
  (+1 per level) 0,1,2,3,4,5,6,7,8,9,10, (final boss dies)
  (+2,3,4 per level) 12,14,16,19,22,25,29,33,37,41, (final boss dies)
  (+4 per level) 44,48,52,56 ...

  difficulty works like this now:
  (+1 per level) 0,1,2,3,4,5,6,7,8,9,10, (final boss dies +5)
  (+2 per level) 17,19,21,23,25,27,29,31,33,35, (final boss dies +5)
  (+3 per level) 43,46,49,52 ...

  difficulty mode scales these numbers
  easy: x1,  normal: x2,  hard: x4,  why: x6

  each time difficulty increases:
    game.dmgScale = 0.38 * game.difficulty //damage done by mobs increases each level
    b.dmgScale *= 0.93; // your damage goes down
    game.healScale = 1 / (1 + game.difficulty * 0.06) //healing goes down
    if (game.accelScale < 5) game.accelScale *= 1.02 //mob acceleration increases each level, but is capped
    if (game.lookFreqScale > 0.2) game.lookFreqScale *= 0.98 //mob cycles between looks decreases each level, but is capped
    if (game.CDScale > 0.2) game.CDScale *= 0.97 //mob ability cooldown time decreases each level, but is capped
This commit is contained in:
landgreen
2020-12-13 14:41:07 -08:00
parent b6cf21dee9
commit 92c5670369
6 changed files with 435 additions and 229 deletions

View File

@@ -101,6 +101,16 @@ const spawn = {
level.bossKilled = true;
level.exit.x = 5500;
level.exit.y = -330;
//pull in particles
for (let i = 0, len = body.length; i < len; ++i) { //push blocks away horizontally
const velocity = Vector.mult(Vector.normalise(Vector.sub(this.position, body[i].position)), 65)
const pushUp = Vector.add(velocity, { x: 0, y: -0.3 })
Matter.Body.setVelocity(body[i], Vector.add(body[i].velocity, pushUp));
}
//ramp up damage
for (let i = 0; i < 5; i++) level.difficultyIncrease(game.difficultyMode)
};
me.onDamage = function() {};
me.cycle = 420;
@@ -132,7 +142,7 @@ const spawn = {
Matter.Body.scale(this, 10, 10);
Matter.Body.setDensity(me, density); //extra dense //normal is 0.001 //makes effective life much larger
if (!this.isShielded) spawn.shield(this, x, y, 1); // regen shield to also prevent stun
for (let i = 0, len = body.length; i < len; ++i) {
for (let i = 0, len = body.length; i < len; ++i) { //push blocks away horizontally
if (body[i].position.x > this.position.x) {
body[i].force.x = 0.5
} else {