SpelunkyFan wiki

The mothership's barrier throwing items left

Verified against the spelunky.ai port v0.1.11 on .

The mothership's barrier throwing items left is a quirk of Spelunky Classic in which an item from the Alien Boss's side is thrown on through it.

The mothership's barrier keeps the player away from the Alien Boss, throwing him back the way he came. It throws items too, but always to the left, the side the player comes from, whichever side the item reaches it from. So an item from the boss's side, behind the barrier, is thrown on through it.

What happens

#

Behind the Alien Boss, a bomb at the foot of a shaft the player has dug breaks the rock holding the free Jetpack and blows it left. It hits the Alien Boss on its way, costing it a hit point, and reaches the barrier, which throws it on to the left, and it lands beyond the barrier, which still stands [1].

The mothership's barrier throws an item on through it. Behind the Alien Boss, a bomb at the foot of a shaft the player has dug breaks the rock holding the free Jetpack and blows it left. It hits the Alien Boss on its way, costing it a hit point, and reaches the barrier, which throws it on to the left, and it lands beyond the barrier, which still stands.

Why

#

The barrier's collision with an item lights a Bomb, and then throws the item, whatever it is:

other.xVel = -rand(4,6);
other.yVel = -2;
objects/oBarrier/collision_oItem.gml:11-12, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).

xVel is always negative, to the left. Its collision with the player tests which side he's on, and throws him away from it:

    if (other.x < x)
        other.xVel = -6
    else
        other.xVel = 6
objects/oBarrier/collision_oCharacter.gml:6-9, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).

The item's has no such test, so an item that reaches the barrier from the right, the boss's side, is thrown on in the way it was going [2].

Reproducing it

#

Get an item behind the barrier and send it left into it, with the barrier still standing. That's the hard part: the barrier comes down when the Alien Boss dies [3], and when its emitter is destroyed: by an explosion, a bullet, or an item faster than 2 pixels a step [4] [5] [6], or once it's on screen with the block above it gone [7]. So bombs have to go off well clear of both. The replay, with seed 63, reaches the mothership on level 10. Four bombs dig a shaft down the craft's right edge, and the last breaks the rock holding the Jetpack and blows it left: it hits the boss, meets the barrier, which throws it on to the left, and lands beyond it. The barrier, its emitter and the boss stand throughout [8].

In the port

#

The spelunky.ai port reproduces it exactly: it's in docs/quirks.md's list of the 1.1 source's bugs [2], and the oracle's fingerprint of the replay pins the Jetpack's path. No option turns it off.

FAQ

#
Can an item get through the mothership's barrier?

From the Alien Boss's side, yes. The barrier throws every item that touches it to the left, which sends one coming from the right on through it. One thrown from the left bounces back.

Does the barrier throw the player the same way?

No. It throws the player away from it, to whichever side he came from, and takes a heart.

Can you get the free Jetpack past the barrier without killing the Alien Boss?

Yes, if a blast sends it left into the barrier: the barrier throws it on. Bombs have to go off well clear of the boss and the barrier's emitter, as either one's end brings the barrier down.

See also

#

References

#
  1. Clip quirks/barrier-item-thrown-through
  2. Quirk 1 (docs/quirks.md)
  3. objects/oAlienBoss/other_animation_end.gml:1-5
  4. objects/oExplosion/collision_oBarrierEmitter.gml:1
  5. objects/oBarrierEmitter/collision_oBullet.gml:1
  6. objects/oBarrierEmitter/collision_oItem.gml:1-4
  7. objects/oBarrierEmitter/step.gml:1-5
  8. Replay fidelity/replays/ice-seed-63-barrier-through.txt

Source code

#