working on cellBoss
This commit is contained in:
@@ -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)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
14
js/spawn.js
14
js/spawn.js
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user