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].
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].
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
#- Clip quirks/yeti-stomp-rising
- Clip quirks/yeti-stomp-sixteen-steps
objects/oYetiKing/collision_oCharacter.gml:6-11objects/oShopkeeper/collision_oCharacter.gml:5-12objects/oEnemy/collision_oCharacter.gml:9-10objects/oPlayer1/step.gml:254-256objects/oPlayer1/step.gml:290-292- Quirk 1 (docs/quirks.md)
- Replay
fidelity/replays/enemy-yeti-stomp-rising.txt - Replay
fidelity/replays/enemy-yeti-stomp-sixteen-steps.txt