diff --git a/js/bullets.js b/js/bullets.js index 9e2c552..94220e5 100644 --- a/js/bullets.js +++ b/js/bullets.js @@ -485,7 +485,7 @@ const b = { }, effect: () => { b.isModNoAmmo = true; - for (let i = 0; i < 6; i++) { // spawn new mods + for (let i = 0; i < 6; i++) { //if you change the six also change it in Born rule powerUps.spawn(mech.pos.x, mech.pos.y, "mod"); if (Math.random() < b.isModBayesian) powerUps.spawn(mech.pos.x, mech.pos.y, "mod"); } @@ -516,7 +516,9 @@ const b = { return (b.modCount > 6) }, effect: () => { - for (let i = 0; i < b.modCount; i++) { // spawn new mods + let count = b.modCount + if (b.isModNoAmmo) count - 6 //remove the 6 bonus mods when getting rid of leveraged investment + for (let i = 0; i < count; i++) { // spawn new mods powerUps.spawn(mech.pos.x, mech.pos.y, "mod"); } b.setModDefaults(); // remove all mods @@ -1549,7 +1551,7 @@ const b = { }); World.add(engine.world, bullet[me]); //add bullet to world mech.fireCDcycle = mech.cycle + Math.floor((mech.crouch ? 8 : 4) * b.modFireRate); // cool down - const SPEED = mech.crouch ? 5.2 : 4.5; + const SPEED = 8.5; Matter.Body.setVelocity(bullet[me], { x: SPEED * Math.cos(dir), y: SPEED * Math.sin(dir) @@ -1561,7 +1563,6 @@ const b = { // bullet[me].direction = Vector.perp(bullet[me].velocity) // } - World.add(engine.world, bullet[me]); //add bullet to world } }, { @@ -1662,7 +1663,8 @@ const b = { } } } - }, { + }, + { name: "flak", description: "fire a cluster of short range projectiles
explodes on contact or after half a second", ammo: 0, @@ -1706,7 +1708,8 @@ const b = { } } } - }, { + }, + { name: "grenades", //7 description: "lob a single bouncy projectile
explodes on contact or after one second", ammo: 0, @@ -1735,7 +1738,8 @@ const b = { this.force.y += this.mass * 0.0025; }; } - }, { + }, + { name: "vacuum bomb", //8 description: "fire a bomb that sucks before exploding
click left mouse again to detonate", ammo: 0, @@ -1841,7 +1845,8 @@ const b = { } } } - }, { + }, + { name: "mine", //9 description: "toss a proximity mine that sticks to walls
fires nails at enemies within range", ammo: 0, diff --git a/js/index.js b/js/index.js index 5fbe33e..53d4925 100644 --- a/js/index.js +++ b/js/index.js @@ -2,6 +2,30 @@ /* TODO: ******************************************* ***************************************************** +mod - energy recharges fast when not moving + +lore - a mech gains self awareness + each mod/gun/field is a new tech + all the technology leads to the singularity + each game run is actually the mech simulating a possible escape + this is why the graphics are so bad, its just a simulation + final mod is "this is just a simulation" + you get immortality and Infinity damage + the next level is the final level + atmosphere levels that explore lore + give the user a rest, between combat + low combat more graphics + large rotating fan that the player has to move through + nonaggressive mobs one mob attacking the passive mobs + in the final level you see your self at the starting level, with the wires + you shoot your self to wake up? + +wave beam - needs a serious buff, its not fun, and it needs more damage + shorter range, higher dmg, faster wiggle +mod: wave beam - speed up the wave beam and reduce the wave amplitude to improve targeting at range + +shotgun - even more short range effects + mod: flechettes - each burst fires an extra flechette mod: flechettes - stick into mobs and do poison damage, like foam @@ -14,9 +38,6 @@ mod: shield harmonics - large field radius mod: shotgun - fire extra shot but also increase spread? -mod: wave beam - speed up the wave beam and reduce the wave amplitude to improve targeting at range - - speed up movement higher gravity, larger jump force faster horizontal acceleration @@ -34,8 +55,6 @@ key required to open the exit to some levels css transition for pause menu -mod: like Born rule, but for guns - field that pushes everything back, and can destroy smaller blocks converts blocks into ammo power ups @@ -87,14 +106,6 @@ gun: Spirit Bomb (singularity) uses energy hold above the player's head -atmosphere levels - large rotating fan that the player has to move through - give the user a rest, between combat - low combat - nonaggressive mobs - one mob attacking the passive mobs - more graphics - Boss levels sensor that locks you in after you enter the boss room boss that eats other mobs and gains stats from them diff --git a/js/level.js b/js/level.js index e38ddc6..cf53d8c 100644 --- a/js/level.js +++ b/js/level.js @@ -14,7 +14,7 @@ const level = { start() { if (level.levelsCleared === 0) { // level.difficultyIncrease(5) - // b.giveGuns("laser") + b.giveGuns("wave beam") // mech.setField("phase decoherence field") // b.giveMod("mass-energy equivalence"); diff --git a/js/player.js b/js/player.js index b84b4e8..3aa1300 100644 --- a/js/player.js +++ b/js/player.js @@ -330,9 +330,9 @@ const mech = { //find what mods I don't have let options = []; for (let i = 0, len = b.mods.length; i < len; i++) { - //can't get quantum immortality or multiverse if (b.mods[i].name !== "quantum immortality" && b.mods[i].name !== "Born rule" && + b.mods[i].name !== "leveraged investment" && b.mods[i].count < b.mods[i].maxCount) options.push(i); } //add a new mod @@ -659,7 +659,7 @@ const mech = { mech.fieldThreshold = Math.cos(mech.fieldArc * Math.PI) }, setHoldDefaults() { - mech.fieldMeter = mech.fieldEnergyMax; + if (mech.fieldMeter < mech.fieldEnergyMax) mech.fieldMeter = mech.fieldEnergyMax; mech.fieldRegen = 0.001; mech.fieldFire = false; mech.fieldCDcycle = 0;