incendiary ammunition

bug fix- spider boss moves at full speed again (watch out)
bots that uses energy, stop when you hit 50% energy if you have mass-energy mod
you get a warning before you overwrite your current gun due to integrated armament

gun - flak is removed
mod: incendiary ammunition - bullets explode
  shotgun,  nail gun,  drones,  super balls
This commit is contained in:
landgreen
2020-11-14 08:44:26 -08:00
parent 6e90ed2376
commit d1733a9153
4 changed files with 29 additions and 23 deletions

View File

@@ -604,7 +604,6 @@ const b = {
const that = this const that = this
setTimeout(function() { setTimeout(function() {
if (Matter.Query.collides(that, map).length === 0 || Matter.Query.point(map, that.position).length > 0) { if (Matter.Query.collides(that, map).length === 0 || Matter.Query.point(map, that.position).length > 0) {
// console.log(that)
that.endCycle = 0 // if not touching map explode that.endCycle = 0 // if not touching map explode
that.isArmed = false that.isArmed = false
b.mine(that.position, that.velocity, that.angle) b.mine(that.position, that.velocity, that.angle)
@@ -929,8 +928,9 @@ const b = {
isImproved: false, isImproved: false,
beforeDmg(who) { beforeDmg(who) {
if (mod.isIncendiary) { if (mod.isIncendiary) {
b.explosion(this.position, 120 + (Math.random() - 0.5) * 60); //makes bullet do explosive damage at end const max = Math.min(this.endCycle - game.cycle, 1500)
this.endCycle = 0 b.explosion(this.position, max * 0.08 + this.isImproved * 100 + 60 * Math.random()); //makes bullet do explosive damage at end
this.endCycle -= max
} else { } else {
//move away from target after hitting //move away from target after hitting
const unit = Vector.mult(Vector.normalise(Vector.sub(this.position, who.position)), -20) const unit = Vector.mult(Vector.normalise(Vector.sub(this.position, who.position)), -20)
@@ -938,7 +938,6 @@ const b = {
x: unit.x, x: unit.x,
y: unit.y y: unit.y
}); });
this.lockedOn = null this.lockedOn = null
if (this.endCycle > game.cycle + this.deathCycles) { if (this.endCycle > game.cycle + this.deathCycles) {
this.endCycle -= 60 this.endCycle -= 60
@@ -2072,10 +2071,14 @@ const b = {
bullet[me].restitution = 1; bullet[me].restitution = 1;
bullet[me].friction = 0; bullet[me].friction = 0;
bullet[me].do = function() { bullet[me].do = function() {
this.force.y += this.mass * 0.001; this.force.y += this.mass * 0.0012;
}; };
bullet[me].beforeDmg = function(who) { bullet[me].beforeDmg = function(who) {
mobs.statusStun(who, 180) // (2.3) * 2 / 14 ticks (2x damage over 7 seconds) mobs.statusStun(who, 180) // (2.3) * 2 / 14 ticks (2x damage over 7 seconds)
if (mod.isIncendiary) {
b.explosion(this.position, this.mass * 250); //makes bullet do explosive damage at end
this.endCycle = 0
}
}; };
} else { } else {
b.muzzleFlash(20); b.muzzleFlash(20);
@@ -2097,6 +2100,12 @@ const b = {
bullet[me].do = function() { bullet[me].do = function() {
this.force.y += this.mass * 0.001; this.force.y += this.mass * 0.001;
}; };
bullet[me].beforeDmg = function() {
if (mod.isIncendiary) {
b.explosion(this.position, this.mass * 330 + 40 * Math.random()); //makes bullet do explosive damage at end
this.endCycle = 0
}
};
dir += SPREAD; dir += SPREAD;
} }
} }

View File

@@ -17,12 +17,13 @@ const level = {
// game.zoomScale = 1000; // game.zoomScale = 1000;
// game.setZoom(); // game.setZoom();
// mech.setField("wormhole") // mech.setField("wormhole")
// b.giveGuns("drones") // b.giveGuns("super balls")
// mod.giveMod("incendiary ammunition") // mod.giveMod("incendiary ammunition")
// mod.giveMod("super ball")
// level.intro(); //starting level level.intro(); //starting level
level.testing(); //not in rotation // level.testing(); //not in rotation
// level.finalBoss() //final boss level // level.finalBoss() //final boss level
// level.gauntlet(); //before final boss level // level.gauntlet(); //before final boss level
// level.testChamber() //less mobs, more puzzle // level.testChamber() //less mobs, more puzzle

View File

@@ -1576,7 +1576,7 @@ const mod = {
//************************************************** //**************************************************
{ {
name: "incendiary ammunition", name: "incendiary ammunition",
description: "your <strong>bullets</strong> <strong class='color-e'>explode</strong> after a short time<br>(nail gun, shotgun, super balls, drones)", description: "<strong>bullets</strong> are loaded with <strong class='color-e'>explosives</strong><br><span style = 'font-size: 90%'>nail gun, shotgun, super balls, drones</span>",
maxCount: 1, maxCount: 1,
count: 0, count: 0,
allowed() { allowed() {
@@ -1592,7 +1592,7 @@ const mod = {
}, },
{ {
name: "Lorentzian topology", name: "Lorentzian topology",
description: "your <strong>bullets</strong> last <strong>33% longer</strong><br><span style = 'font-size: 85%'>drones, spores, super balls, foam, wave, ice IX, neutron</span>", description: "<strong>bullets</strong> last <strong>33% longer</strong><br><span style = 'font-size: 85%'>drones, spores, super balls, foam, wave, ice IX, neutron</span>",
maxCount: 3, maxCount: 3,
count: 0, count: 0,
allowed() { allowed() {
@@ -1775,7 +1775,7 @@ const mod = {
}, },
{ {
name: "super duper", name: "super duper",
description: "fire <strong>2</strong> additional <strong>super balls</strong>", description: "fire <strong>1</strong> additional <strong>super ball</strong>",
maxCount: 9, maxCount: 9,
count: 0, count: 0,
allowed() { allowed() {
@@ -1783,7 +1783,7 @@ const mod = {
}, },
requires: "super balls, but not the mod super ball", requires: "super balls, but not the mod super ball",
effect() { effect() {
mod.superBallNumber += 2 mod.superBallNumber++
}, },
remove() { remove() {
mod.superBallNumber = 4; mod.superBallNumber = 4;
@@ -1791,7 +1791,7 @@ const mod = {
}, },
{ {
name: "super ball", name: "super ball",
description: "fire one <strong>large</strong> super <strong>ball</strong><br>that <strong>stuns</strong> mobs for <strong>3</strong> second", description: "fire just <strong>1 large</strong> super <strong>ball</strong><br>that <strong>stuns</strong> mobs for <strong>3</strong> second",
maxCount: 1, maxCount: 1,
count: 0, count: 0,
allowed() { allowed() {
@@ -1807,7 +1807,7 @@ const mod = {
}, },
{ {
name: "super sized", name: "super sized",
description: `your <strong>super balls</strong> are <strong>22%</strong> larger<br>increases mass and physical <strong class='color-d'>damage</strong>`, description: `your <strong>super balls</strong> are <strong>20%</strong> larger<br>increases mass and physical <strong class='color-d'>damage</strong>`,
count: 0, count: 0,
maxCount: 9, maxCount: 9,
allowed() { allowed() {
@@ -1815,7 +1815,7 @@ const mod = {
}, },
requires: "super balls", requires: "super balls",
effect() { effect() {
mod.bulletSize += 0.2 mod.bulletSize += 0.15
}, },
remove() { remove() {
mod.bulletSize = 1; mod.bulletSize = 1;

View File

@@ -1,16 +1,12 @@
*********** NEXT PATCH *********** *********** NEXT PATCH ***********
bug - spider boss move at full speed again (watch out) bug fix- spider boss moves at full speed again (watch out)
bots that uses energy stop when you hit 50% energy if you have mass-energy mod bots that uses energy, stop when you hit 50% energy if you have mass-energy mod
you get a warning before you overwrite your current gun due to integrated armament you get a warning before you overwrite your current gun due to integrated armament
gun - flak is removed gun - flak is removed
mod: High-explosive incendiary, or incendiary rounds mod: incendiary ammunition - bullets explode
shotgun: several large explosions shotgun, nail gun, drones, super balls
nail gun: rapid fire explosions
drones: drones explode on impact
super balls: explode on contact
************** BUGS ************** ************** BUGS **************