wave bullets end after damage
wave beam bullets now end after hitting mobs bullets do more damage, and reduce mob velocity a bit more ammo, more fire delay most wave beam tech has been buffed a bit also
This commit is contained in:
27
js/bullet.js
27
js/bullet.js
@@ -3177,7 +3177,7 @@ const b = {
|
|||||||
// **************************************************************************************************
|
// **************************************************************************************************
|
||||||
guns: [{
|
guns: [{
|
||||||
name: "nail gun",
|
name: "nail gun",
|
||||||
description: "use compressed air to fire a stream of <strong>nails</strong><br><strong>delay</strong> after firing <strong>decreases</strong> as you shoot",
|
description: "use compressed air to fire a stream of <strong>nails</strong><br><strong><em>delay</em></strong> after firing <strong>decreases</strong> as you shoot",
|
||||||
ammo: 0,
|
ammo: 0,
|
||||||
ammoPack: 45,
|
ammoPack: 45,
|
||||||
defaultAmmoPack: 45,
|
defaultAmmoPack: 45,
|
||||||
@@ -3608,12 +3608,12 @@ const b = {
|
|||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
name: "wave beam",
|
name: "wave beam",
|
||||||
description: "emit a <strong>wave packet</strong> of <strong>oscillating</strong> particles<br>that propagate through <strong>solids</strong>",
|
description: "emit a <strong>wave packet</strong> of oscillating particles<br>that propagates through <strong>solids</strong>",
|
||||||
ammo: 0,
|
ammo: 0,
|
||||||
ammoPack: 80,
|
ammoPack: 100,
|
||||||
have: false,
|
have: false,
|
||||||
wavePacketCycle: 0,
|
wavePacketCycle: 0,
|
||||||
delay: 40,
|
delay: 60,
|
||||||
do() {
|
do() {
|
||||||
if (this.wavePacketCycle && !input.fire) {
|
if (this.wavePacketCycle && !input.fire) {
|
||||||
this.wavePacketCycle = 0;
|
this.wavePacketCycle = 0;
|
||||||
@@ -3659,18 +3659,19 @@ const b = {
|
|||||||
}
|
}
|
||||||
q = Matter.Query.point(mob, this.position) // check if inside a mob
|
q = Matter.Query.point(mob, this.position) // check if inside a mob
|
||||||
for (let i = 0; i < q.length; i++) {
|
for (let i = 0; i < q.length; i++) {
|
||||||
let dmg = this.dmg / Math.min(10, q[i].mass)
|
let dmg = this.dmg // / Math.min(10, q[i].mass)
|
||||||
q[i].damage(dmg);
|
q[i].damage(dmg);
|
||||||
q[i].foundPlayer();
|
q[i].foundPlayer();
|
||||||
|
Matter.Body.setVelocity(q[i], Vector.mult(q[i].velocity, 0.9))
|
||||||
|
|
||||||
//this draw circle had to be remove to reduce lag
|
this.endCycle = 0; //bullet ends cycle after doing damage
|
||||||
// simulation.drawList.push({ //add dmg to draw queue
|
simulation.drawList.push({ //add dmg to draw queue
|
||||||
// x: this.position.x,
|
x: this.position.x,
|
||||||
// y: this.position.y,
|
y: this.position.y,
|
||||||
// radius: Math.log(2 * dmg + 1.1) * 40,
|
radius: Math.log(2 * dmg + 1.1) * 40,
|
||||||
// color: 'rgba(0,0,0,0.4)',
|
color: 'rgba(0,0,0,0.4)',
|
||||||
// time: simulation.drawTime
|
time: simulation.drawTime
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wiggle() {
|
wiggle() {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const level = {
|
|||||||
// simulation.zoomScale = 1000;
|
// simulation.zoomScale = 1000;
|
||||||
// simulation.setZoom();
|
// simulation.setZoom();
|
||||||
// m.setField("metamaterial cloaking")
|
// m.setField("metamaterial cloaking")
|
||||||
b.giveGuns("wave beam")
|
// b.giveGuns("wave beam")
|
||||||
// b.giveGuns("laser")
|
// b.giveGuns("laser")
|
||||||
// tech.isExplodeRadio = true
|
// tech.isExplodeRadio = true
|
||||||
// tech.giveTech("pulse")
|
// tech.giveTech("pulse")
|
||||||
@@ -25,7 +25,7 @@ const level = {
|
|||||||
// for (let i = 0; i < 3; i++) tech.giveTech("propagation")
|
// for (let i = 0; i < 3; i++) tech.giveTech("propagation")
|
||||||
// for (let i = 0; i < 3; i++) tech.giveTech("bound state")
|
// for (let i = 0; i < 3; i++) tech.giveTech("bound state")
|
||||||
// for (let i = 0; i < 9; i++) tech.giveTech("slow light")
|
// for (let i = 0; i < 9; i++) tech.giveTech("slow light")
|
||||||
tech.giveTech("metastability")
|
// tech.giveTech("metastability")
|
||||||
|
|
||||||
level.intro(); //starting level
|
level.intro(); //starting level
|
||||||
// level.testing(); //not in rotation
|
// level.testing(); //not in rotation
|
||||||
|
|||||||
56
js/tech.js
56
js/tech.js
@@ -1738,7 +1738,7 @@
|
|||||||
frequency: 4,
|
frequency: 4,
|
||||||
frequencyDefault: 4,
|
frequencyDefault: 4,
|
||||||
allowed() {
|
allowed() {
|
||||||
return tech.isFlipFlopEnergy || tech.isFlipFlopDamage || tech.isFlipFlopHarm
|
return tech.isFlipFlopEnergy || tech.isFlipFlopDamage || tech.isFlipFlopHarm || tech.relayIce
|
||||||
},
|
},
|
||||||
requires: "2 ON/OFF techs",
|
requires: "2 ON/OFF techs",
|
||||||
effect() {
|
effect() {
|
||||||
@@ -1965,9 +1965,9 @@
|
|||||||
count: 0,
|
count: 0,
|
||||||
frequency: 2,
|
frequency: 2,
|
||||||
allowed() {
|
allowed() {
|
||||||
return (tech.iceEnergy || tech.isWormholeEnergy || tech.isPiezo || tech.isRailEnergyGain) && tech.energyRegen !== 0.004 && !tech.isEnergyHealth
|
return (tech.iceEnergy || tech.isWormholeEnergy || tech.isPiezo || tech.isRailEnergyGain || tech.energySiphon || tech.isEnergyRecovery || tech.dynamoBotCount || tech.isFlipFlopEnergy) && tech.energyRegen !== 0.004 && !tech.isEnergyHealth
|
||||||
},
|
},
|
||||||
requires: "piezoelectricity, Penrose, half-wave, or thermoelectric, but not time crystals",
|
requires: "a way to regen extra energy, but not time crystals",
|
||||||
effect: () => {
|
effect: () => {
|
||||||
tech.energyRegen = 0;
|
tech.energyRegen = 0;
|
||||||
m.fieldRegen = tech.energyRegen;
|
m.fieldRegen = tech.energyRegen;
|
||||||
@@ -2012,7 +2012,7 @@
|
|||||||
description: "each <strong class='color-h'>heal</strong> <strong>power up</strong> you collect<br>increases your <strong>maximum</strong> <strong class='color-f'>energy</strong> by <strong>5</strong>",
|
description: "each <strong class='color-h'>heal</strong> <strong>power up</strong> you collect<br>increases your <strong>maximum</strong> <strong class='color-f'>energy</strong> by <strong>5</strong>",
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
frequency: 2,
|
frequency: 3,
|
||||||
allowed() {
|
allowed() {
|
||||||
return tech.isEnergyHealth && !tech.isNoHeals
|
return tech.isEnergyHealth && !tech.isNoHeals
|
||||||
},
|
},
|
||||||
@@ -3686,25 +3686,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "bound state",
|
name: "bound state",
|
||||||
description: "instead of dissipating normally<br>wave packets <strong>reflect</strong> backwards <strong>1</strong> times",
|
description: "instead of dissipating normally<br>wave packets <strong>reflect</strong> backwards <strong>2</strong> times",
|
||||||
isGunTech: true,
|
|
||||||
maxCount: 9,
|
|
||||||
count: 0,
|
|
||||||
frequency: 2,
|
|
||||||
allowed() {
|
|
||||||
return tech.haveGunCheck("wave beam")
|
|
||||||
},
|
|
||||||
requires: "wave beam",
|
|
||||||
effect() {
|
|
||||||
tech.waveReflections++
|
|
||||||
},
|
|
||||||
remove() {
|
|
||||||
tech.waveReflections = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "packet length",
|
|
||||||
description: "wave packet <strong>length</strong> and <strong>duration</strong><br>is increased by <strong>40%</strong>", // description: "holding fire allows the <strong>wave beam</strong> to emits a second <strong>packet</strong><br>at zero ammo cost",
|
|
||||||
isGunTech: true,
|
isGunTech: true,
|
||||||
maxCount: 3,
|
maxCount: 3,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -3714,7 +3696,25 @@
|
|||||||
},
|
},
|
||||||
requires: "wave beam",
|
requires: "wave beam",
|
||||||
effect() {
|
effect() {
|
||||||
const scale = 1.4 - 0.025 * this.count
|
tech.waveReflections += 2
|
||||||
|
},
|
||||||
|
remove() {
|
||||||
|
tech.waveReflections = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "packet length",
|
||||||
|
description: "wave packet <strong>length</strong> and <strong>duration</strong><br>is increased by <strong>50%</strong>", // description: "holding fire allows the <strong>wave beam</strong> to emits a second <strong>packet</strong><br>at zero ammo cost",
|
||||||
|
isGunTech: true,
|
||||||
|
maxCount: 3,
|
||||||
|
count: 0,
|
||||||
|
frequency: 2,
|
||||||
|
allowed() {
|
||||||
|
return tech.haveGunCheck("wave beam")
|
||||||
|
},
|
||||||
|
requires: "wave beam",
|
||||||
|
effect() {
|
||||||
|
const scale = 1.5 - 0.025 * this.count
|
||||||
tech.wavePacketLength *= scale
|
tech.wavePacketLength *= scale
|
||||||
tech.wavePacketFrequency /= scale
|
tech.wavePacketFrequency /= scale
|
||||||
tech.waveLengthRange *= Math.sqrt(scale)
|
tech.waveLengthRange *= Math.sqrt(scale)
|
||||||
@@ -3727,7 +3727,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "amplitude",
|
name: "amplitude",
|
||||||
description: "wave packet <strong>amplitude</strong> is <strong>33%</strong> higher<br>wave <strong class='color-d'>damage</strong> is increased by <strong>33%</strong>",
|
description: "wave packet <strong>amplitude</strong> is <strong>33%</strong> higher<br>wave <strong class='color-d'>damage</strong> is increased by <strong>50%</strong>",
|
||||||
isGunTech: true,
|
isGunTech: true,
|
||||||
maxCount: 3,
|
maxCount: 3,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -3747,7 +3747,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "propagation",
|
name: "propagation",
|
||||||
description: "wave packet propagation <strong>speed</strong> is <strong>30%</strong> slower<br>wave <strong class='color-d'>damage</strong> is increased by <strong>50%</strong>",
|
description: "wave packet propagation <strong>speed</strong> is <strong>25%</strong> slower<br>wave <strong class='color-d'>damage</strong> is increased by <strong>50%</strong>",
|
||||||
isGunTech: true,
|
isGunTech: true,
|
||||||
maxCount: 9,
|
maxCount: 9,
|
||||||
count: 0,
|
count: 0,
|
||||||
@@ -3757,7 +3757,7 @@
|
|||||||
},
|
},
|
||||||
requires: "wave beam",
|
requires: "wave beam",
|
||||||
effect() {
|
effect() {
|
||||||
tech.waveBeamSpeed *= 0.7;
|
tech.waveBeamSpeed *= 0.75;
|
||||||
tech.waveBeamDamage += 1.3 * 0.5
|
tech.waveBeamDamage += 1.3 * 0.5
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
@@ -6025,7 +6025,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "diegesis",
|
name: "diegesis",
|
||||||
description: "indicate gun fire delay<br>through a rotation of your head",
|
description: "indicate gun fire <strong><em>delay</em></strong><br>through a rotation of your head",
|
||||||
maxCount: 1,
|
maxCount: 1,
|
||||||
count: 0,
|
count: 0,
|
||||||
frequency: 0,
|
frequency: 0,
|
||||||
|
|||||||
20
todo.txt
20
todo.txt
@@ -1,7 +1,6 @@
|
|||||||
******************************************************** NEXT PATCH ********************************************************
|
******************************************************** NEXT PATCH ********************************************************
|
||||||
|
|
||||||
tech: metastability - 20% dup chance, but duplicated powers up eventually explode
|
|
||||||
nerfed tech: electric reactive armor 6% (was 7%) explosion damage reduction for every 10 energy you currently have
|
|
||||||
|
|
||||||
******************************************************** BUGS ********************************************************
|
******************************************************** BUGS ********************************************************
|
||||||
|
|
||||||
@@ -39,18 +38,17 @@ is there a way to check if the player is stuck inside the map or block
|
|||||||
|
|
||||||
******************************************************** TODO ********************************************************
|
******************************************************** TODO ********************************************************
|
||||||
|
|
||||||
make wave packets a tech
|
tech: a slow moving immortal mob follows you forever
|
||||||
use the tech that makes the wave packets longer?
|
spawns at exit and just slowing moves towards player
|
||||||
default wave can be two oscillating waves
|
benefit:
|
||||||
|
|
||||||
|
tech: use the ability for power ups to have custom code
|
||||||
|
attracted to player
|
||||||
|
attracted to other power ups
|
||||||
|
explode if they touch?
|
||||||
|
|
||||||
make beating the final boss without undefined feel like winning, not like dieing
|
make beating the final boss without undefined feel like winning, not like dieing
|
||||||
|
|
||||||
try making more things const to change the color to purple in simulation loop
|
|
||||||
|
|
||||||
power ups disappear after 3-5 seconds
|
|
||||||
only apply to drops from killing mobs
|
|
||||||
+duplication 20%
|
|
||||||
|
|
||||||
tech: picking up heal power ups when at full health does harm equal to the heal values
|
tech: picking up heal power ups when at full health does harm equal to the heal values
|
||||||
benefit on pick up:
|
benefit on pick up:
|
||||||
get ammo
|
get ammo
|
||||||
|
|||||||
Reference in New Issue
Block a user