working on cellBoss

This commit is contained in:
lilgreenland
2020-02-03 15:06:09 -08:00
parent 9a26467c2a
commit ba2eb2d1ff
2 changed files with 12 additions and 11 deletions

View File

@@ -1180,13 +1180,14 @@ const level = {
//building 2 //building 2
spawn.mapRect(-4450, -600, 2300, 750); spawn.mapRect(-4450, -600, 2300, 750);
spawn.mapRect(-2225, -500, 175, 550); spawn.mapRect(-2225, -500, 175, 550);
spawn.boost(-2800, -600, 1150); spawn.mapRect(-2600, -975, 450, 50);
// spawn.boost(-2800, -600, 1150);
spawn.mapRect(-3450, -1325, 550, 50); spawn.mapRect(-3450, -1325, 550, 50);
spawn.mapRect(-3425, -2200, 525, 50); spawn.mapRect(-3425, -2200, 525, 50);
spawn.mapRect(-2600, -1750, 450, 50); spawn.mapRect(-2600, -1700, 450, 50);
spawn.mapRect(-2600, -2450, 450, 50); spawn.mapRect(-2600, -2450, 450, 50);
spawn.bodyRect(-2275, -2700, 50, 60); spawn.bodyRect(-2275, -2700, 50, 60);
spawn.bodyRect(-2600, -1975, 250, 225); spawn.bodyRect(-2600, -1925, 250, 225);
spawn.bodyRect(-3415, -1425, 100, 100); spawn.bodyRect(-3415, -1425, 100, 100);
spawn.bodyRect(-3400, -1525, 100, 100); spawn.bodyRect(-3400, -1525, 100, 100);
spawn.bodyRect(-3305, -1425, 100, 100); spawn.bodyRect(-3305, -1425, 100, 100);
@@ -1240,7 +1241,7 @@ const level = {
const x = -2000 - Math.floor(1600 * Math.random()); const x = -2000 - Math.floor(1600 * Math.random());
const y = -2700 - Math.floor(600 * Math.random()); const y = -2700 - Math.floor(600 * Math.random());
const d = 800; const d = 800;
for (let i = 0; i < 7; i++) { for (let i = 0; i < 6; i++) {
spawn.cellBoss(x + Math.floor(d * (Math.random() - 0.5)), y + Math.floor(d * (Math.random() - 0.5))); spawn.cellBoss(x + Math.floor(d * (Math.random() - 0.5)), y + Math.floor(d * (Math.random() - 0.5)));
} }
} }

View File

@@ -142,16 +142,16 @@ const spawn = {
this.attraction(); this.attraction();
}; };
}, },
cellBoss(x, y, radius = 20 + 60 * Math.random()) { cellBoss(x, y, radius = 20 + 40 * Math.random()) {
mobs.spawn(x, y, 0, radius, "rgba(0,150,155,0.7)"); mobs.spawn(x, y, 0, radius, "rgba(0,150,155,0.7)");
let me = mob[mob.length - 1]; let me = mob[mob.length - 1];
me.isCell = true; me.isCell = true;
me.accelMag = 0.00024 * game.accelScale; me.accelMag = 0.00018 * game.accelScale;
me.memory = 60; me.memory = 40;
me.frictionAir = 0.012 me.frictionAir = 0.012
me.seePlayerFreq = Math.floor(11 + 7 * Math.random()) me.seePlayerFreq = Math.floor(11 + 7 * Math.random())
me.seeAtDistance2 = 1500000; me.seeAtDistance2 = 1400000;
me.cellMassMax = 90 me.cellMassMax = 80
me.collisionFilter.mask = cat.player | cat.bullet me.collisionFilter.mask = cat.player | cat.bullet
Matter.Body.setDensity(me, 0.0005) // normal density is 0.001 // this reduces life by half and decreases knockback Matter.Body.setDensity(me, 0.0005) // normal density is 0.001 // this reduces life by half and decreases knockback
@@ -166,14 +166,14 @@ const spawn = {
this.split(); this.split();
}; };
me.onDamage = function (dmg) { me.onDamage = function (dmg) {
if (Math.random() < 0.16 * dmg * Math.sqrt(this.mass) && this.health > dmg) this.split(); if (Math.random() < 0.18 * dmg * Math.sqrt(this.mass) && this.health > dmg) this.split();
} }
me.do = function () { me.do = function () {
if (!mech.isBodiesAsleep) { if (!mech.isBodiesAsleep) {
this.seePlayerByDistOrLOS(); this.seePlayerByDistOrLOS();
this.attraction(); this.attraction();
if (this.mass < this.cellMassMax) { //grow cell radius if (this.seePlayer.recall && this.mass < this.cellMassMax) { //grow cell radius
const scale = 1 + 0.0002 * this.cellMassMax / this.mass; const scale = 1 + 0.0002 * this.cellMassMax / this.mass;
Matter.Body.scale(this, scale, scale); Matter.Body.scale(this, scale, scale);
this.radius = Math.sqrt(this.mass * k / Math.PI) this.radius = Math.sqrt(this.mass * k / Math.PI)