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