SpelunkyFan wiki

Stomps that take nothing on the way up

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

Stomps that take nothing on the way up is a quirk of Spelunky Classic in which stomping a Yeti, the Yeti King or a Shopkeeper while rising takes no hit points.

A stomp takes hit points by how long the player has been falling. Most monsters' stomps take 1, and 1 more for every 16 steps of falling. A Yeti's, the Yeti King's and a Shopkeeper's take 1 for every 16 steps, rounded up, which is 0 when he hasn't been falling at all: when he stomps one while still rising.

What happens

#

The player jumps at a Yeti, and his feet catch its head while he is still rising: the game counts a stomp, which stuns the Yeti, but it keeps all five of its hit points [1].

A yeti stomped on the way up loses nothing. The player jumps at a yeti, and his feet catch its head while he is still rising: the game counts a stomp, which stuns the yeti, but it keeps all five of its hit points.

The same rounding shows at exactly 16 steps of falling. The player hops off a ledge and lands on a Yeti on his 16th step: it loses one of its five hit points, where the same drop onto a Caveman takes two of its three [2].

A yeti stomped after 16 steps of falling loses one hit point. The player hops off a ledge and lands on a yeti on his 16th step of falling: it loses one of its five hit points, where the same drop onto a caveman takes two of its three.

Why

#

The Yeti's stomp, which the Yeti King's and the Shopkeeper's copy, takes ceil(fallTimer/16) hit points, three times that in Spike Shoes:

else if (not other.dead and not other.stunned and (other.state == 15 or other.state == 16) and other.y < y+5 and not other.swimming)
{
    if (status < STUNNED)
    {
        other.yVel=-6-0.2*other.yVel
        if (global.hasSpikeShoes) { hp -= (3 * ceil(other.fallTimer/16)); instance_create(other.x, other.y+8, oBlood); }
        else hp -= (1 * ceil(other.fallTimer/16));
        other.fallTimer = 0;
objects/oYeti/collision_oCharacter.gml:6-13, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).

The Yeti King's and the Shopkeeper's are the same [3] [4]. Most other monsters' stomp takes floor(fallTimer/16)+1 [5]. fallTimer counts the player's steps of falling, and his step sets it to 0 on every step he isn't falling [6] [7], but a stomp needs only the player jumping (state 15) or falling (16). So a stomp while he's still rising, his middle less than 5 pixels below the Yeti's top (the Yeti King's 8), takes 0. At an exact multiple of 16 steps it takes a step's worth less than other monsters' stomps: 1, not 2, after 16 steps; at any other length the two agree [8].

Reproducing it

#

Jump into a Yeti so that the player's feet reach its head on the way up. The replay of the first clip's staged scene, on a custom level, has the player jump as a Yeti walks up to him: he stomps it on the way up, and it's stunned with all 5 hit points [9]. The second's has him land on a Yeti on his 16th step of falling, which takes it from 5 hit points to 4, and the same drop onto a Caveman takes it from 3 to 1 [10].

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 [8], and the oracle's fingerprints of both replays pin the hit points. No option turns it off.

FAQ

#
Why didn't stomping the Yeti hurt it?

A stomp counts while the player is jumping as well as falling, but a Yeti's takes hit points by how long he has been falling, rounded up. Rising, that's 0 steps, so it takes nothing: the Yeti is stunned, and he bounces off.

Which monsters does it happen to?

The Yeti, the Yeti King and the Shopkeeper. Most other monsters' stomps take 1 hit point, and 1 more for every 16 steps of falling, so one on the way up still takes 1.

Do Spike Shoes help?

Not on the way up: Spike Shoes triple a stomp, and three times nothing is nothing.

See also

#

References

#
  1. Clip quirks/yeti-stomp-rising
  2. Clip quirks/yeti-stomp-sixteen-steps
  3. objects/oYetiKing/collision_oCharacter.gml:6-11
  4. objects/oShopkeeper/collision_oCharacter.gml:5-12
  5. objects/oEnemy/collision_oCharacter.gml:9-10
  6. objects/oPlayer1/step.gml:254-256
  7. objects/oPlayer1/step.gml:290-292
  8. Quirk 1 (docs/quirks.md)
  9. Replay fidelity/replays/enemy-yeti-stomp-rising.txt
  10. Replay fidelity/replays/enemy-yeti-stomp-sixteen-steps.txt

Source code

#