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);
}
}
// 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)

View File

@@ -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) {

View File

@@ -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 <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",
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,
isPhaseVelocity: null,
wavePacketLength: null,
isImaginaryWave: null,
waveBeamSpeed: null,
wavePacketAmplitude: null,
waveLengthRange: null,
isCollisionRealitySwitch: null,
iceIXOnDeath: null,
wimpCount: null
wimpCount: null,
isBlockBullets: null
}

View File

@@ -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