diff --git a/.DS_Store b/.DS_Store
index 82fe577..d62d47b 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/js/bullet.js b/js/bullet.js
index 0754ce2..1cc7aaa 100644
--- a/js/bullet.js
+++ b/js/bullet.js
@@ -3609,9 +3609,9 @@ const b = {
}
}, {
name: "wave beam",
- description: "emit a wavelet of oscillating particles
that propagate through solids",
+ description: "emit a wavelet of oscillating particles
that propagate through solids",
ammo: 0,
- ammoPack: 80,
+ ammoPack: 82,
have: false,
packetCounter: 0,
delay: 44,
@@ -3623,10 +3623,6 @@ const b = {
this.packetCounter = 0;
}
}
- //draw cooldown ?
- },
- calculateDamage() {
-
},
damage: 1,
fire() {
@@ -3635,13 +3631,13 @@ const b = {
bullet[me] = Bodies.polygon(m.pos.x + 25 * Math.cos(m.angle), m.pos.y + 25 * Math.sin(m.angle), 7, 3.5, {
angle: m.angle,
cycle: -0.5,
- endCycle: simulation.cycle + Math.floor((tech.waveReflections ? Infinity : 160) * tech.isBulletsLastLonger), // - this.packetCounter + tech.wavePacketLength, //- this.packetCounter + this.packetLength makes the entire packet go away at the same time
+ endCycle: simulation.cycle + Math.floor((tech.waveReflections ? Infinity : 160 * tech.wavePacketLength) * tech.isBulletsLastLonger), // - this.packetCounter + tech.wavePacketLength, //- this.packetCounter + this.packetLength makes the entire packet go away at the same time
inertia: Infinity,
frictionAir: 0,
slow: 0,
- amplitude: (m.crouch ? 10 : 20) * tech.waveAmplitude * Math.sin(this.packetCounter * tech.wavePacketFrequency) * ((i % 2) ? (tech.isImaginaryWave ? 1 : -1) : 1),
+ amplitude: (m.crouch ? 10 : 20) * tech.waveAmplitude * Math.sin(this.packetCounter * tech.wavePacketFrequency) * ((i % 2) ? -1 : 1), //(tech.isImaginaryWave ? 1 : -1)
minDmgSpeed: 0,
- dmg: b.dmgScale * tech.waveBeamDamage * (tech.isImaginaryWave ? 3 : 1) * tech.waveAmplitude * tech.wavePacketLength / 36, //control damage also when you divide by mob.mass
+ dmg: b.dmgScale * tech.waveBeamDamage * tech.waveAmplitude * tech.wavePacketLength / 36, //control damage also when you divide by mob.mass //* (tech.isImaginaryWave ? 3 : 1)
classType: "bullet",
collisionFilter: {
category: 0,
@@ -3698,7 +3694,7 @@ const b = {
waveSpeedBody = 1.9
}
if (tech.waveReflections) {
- const range = 100
+ const range = 100 / Math.sqrt(tech.waveFrequency)
bullet[me].reflectCycle = range
bullet[me].do = function() {
if (!m.isBodiesAsleep) {
diff --git a/js/level.js b/js/level.js
index 622cb8c..7c82697 100644
--- a/js/level.js
+++ b/js/level.js
@@ -21,7 +21,7 @@ const level = {
// tech.isExplodeRadio = true
// for (let i = 0; i < 1; i++) tech.giveTech("amplitude")
// tech.giveTech("aerogel")
- // for (let i = 0; i < 0; i++) tech.giveTech("jabbering")
+ // for (let i = 0; i < 3; i++) tech.giveTech("wavelength")
// tech.giveTech("phase velocity")
// tech.giveTech("imaginary")
// for (let i = 0; i < 2; i++) tech.giveTech("least action")
diff --git a/js/tech.js b/js/tech.js
index 899a4a6..871644e 100644
--- a/js/tech.js
+++ b/js/tech.js
@@ -3614,7 +3614,7 @@
},
{
name: "phase velocity",
- description: "wavelets propagates faster in solids",
+ description: "wavelets propagate faster in solids",
isGunTech: true,
maxCount: 1,
count: 0,
@@ -3632,7 +3632,7 @@
},
{
name: "bound state",
- description: "instead of dissipating normally
wavelets reflect backwards 2 times",
+ description: "instead of dissipating normally
wavelets reflect backwards 2 times",
isGunTech: true,
maxCount: 9,
count: 0,
@@ -3650,7 +3650,7 @@
},
{
name: "wavelength",
- description: "wavelet length is 25% longer
wave damage is increased by 25%", // description: "holding fire allows the wave beam to emits a second packet
at zero ammo cost",
+ description: "wavelet length and duration
is increased by 33%", // description: "holding fire allows the wave beam to emits a second packet
at zero ammo cost",
isGunTech: true,
maxCount: 9,
count: 0,
@@ -3660,8 +3660,8 @@
},
requires: "wave beam",
effect() {
- tech.wavePacketLength *= 1.25 //if you change this to not be 36 update /36 in wave .dmg
- tech.wavePacketFrequency *= 0.7995
+ tech.wavePacketLength *= 1.33 //if you change this to not be 36 update /36 in wave .dmg
+ tech.wavePacketFrequency *= 0.752
tech.waveFrequency *= 0.9
},
remove() {
@@ -3672,7 +3672,7 @@
},
{
name: "amplitude",
- description: "wavelet amplitude is 33% higher
wave damage is increased by 33%",
+ description: "wavelet amplitude is 33% higher
wave damage is increased by 33%",
isGunTech: true,
maxCount: 3,
count: 0,
@@ -3689,8 +3689,8 @@
}
},
{
- name: "least action",
- description: "wavelets propagation speed is 25% slower
wave damage is increased by 50%",
+ name: "propagation",
+ description: "wavelet propagation speed is 25% slower
wave damage is increased by 50%",
isGunTech: true,
maxCount: 3,
count: 0,
@@ -3701,31 +3701,31 @@
requires: "wave beam",
effect() {
tech.waveBeamSpeed -= 2.5;
- tech.waveBeamDamage += 0.7 * 0.5
+ tech.waveBeamDamage += 0.55 * 0.5
},
remove() {
tech.waveBeamSpeed = 10;
- tech.waveBeamDamage = 0.7
- }
- },
- {
- name: "imaginary",
- description: "the wavelet is limited to a single strand
wave damage is increased by 300%",
- isGunTech: true,
- maxCount: 1,
- count: 0,
- frequency: 2,
- allowed() {
- return tech.haveGunCheck("wave beam")
- },
- requires: "wave beam",
- effect() {
- tech.isImaginaryWave = true
- },
- remove() {
- tech.isImaginaryWave = false
+ tech.waveBeamDamage = 0.55 //this sets base wave beam damage
}
},
+ // {
+ // name: "imaginary",
+ // description: "the wavelet is limited to a single strand
wave damage is increased by 300%",
+ // isGunTech: true,
+ // maxCount: 1,
+ // count: 0,
+ // frequency: 2,
+ // allowed() {
+ // return tech.haveGunCheck("wave beam")
+ // },
+ // requires: "wave beam",
+ // effect() {
+ // tech.isImaginaryWave = true
+ // },
+ // remove() {
+ // tech.isImaginaryWave = false
+ // }
+ // },
{
name: "cruise missile",
description: "missiles travel 63% slower,
but have a 50% larger explosive payload",
@@ -4431,7 +4431,7 @@
}
},
{
- name: "slow light propagation",
+ name: "slow light",
description: "laser beam is spread into your recent past
increase total beam damage by 300%",
isGunTech: true,
maxCount: 9,
diff --git a/todo.txt b/todo.txt
index c5c5585..2a2fff2 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,11 +1,6 @@
******************************************************** NEXT PATCH ********************************************************
-harm immunity effects now apply to explosion self damage
-tech: CPT grenades no longer harm you
-
-tech: least action - wavelets are slower and do more damage
-tech: amplitude - wavelets are taller and do more damage
-tech: wavelength - wavelets are longer and do more damage
+tech: wavelength - wavelets are longer and have more range
******************************************************** BUGS ********************************************************
@@ -39,11 +34,15 @@ is there a way to check if the player is stuck inside the map or block
******************************************************** TODO ********************************************************
+wavelength should do no damage, but give much more length
+
wave tech: dispersion - add noise and damage to waves
wave tech: chirp - amplitude increases with time
make a system to show current gun damage in pause menu?
+mobs that die while frozen produce ice-IX bullets
+
tech: picking up heal power ups when at full health does harm equal to the heal values
benefit on pick up:
get ammo