SpelunkyFan wiki

Throwing

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

Throwing in Spelunky Classic sends what the player holds flying at 8 pixels per step; a thrown item moving fast enough hurts the monster it hits.

Anything the player can pick up he can throw: a Rock, a Jar, a Skull, a Damsel, the Golden Idol, a stunned monster. It's a way to hit something out of the Whip's reach without a gun. A thrown item flies on its own rules, bouncing and sliding, and hurts whatever monster it meets while it's moving fast.

How it works

#

Picking up

#

With empty hands, holding down and pressing the attack key picks up the item at the player's feet, unless it's stuck in a block, or, if no item is there, a monster that's stunned or dead [1] [2]. Of several close together, the one nearest him is taken, which isn't always the one under him [3] [4]. A held item stays in front of him, lower when he crouches [5].

Throwing

#
Three ways to throw. The player picks up a rock and throws it ahead of him, then throws a second one with up held, which flies higher and bounces back off the wall, then throws a third with down held, which skids a short way along the floor.

Pressing the attack key with something in hand uses it: a weapon fires, a Bomb is lit (the next press throws it), the Rope is thrown up, and anything else is thrown [6] [7]. A weapon is only thrown while the player crouches, low and straight ahead [8]. A throw [9]:

  • sends the item forward at 8 pixels per step, or 4 pixels per step if it's heavy, on top of the player's own speed, and up at 3 pixels per step, or 2 if it's heavy;
  • with up held, throws it up at 9 pixels per step instead (4 if heavy), a higher arc at the same speed across;
  • with down held, on the ground, sends it skidding along the floor at 0.6 of the speed, and in the air throws it down at 3 pixels per step;
  • against a wall at head height, throws it flat, a pixel per step faster;
  • makes it safe for 10 steps: it can't hurt the player in that time [10].

Heavy things include every monster [11], a Damsel [12], the Golden Idol [13], Crates [14] and Chests, the Lamp, the Jetpack and dice. A thrown Damsel yells and tumbles, helpless for a time [15]. The Pitcher's Mitt throws 6 pixels per step faster and nearly flat, with less gravity (for a step, for most items: Quirks) [16].

The clip shows three throws of a Rock: ahead, which lands about seven blocks away; with up held, which flies higher and bounces back off the wall; and with down held, which skids a short way along the floor [17].

In flight

#

This is the code most items share (oItem's step); a Jar, a Skull and a die have steps of their own, with their own rules, which their pages describe. A Jar, for one, breaks on whatever it hits, and only stuns a Caveman, Mantrap, Yeti, Hawkman or Shopkeeper without taking a hit point [18].

A thrown item falls with a gravity of 0.6 pixels per step, each step, to at most 8 pixels per step. It bounces off the floor at a fraction of its speed and slows as it slides, bounces back off walls at half its speed, and off ceilings at most of it [19]. Each item sets how much it bounces and slides: half its speed and 0.3 of it, unless its own create event says otherwise [20]. An item more than 16 pixels outside the view stops where it is, and flies on when the view comes back to it [3] [21].

Hitting monsters

#

While a thrown item moves faster than 2 pixels per step, across or up or down, a monster it touches loses 1 hit point and is pushed along at 0.3 of its speed; the item flies on [22]. Some monsters take it their own way:

Other monsters have no pause between hits, so an item that stays inside a big one hurts it on every step it's there: a Rock thrown at the Yeti King takes 9 of its 30 hit points [28] [29]. An Arrow breaks on the first monster it hurts, and takes 3 more from a Vampire that isn't stunned [30] [31]. A thrown item hits a Damsel the same way, knocking her down, and angers the Shopkeeper if she's for sale [32].

A stunned monster thrown, or knocked flying, does the same to the monsters it touches while it moves faster than 2 pixels per step [33].

Hitting the player

#

Of the things the player throws, only a Rock and an Arrow can hurt him, a Bomb's explosion aside, once they're no longer safe: a Rock moving faster than 4 pixels per step across takes 2 hearts, and an Arrow faster than 3 takes 2 hearts, each stunning him (Damage and stun) [34]. With the Pitcher's Mitt and empty hands he catches a Rock instead.

Numbers

#
Speed
Forward, plus the player's speed8 pixels per step (4 heavy)[35]
Upward3 pixels per step (2 heavy)[36]
Upward, with up held9 pixels per step (4 heavy)[37]
With down held, on the ground0.6 of the speed forward, 0.5 down[38]
With down held, in the air3 down[39]
With the Pitcher's Mitt6 more forward, 0.4 up[16]
Gravity on a thrown item, each step0.6[40] [41]
Fastest fall8[42]
Slowest that hurts a monsterFaster than 2[43]
Safe for the player after the throw10 steps[44]

Examples

#
  • Three throws of a Rock: ahead, up and down [17].
  • A Rock at a Snake from a ledge kills it [45], and so does a Jar [46].
  • A Rock in the Yeti King hurts it on every step it stays inside [29].

Quirks

#
  • A thrown item hurts the nearest monster, not the one it hit: with two close together, the other can take the hit [3] [47].
  • Picking up takes the nearest item or monster, not the one at the player's feet [3].
  • Items freeze outside the view, in mid-air if that's where they are [3].
  • The Pitcher's Mitt's light gravity lasts one step for most items, but a Jar, a Skull or a die keeps it [3]; and its catch holds every Rock, not only one the player threw [3].

FAQ

#
How do you pick things up and throw them in Spelunky Classic?

Hold down and press the attack key over an item to pick it up; press attack again to throw it. Holding up throws it higher, and holding down sets it skidding along the floor. A weapon is only thrown while crouching.

How much damage does a thrown item do in Spelunky Classic?

1 hit point, for as long as it moves faster than 2 pixels per step, which kills most small monsters. A Caveman, a Yeti and a few others are stunned by it as well. A Jar has its own rules: it breaks on the hit, and only stuns those.

Can you hurt yourself with a thrown item in Spelunky Classic?

Only with a Rock or an Arrow, and only after its first 10 steps: a Rock moving faster than 4 pixels per step across takes 2 hearts and stuns the player, and an Arrow faster than 3 takes 2 hearts.

Can you throw enemies in Spelunky Classic?

Yes, once they're stunned or dead. The player picks one up as he would an item and throws it, and a stunned monster thrown into another hurts it as a thrown item does.

#
Yeti King hit by a rock. The player picks up a rock and throws it at the Yeti King. The rock pushes into it and keeps hurting it for every step it stays inside, taking nine of its thirty hit points.

See also

#

References

#
  1. objects/oPlayer1/step.gml:1203-1214
  2. objects/oPlayer1/step.gml:1300-1310
  3. Quirk 1 (docs/quirks.md)
  4. Replay fidelity/replays/action-pickup-nearest-enemy.txt
  5. objects/oItem/step.gml:37-68
  6. objects/oPlayer1/step.gml:1313-1318
  7. scripts/scrUseItem.gml:24-35
  8. scripts/scrUseItem.gml:121-145
  9. scripts/scrUseItem.gml:595-681
  10. objects/oItem/alarm_2.gml:1
  11. objects/oEnemy/create.gml:15
  12. objects/oDamsel/create.gml:11
  13. objects/oGoldIdol/create.gml:7
  14. objects/oCrate/create.gml:7
  15. scripts/scrUseItem.gml:597-603
  16. scripts/scrUseItem.gml:667-676
  17. Clip throwing/rock
  18. objects/oJar/step.gml:106-147
  19. objects/oItem/step.gml:69-158
  20. objects/oItem/create.gml:20-21
  21. Replay fidelity/replays/item-seed-49-rock-off-view.txt
  22. objects/oItem/step.gml:256-350
  23. objects/oItem/step.gml:270-288
  24. objects/oItem/step.gml:289-298
  25. objects/oItem/step.gml:300-330
  26. objects/oItem/step.gml:331-340
  27. objects/oItem/step.gml:261
  28. objects/oItem/step.gml:341-348
  29. Clip yeti-king/thrown-rock
  30. objects/oItem/step.gml:265-266
  31. objects/oItem/step.gml:358-361
  32. objects/oItem/step.gml:365-398
  33. objects/oEnemy/step.gml:169-262
  34. objects/oPlayer1/step.gml:1513-1563
  35. scripts/scrUseItem.gml:609-626
  36. scripts/scrUseItem.gml:628-629
  37. scripts/scrUseItem.gml:631-635
  38. scripts/scrUseItem.gml:637-644
  39. scripts/scrUseItem.gml:645
  40. objects/oItem/step.gml:84
  41. objects/oItem/step.gml:169
  42. objects/oItem/step.gml:85
  43. objects/oItem/step.gml:256
  44. scripts/scrUseItem.gml:606-607
  45. Replay fidelity/replays/action-throw-rock-snake.txt
  46. Replay fidelity/replays/action-throw-jar-snake.txt
  47. Replay fidelity/replays/action-throw-rock-nearest-enemy.txt
  48. objects/oItem/step.gml:320-330
  49. objects/oItem/step.gml:256-348
  50. objects/oItem/step.gml:365-396
  51. objects/oItem/step.gml:300-309
  52. objects/oItem/step.gml:256-344
  53. objects/oItem/step.gml:310-319
  54. objects/oItem/step.gml:256-288

Source code

  • objects/oPlayer1/step.gml
  • scripts/scrUseItem.gml
  • objects/oItem/step.gml
  • objects/oItem/create.gml
  • objects/oItem/alarm_2.gml
  • objects/oEnemy/step.gml
#