working on wave beam balance

This commit is contained in:
landgreen
2020-02-11 06:08:59 -08:00
parent c9dba2ac1c
commit 0c54879b9c
4 changed files with 40 additions and 24 deletions

View File

@@ -485,7 +485,7 @@ const b = {
}, },
effect: () => { effect: () => {
b.isModNoAmmo = true; 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"); powerUps.spawn(mech.pos.x, mech.pos.y, "mod");
if (Math.random() < b.isModBayesian) 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) return (b.modCount > 6)
}, },
effect: () => { 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"); powerUps.spawn(mech.pos.x, mech.pos.y, "mod");
} }
b.setModDefaults(); // remove all mods b.setModDefaults(); // remove all mods
@@ -1549,7 +1551,7 @@ 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 ? 8 : 4) * b.modFireRate); // cool down 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], { 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)
@@ -1561,7 +1563,6 @@ const b = {
// bullet[me].direction = Vector.perp(bullet[me].velocity) // 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", name: "flak",
description: "fire a cluster of short range projectiles<br><strong class='color-e'>explodes</strong> on contact or after half a second", description: "fire a cluster of short range projectiles<br><strong class='color-e'>explodes</strong> on contact or after half a second",
ammo: 0, ammo: 0,
@@ -1706,7 +1708,8 @@ const b = {
} }
} }
} }
}, { },
{
name: "grenades", //7 name: "grenades", //7
description: "lob a single bouncy projectile<br><strong class='color-e'>explodes</strong> on contact or after one second", description: "lob a single bouncy projectile<br><strong class='color-e'>explodes</strong> on contact or after one second",
ammo: 0, ammo: 0,
@@ -1735,7 +1738,8 @@ const b = {
this.force.y += this.mass * 0.0025; this.force.y += this.mass * 0.0025;
}; };
} }
}, { },
{
name: "vacuum bomb", //8 name: "vacuum bomb", //8
description: "fire a bomb that <strong>sucks</strong> before <strong class='color-e'>exploding</strong><br>click left mouse again to <strong>detonate</strong>", description: "fire a bomb that <strong>sucks</strong> before <strong class='color-e'>exploding</strong><br>click left mouse again to <strong>detonate</strong>",
ammo: 0, ammo: 0,
@@ -1841,7 +1845,8 @@ const b = {
} }
} }
} }
}, { },
{
name: "mine", //9 name: "mine", //9
description: "toss a <strong>proximity</strong> mine that <strong>sticks</strong> to walls<br>fires <strong>nails</strong> at enemies within range", description: "toss a <strong>proximity</strong> mine that <strong>sticks</strong> to walls<br>fires <strong>nails</strong> at enemies within range",
ammo: 0, ammo: 0,

View File

@@ -2,6 +2,30 @@
/* TODO: ******************************************* /* 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 - each burst fires an extra flechette
mod: flechettes - stick into mobs and do poison damage, like foam 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 mod: shotgun - fire extra shot
but also increase spread? 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 speed up movement
higher gravity, larger jump force higher gravity, larger jump force
faster horizontal acceleration faster horizontal acceleration
@@ -34,8 +55,6 @@ key required to open the exit to some levels
css transition for pause menu css transition for pause menu
mod: like Born rule, but for guns
field that pushes everything back, and can destroy smaller blocks field that pushes everything back, and can destroy smaller blocks
converts blocks into ammo power ups converts blocks into ammo power ups
@@ -87,14 +106,6 @@ gun: Spirit Bomb (singularity)
uses energy uses energy
hold above the player's head 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 Boss levels
sensor that locks you in after you enter the boss room sensor that locks you in after you enter the boss room
boss that eats other mobs and gains stats from them boss that eats other mobs and gains stats from them

View File

@@ -14,7 +14,7 @@ const level = {
start() { start() {
if (level.levelsCleared === 0) { if (level.levelsCleared === 0) {
// level.difficultyIncrease(5) // level.difficultyIncrease(5)
// b.giveGuns("laser") b.giveGuns("wave beam")
// mech.setField("phase decoherence field") // mech.setField("phase decoherence field")
// b.giveMod("mass-energy equivalence"); // b.giveMod("mass-energy equivalence");

View File

@@ -330,9 +330,9 @@ const mech = {
//find what mods I don't have //find what mods I don't have
let options = []; let options = [];
for (let i = 0, len = b.mods.length; i < len; i++) { 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" && if (b.mods[i].name !== "quantum immortality" &&
b.mods[i].name !== "Born rule" && b.mods[i].name !== "Born rule" &&
b.mods[i].name !== "leveraged investment" &&
b.mods[i].count < b.mods[i].maxCount) options.push(i); b.mods[i].count < b.mods[i].maxCount) options.push(i);
} }
//add a new mod //add a new mod
@@ -659,7 +659,7 @@ const mech = {
mech.fieldThreshold = Math.cos(mech.fieldArc * Math.PI) mech.fieldThreshold = Math.cos(mech.fieldArc * Math.PI)
}, },
setHoldDefaults() { setHoldDefaults() {
mech.fieldMeter = mech.fieldEnergyMax; if (mech.fieldMeter < mech.fieldEnergyMax) mech.fieldMeter = mech.fieldEnergyMax;
mech.fieldRegen = 0.001; mech.fieldRegen = 0.001;
mech.fieldFire = false; mech.fieldFire = false;
mech.fieldCDcycle = 0; mech.fieldCDcycle = 0;