working on wave beam balance
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
37
js/index.js
37
js/index.js
@@ -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
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user