fermions: after a block is affected by pilot wave it collides with intangible mobs, but not you
This commit is contained in:
landgreen
2021-05-17 05:52:37 -07:00
parent 14dfc4a145
commit cdf98c804a
5 changed files with 54 additions and 13 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -1091,7 +1091,7 @@ const level = {
spawn.bodyRect(x + 5, y - 260 + i * blockSize, 30, blockSize); spawn.bodyRect(x + 5, y - 260 + i * blockSize, 30, blockSize);
} }
} }
// blockDoor(710, -710); blockDoor(710, -710);
spawn.mapRect(2500, -1200, 200, 750); //right wall spawn.mapRect(2500, -1200, 200, 750); //right wall
blockDoor(2585, -210) blockDoor(2585, -210)
spawn.mapRect(2500, -200, 200, 300); //right wall spawn.mapRect(2500, -200, 200, 300); //right wall
@@ -1103,7 +1103,7 @@ const level = {
spawn.mapRect(6700, -1800, 800, 2600); //right wall spawn.mapRect(6700, -1800, 800, 2600); //right wall
spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 100); //exit bump 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.grower(1900, -500)
// spawn.pulsarBoss(1900, -500) // spawn.pulsarBoss(1900, -500)
// spawn.shooterBoss(1900, -500) // spawn.shooterBoss(1900, -500)
@@ -1112,7 +1112,10 @@ const level = {
// spawn.striker(1600, -500) // spawn.striker(1600, -500)
// spawn.laserTargetingBoss(1700, -120) // spawn.laserTargetingBoss(1700, -120)
// spawn.bomberBoss(1400, -500) // 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.streamBoss(1600, -500)
// spawn.orbitalBoss(1600, -500) // spawn.orbitalBoss(1600, -500)
// spawn.cellBossCulture(1600, -500) // spawn.cellBossCulture(1600, -500)

View File

@@ -2321,6 +2321,7 @@ const m = {
const unit = Vector.mult(Vector.normalise(sub), body[i].mass * tech.pilotForce * Vector.magnitude(sub)) const unit = Vector.mult(Vector.normalise(sub), body[i].mass * tech.pilotForce * Vector.magnitude(sub))
body[i].force.x += unit.x body[i].force.x += unit.x
body[i].force.y += unit.y - body[i].mass * simulation.g //remove gravity effects 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 { } else {
m.fieldCDcycle = m.cycle + 120; m.fieldCDcycle = m.cycle + 120;
m.fieldOn = false 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) { if (tech.isFreezeMobs) {
for (let i = 0, len = mob.length; i < len; ++i) { for (let i = 0, len = mob.length; i < len; ++i) {
if (Vector.magnitude(Vector.sub(mob[i].position, m.fieldPosition)) < m.fieldRadius) { if (Vector.magnitude(Vector.sub(mob[i].position, m.fieldPosition)) < m.fieldRadius) {

View File

@@ -1489,9 +1489,9 @@
frequency: 4, frequency: 4,
frequencyDefault: 4, frequencyDefault: 4,
allowed() { 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() { effect() {
tech.isBlockPowerUps = true tech.isBlockPowerUps = true
}, },
@@ -5110,7 +5110,7 @@
allowed() { allowed() {
return m.fieldUpgrades[m.fieldMode].name === "pilot wave" return m.fieldUpgrades[m.fieldMode].name === "pilot wave"
}, },
requires: "metamaterial cloaking", requires: "pilot wave",
effect() { effect() {
tech.pilotForce = 0.0006 tech.pilotForce = 0.0006
}, },
@@ -5118,6 +5118,24 @@
tech.pilotForce = 0.00002 tech.pilotForce = 0.00002
} }
}, },
{
name: "fermions",
description: "after a <strong>block</strong> is affected by <strong>pilot wave</strong> it<br><strong>collides</strong> with <strong>intangible</strong> 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", name: "cosmic string",
description: "<strong>stun</strong> and do <strong class='color-p'>radioactive</strong> <strong class='color-d'>damage</strong> to <strong>mobs</strong><br>if you tunnel through them with a <strong class='color-worm'>wormhole</strong>", description: "<strong>stun</strong> and do <strong class='color-p'>radioactive</strong> <strong class='color-d'>damage</strong> to <strong>mobs</strong><br>if you tunnel through them with a <strong class='color-worm'>wormhole</strong>",
@@ -6711,11 +6729,11 @@
blockingIce: null, blockingIce: null,
isPhaseVelocity: null, isPhaseVelocity: null,
wavePacketLength: null, wavePacketLength: null,
isImaginaryWave: null,
waveBeamSpeed: null, waveBeamSpeed: null,
wavePacketAmplitude: null, wavePacketAmplitude: null,
waveLengthRange: null, waveLengthRange: null,
isCollisionRealitySwitch: null, isCollisionRealitySwitch: null,
iceIXOnDeath: null, iceIXOnDeath: null,
wimpCount: null wimpCount: null,
isBlockBullets: null
} }

View File

@@ -1,13 +1,14 @@
******************************************************** NEXT PATCH ******************************************************** ******************************************************** NEXT PATCH ********************************************************
pilot wave energy is back to it's old energy settings fermions: after a block is affected by pilot wave it collides with intangible mobs, but not you
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
******************************************************** BUGS ******************************************************** ******************************************************** 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 Why does micro-extruder lag so much anyway
blue triangle boss can move backwards and aim away from you if set up properly blue triangle boss can move backwards and aim away from you if set up properly