fermions
fermions: after a block is affected by pilot wave it collides with intangible mobs, but not you
This commit is contained in:
@@ -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)
|
||||
|
||||
19
js/player.js
19
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) {
|
||||
|
||||
28
js/tech.js
28
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 <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
|
||||
}
|
||||
Reference in New Issue
Block a user