foam balance
This commit is contained in:
@@ -1798,12 +1798,12 @@ const b = {
|
|||||||
const RADIUS = (6 + 16 * Math.random()) * b.modBulletSize
|
const RADIUS = (6 + 16 * Math.random()) * b.modBulletSize
|
||||||
bullet[me] = Bodies.polygon(mech.pos.x + 30 * Math.cos(mech.angle), mech.pos.y + 30 * Math.sin(mech.angle), 25, RADIUS, {
|
bullet[me] = Bodies.polygon(mech.pos.x + 30 * Math.cos(mech.angle), mech.pos.y + 30 * Math.sin(mech.angle), 25, RADIUS, {
|
||||||
angle: dir,
|
angle: dir,
|
||||||
density: 0.000001, // 0.001 is normal density
|
density: 0.000005, // 0.001 is normal density
|
||||||
inertia: Infinity,
|
inertia: Infinity,
|
||||||
frictionAir: 0,
|
frictionAir: 0.003,
|
||||||
friction: 0.2,
|
friction: 0.2,
|
||||||
restitution: 0.2,
|
restitution: 0.2,
|
||||||
dmg: 0.04 + b.modExtraDmg, //damage done in addition to the damage from momentum
|
dmg: b.modExtraDmg, //damage done in addition to the damage from momentum
|
||||||
classType: "bullet",
|
classType: "bullet",
|
||||||
collisionFilter: {
|
collisionFilter: {
|
||||||
category: 0x000100,
|
category: 0x000100,
|
||||||
@@ -1822,17 +1822,14 @@ const b = {
|
|||||||
},
|
},
|
||||||
onEnd() {},
|
onEnd() {},
|
||||||
do() {
|
do() {
|
||||||
this.force.y += this.mass * 0.00005;
|
this.force.y += this.mass * 0.00006; //gravity
|
||||||
|
|
||||||
//draw white circle
|
//draw white circle
|
||||||
ctx.beginPath()
|
ctx.beginPath()
|
||||||
ctx.arc(this.position.x, this.position.y, this.radius * 0.97 - 1.6, 0, 2 * Math.PI);
|
ctx.arc(this.position.x, this.position.y, this.radius * 0.97 - 1.6, 0, 2 * Math.PI);
|
||||||
ctx.fillStyle = "#fff"
|
ctx.fillStyle = "#fff"
|
||||||
ctx.fill()
|
ctx.fill()
|
||||||
|
|
||||||
|
|
||||||
if (!mech.isBodiesAsleep) { //if time dilation isn't active
|
if (!mech.isBodiesAsleep) { //if time dilation isn't active
|
||||||
|
|
||||||
if (this.count < 17) {
|
if (this.count < 17) {
|
||||||
this.count++
|
this.count++
|
||||||
//grow
|
//grow
|
||||||
@@ -1841,20 +1838,18 @@ const b = {
|
|||||||
this.radius *= SCALE;
|
this.radius *= SCALE;
|
||||||
} else {
|
} else {
|
||||||
//shrink
|
//shrink
|
||||||
const SCALE = 1 - 0.006 / b.isModBulletsLastLonger
|
const SCALE = 1 - 0.007 / b.isModBulletsLastLonger
|
||||||
Matter.Body.scale(this, SCALE, SCALE);
|
Matter.Body.scale(this, SCALE, SCALE);
|
||||||
this.radius *= SCALE;
|
this.radius *= SCALE;
|
||||||
if (this.radius < 11) this.endCycle = 0;
|
if (this.radius < 11) this.endCycle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.target && this.target.alive) { //if stuck to a target
|
||||||
if (this.target && this.target.alive) {
|
|
||||||
Matter.Body.setPosition(this, this.target.position)
|
Matter.Body.setPosition(this, this.target.position)
|
||||||
Matter.Body.setVelocity(this.target, Matter.Vector.mult(this.target.velocity, 0.95))
|
Matter.Body.setVelocity(this.target, Matter.Vector.mult(this.target.velocity, 0.94))
|
||||||
Matter.Body.setAngularVelocity(this.target, this.target.angularVelocity * 0.96)
|
Matter.Body.setAngularVelocity(this.target, this.target.angularVelocity * 0.94)
|
||||||
this.target.damage(b.dmgScale * 0.0025);
|
this.target.damage(b.dmgScale * 0.0045);
|
||||||
} else {
|
} else { //look for a new target
|
||||||
//look for a new target
|
|
||||||
this.target = null
|
this.target = null
|
||||||
this.collisionFilter.category = 0x000100;
|
this.collisionFilter.category = 0x000100;
|
||||||
}
|
}
|
||||||
@@ -1862,13 +1857,13 @@ const b = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
World.add(engine.world, bullet[me]); //add bullet to world
|
World.add(engine.world, bullet[me]); //add bullet to world
|
||||||
mech.fireCDcycle = mech.cycle + Math.floor((mech.crouch ? 15 : 3) * b.modFireRate); // cool down
|
mech.fireCDcycle = mech.cycle + Math.floor((mech.crouch ? 15 : 4) * b.modFireRate); // cool down
|
||||||
const SPEED = mech.crouch ? 22 : 15 - RADIUS * 0.25;
|
const SPEED = mech.crouch ? 20 : 14 - RADIUS * 0.25;
|
||||||
Matter.Body.setVelocity(bullet[me], {
|
Matter.Body.setVelocity(bullet[me], {
|
||||||
x: SPEED * Math.cos(dir),
|
x: SPEED * Math.cos(dir),
|
||||||
y: SPEED * Math.sin(dir)
|
y: SPEED * Math.sin(dir)
|
||||||
});
|
});
|
||||||
bullet[me].direction = Matter.Vector.perp(bullet[me].velocity)
|
// bullet[me].direction = Matter.Vector.perp(bullet[me].velocity)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -425,6 +425,7 @@ const game = {
|
|||||||
game.fpsCap = game.fpsCapDefault;
|
game.fpsCap = game.fpsCapDefault;
|
||||||
game.makeGunHUD();
|
game.makeGunHUD();
|
||||||
mech.drop();
|
mech.drop();
|
||||||
|
mech.holdingTarget = null
|
||||||
mech.addHealth(1);
|
mech.addHealth(1);
|
||||||
mech.alive = true;
|
mech.alive = true;
|
||||||
level.onLevel = 0;
|
level.onLevel = 0;
|
||||||
|
|||||||
@@ -1452,7 +1452,7 @@ const mech = {
|
|||||||
mech.setHoldDefaults();
|
mech.setHoldDefaults();
|
||||||
mech.fieldRegen *= 3;
|
mech.fieldRegen *= 3;
|
||||||
mech.hold = function () {
|
mech.hold = function () {
|
||||||
if (mech.fieldMeter === mech.fieldEnergyMax) {
|
if (mech.fieldMeter > mech.fieldEnergyMax - 0.02) {
|
||||||
mech.fieldMeter -= 0.43;
|
mech.fieldMeter -= 0.43;
|
||||||
b.guns[gunIndex].fire() //spawn drone
|
b.guns[gunIndex].fire() //spawn drone
|
||||||
mech.fireCDcycle = mech.cycle + 25; // set fire cool down to prevent +energy from making huge numbers of drones
|
mech.fireCDcycle = mech.cycle + 25; // set fire cool down to prevent +energy from making huge numbers of drones
|
||||||
|
|||||||
Reference in New Issue
Block a user