diff --git a/.DS_Store b/.DS_Store index b958507..305f838 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/js/level.js b/js/level.js index 675806f..b0a5c05 100644 --- a/js/level.js +++ b/js/level.js @@ -1091,7 +1091,7 @@ const level = { spawn.bodyRect(x + 5, y - 260 + i * blockSize, 30, blockSize); } } - // blockDoor(710, -710); + blockDoor(710, -710); spawn.mapRect(2500, -1200, 200, 750); //right wall blockDoor(2585, -210) spawn.mapRect(2500, -200, 200, 300); //right wall @@ -1103,7 +1103,7 @@ const level = { spawn.mapRect(6700, -1800, 800, 2600); //right wall spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 100); //exit bump - spawn.starter(1900, -500, 200) //big boy + // spawn.starter(1900, -500, 200) //big boy // spawn.grower(1900, -500) // spawn.pulsarBoss(1900, -500) // spawn.shooterBoss(1900, -500) @@ -1112,7 +1112,10 @@ const level = { // spawn.striker(1600, -500) // spawn.laserTargetingBoss(1700, -120) // spawn.bomberBoss(1400, -500) - // spawn.ghoster(1800, -120) + spawn.ghoster(1800, -120) + spawn.ghoster(1800, -120) + spawn.ghoster(1800, -120) + spawn.ghoster(1800, -120) // spawn.streamBoss(1600, -500) // spawn.orbitalBoss(1600, -500) // spawn.cellBossCulture(1600, -500) diff --git a/js/player.js b/js/player.js index c3de7f0..f845447 100644 --- a/js/player.js +++ b/js/player.js @@ -2321,6 +2321,7 @@ const m = { const unit = Vector.mult(Vector.normalise(sub), body[i].mass * tech.pilotForce * Vector.magnitude(sub)) body[i].force.x += unit.x body[i].force.y += unit.y - body[i].mass * simulation.g //remove gravity effects + if (tech.isBlockBullets && body[i].collisionFilter.category !== cat.bullet) body[i].collisionFilter.category = cat.bullet; } else { m.fieldCDcycle = m.cycle + 120; m.fieldOn = false @@ -2330,6 +2331,24 @@ const m = { } } + + // m.holdingTarget.collisionFilter.category = cat.bullet; + // m.holdingTarget.collisionFilter.mask = cat.map | cat.body | cat.bullet | cat.mob | cat.mobBullet | cat.mobShield; + // //check every second to see if player is away from thrown body, and make solid + // const solid = function(that) { + // const dx = that.position.x - player.position.x; + // const dy = that.position.y - player.position.y; + // if (that.speed < 3 && dx * dx + dy * dy > 10000 && that !== m.holdingTarget) { + // that.collisionFilter.category = cat.body; //make solid + // that.collisionFilter.mask = cat.player | cat.map | cat.body | cat.bullet | cat.mob | cat.mobBullet; //can hit player now + // } else { + // setTimeout(solid, 40, that); + // } + // }; + // setTimeout(solid, 200, m.holdingTarget); + + + if (tech.isFreezeMobs) { for (let i = 0, len = mob.length; i < len; ++i) { if (Vector.magnitude(Vector.sub(mob[i].position, m.fieldPosition)) < m.fieldRadius) { diff --git a/js/tech.js b/js/tech.js index dc4872d..cfc6b6b 100644 --- a/js/tech.js +++ b/js/tech.js @@ -1489,9 +1489,9 @@ frequency: 4, frequencyDefault: 4, allowed() { - return tech.throwChargeRate > 1 && !tech.isNoHeals + return tech.throwChargeRate > 1 && !tech.isNoHeals && m.fieldUpgrades[m.fieldMode].name !== "pilot wave" }, - requires: "mass driver, not ergodicity", + requires: "mass driver, not ergodicity, pilot wave", effect() { tech.isBlockPowerUps = true }, @@ -5110,7 +5110,7 @@ allowed() { return m.fieldUpgrades[m.fieldMode].name === "pilot wave" }, - requires: "metamaterial cloaking", + requires: "pilot wave", effect() { tech.pilotForce = 0.0006 }, @@ -5118,6 +5118,24 @@ tech.pilotForce = 0.00002 } }, + { + name: "fermions", + description: "after a block is affected by pilot wave it
collides with intangible mobs, but not you", + isFieldTech: true, + maxCount: 1, + count: 0, + frequency: 2, + allowed() { + return m.fieldUpgrades[m.fieldMode].name === "pilot wave" + }, + requires: "pilot wave", + effect() { + tech.isBlockBullets = true + }, + remove() { + tech.isBlockBullets = false + } + }, { name: "cosmic string", description: "stun and do radioactive damage to mobs
if you tunnel through them with a wormhole", @@ -6711,11 +6729,11 @@ blockingIce: null, isPhaseVelocity: null, wavePacketLength: null, - isImaginaryWave: null, waveBeamSpeed: null, wavePacketAmplitude: null, waveLengthRange: null, isCollisionRealitySwitch: null, iceIXOnDeath: null, - wimpCount: null + wimpCount: null, + isBlockBullets: null } \ No newline at end of file diff --git a/todo.txt b/todo.txt index ad1005d..2768939 100644 --- a/todo.txt +++ b/todo.txt @@ -1,13 +1,14 @@ ******************************************************** NEXT PATCH ******************************************************** -pilot wave energy is back to it's old energy settings -tech: restitution - now only triggers power ups from blocks thrown by the player - (this makes pilot wave and naturally falling blocks not spawn power ups. flywheel will work if a block was thrown in the last 3 seconds) - -standing wave harmonic has reduced blocking recoil +fermions: after a block is affected by pilot wave it collides with intangible mobs, but not you ******************************************************** BUGS ******************************************************** +mine reclamation is giving mine ammo back after you fire, not after explode + +undefined count did not seem to reset between games + only display not reset + Why does micro-extruder lag so much anyway blue triangle boss can move backwards and aim away from you if set up properly