diff --git a/js/bullets.js b/js/bullets.js
index b129c86..727ff3f 100644
--- a/js/bullets.js
+++ b/js/bullets.js
@@ -65,7 +65,7 @@ const b = {
}
},
{
- name: "corrosion resistant topology",
+ name: "Lorentzian topology",
description: "your bullets last 40% longer",
have: false,
effect: () => {
@@ -99,6 +99,14 @@ const b = {
b.makeDroneOnDamage = true; //makes dangerous situations more survivable
}
},
+ {
+ name: "zoospore vector",
+ description: "when an enemy dies it has a 20% chance to release spores",
+ have: false,
+ effect: () => {
+ b.modSpores = 0.20; //good late game maybe?
+ }
+ },
{
name: "field siphon",
description: "regenerate field energy proportional to your damage done",
@@ -125,14 +133,6 @@ const b = {
b.modIsImmortal = true;
}
},
- {
- name: "zoospore vector",
- description: "when an enemy dies it has a 20% chance to release spores",
- have: false,
- effect: () => {
- b.modSpores = 0.20; //good late game maybe?
- }
- },
// () => {
// b.mod = 8;
// game.makeTextLog("Relativistic Velocity
(left click)
Your bullets are effected extra by your own velocity
", 1200); @@ -456,6 +456,7 @@ const b = { // ammoPack: 350, ammoPack: Infinity, have: false, + isStarterGun: true, fire() { // mech.fireCDcycle = mech.cycle + 1 //laser drains energy as well as bullets @@ -615,6 +616,7 @@ const b = { ammo: 0, ammoPack: 5, have: false, + isStarterGun: true, fire() { b.muzzleFlash(45); // mobs.alert(800); @@ -639,6 +641,7 @@ const b = { ammo: 0, ammoPack: 105, have: false, + isStarterGun: true, fire() { const me = bullet.length; b.muzzleFlash(15); @@ -659,6 +662,7 @@ const b = { ammo: 0, ammoPack: 85, have: false, + isStarterGun: true, fire() { const me = bullet.length; const DIR = mech.angle @@ -712,6 +716,7 @@ const b = { ammo: 0, ammoPack: 11, have: false, + isStarterGun: true, fire() { b.muzzleFlash(20); // mobs.alert(450); @@ -740,6 +745,7 @@ const b = { ammo: 0, ammoPack: 8, have: false, + isStarterGun: true, fire() { b.muzzleFlash(35); // mobs.alert(650); @@ -768,6 +774,7 @@ const b = { ammo: 0, ammoPack: 16, have: false, + isStarterGun: true, fire() { const me = bullet.length; const dir = mech.angle; @@ -792,6 +799,7 @@ const b = { ammo: 0, ammoPack: 8, have: false, + isStarterGun: false, fireCycle: 0, ammoLoaded: 0, fire() { @@ -891,93 +899,13 @@ const b = { } } }, - // { - // name: "seekers", - // description: "fire a needle that curves towards it's target", - // ammo: 0, - // ammoPack: 80, - // have: false, - // fireCycle: 0, - // ammoLoaded: 0, - // fire() { - // let dir = mech.angle + (0.5 - Math.random()) * (mech.crouch ? 0 : 0.2); - // const me = bullet.length; - // bullet[me] = Bodies.rectangle(mech.pos.x + 40 * Math.cos(mech.angle), mech.pos.y + 40 * Math.sin(mech.angle), 31 * b.modBulletSize, 2 * b.modBulletSize, b.fireAttributes(dir)); - // b.fireProps(mech.crouch ? 50 : 30, (mech.crouch ? 15 : 10), dir, me); //cd , speed - // b.drawOneBullet(bullet[me].vertices); - // // Matter.Body.setDensity(bullet[me], 0.01) //doesn't help with reducing explosion knock backs - // bullet[me].endCycle = game.cycle + Math.floor((265 + Math.random() * 20) * b.modBulletsLastLonger); - // bullet[me].lookFrequency = Math.floor(8 + Math.random() * 7); - // bullet[me].lockedOn = null; - // bullet[me].do = function () { - // if (!mech.isBodiesAsleep) { - // this.force.y += this.mass * 0.0002; - - // if (!(mech.cycle % this.lookFrequency)) { - // this.closestTarget = null; - // this.lockedOn = null; - // let closeDist = Infinity; - - // //look for targets - // for (let i = 0, len = mob.length; i < len; ++i) { - // if ( - // mob[i].alive && - // mob[i].dropPowerUp && - // Matter.Query.ray(map, this.position, mob[i].position).length === 0 && - // Matter.Query.ray(body, this.position, mob[i].position).length === 0 - // ) { - // const dist = Matter.Vector.magnitude(Matter.Vector.sub(this.position, mob[i].position)); - // // const futurePosition = Matter.Vector.add(this.position, Matter.Vector.mult(this.velocity, 10)) - // // const dist = Matter.Vector.magnitude(Matter.Vector.sub(futurePosition, mob[i].position)); - // if (dist < closeDist) { - // this.closestTarget = mob[i].position; - // closeDist = dist; - // this.lockedOn = mob[i]; - // } - // } - // } - // } - - // //rotate missile towards the target - // if (this.closestTarget) { - // // const face = { - // // x: Math.cos(this.angle), - // // y: Math.sin(this.angle) - // // }; - // // Matter.Body.rotate(this, -0.08); - // // if (Matter.Vector.dot(target, face) > -0.98) { - // // if (Matter.Vector.cross(target, face) > 0) { - // // Matter.Body.rotate(this, 0.08); - // // } else { - // // Matter.Body.rotate(this, -0.08); - // // } - // // } - - // //rotate the velocity to the new position - // // Matter.Body.setVelocity(this, { - // // x: this.velocity.x * Math.cos(this.angle) - this.velocity.y * Math.sin(this.angle), - // // y: this.velocity.x * Math.sin(this.angle) + this.velocity.y * Math.cos(this.angle) - // // }); - // // const target = Matter.Vector.normalise(Matter.Vector.sub(this.position, this.closestTarget)); - // const oldAngle = this.angle - // Matter.Body.setAngle(this, Matter.Vector.angle(this.position, this.closestTarget)) - // Matter.Body.setVelocity(this, Matter.Vector.rotate(this.velocity, this.angle - oldAngle)); - - // } - // //acceleration is proportional to speed - // // const thrust = 0.00001; - // // this.force.x += Math.cos(dir) * thrust * this.speed; - // // this.force.y += Math.sin(dir) * thrust * this.speed; - // } - // } - // } - // }, { name: "flak", description: "fire a cluster of short range projectiles