Spelunky is © 2008, 2009 Derek Yu and Mossmouth, LLC, and is used under the [Spelunky User License v1.1b](https://spelunky.ai/LICENSE.txt). spelunky.ai is an unofficial fan project, not affiliated with or endorsed by Mossmouth. The game and its assets may not be sold.

Music by George Buzinkai and Jonathan Perry; sound effects made in SFXR. From Spelunky Classic 1.1, © 2008, 2009 Derek Yu and Mossmouth, LLC.

# Throwing

From the spelunky.ai wiki: <https://spelunky.ai/wiki/throwing>. Verified against the spelunky.ai port [v0.1.10](https://github.com/851-labs/spelunky/releases/tag/v0.1.10) on 28 October 2026.

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](https://spelunky.ai/wiki/rock), a [Jar](https://spelunky.ai/wiki/jar), a [Skull](https://spelunky.ai/wiki/skull), a
[Damsel](https://spelunky.ai/wiki/damsel), the [Golden Idol](https://spelunky.ai/wiki/golden-idol), a stunned monster. It's a way to hit something out of
the [Whip](https://spelunky.ai/wiki/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

**Clip: 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. ([video](https://spelunky.ai/wiki/media/9298410b19d5e050/clips/throwing/rock/clip.mp4))

Pressing the attack key with something in hand uses it: a weapon fires, a [Bomb](https://spelunky.ai/wiki/bomb) is lit (the next
press throws it), the [Rope](https://spelunky.ai/wiki/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](https://spelunky.ai/wiki/crate)[^14] and [Chests](https://spelunky.ai/wiki/chest), the Lamp, the
[Jetpack](https://spelunky.ai/wiki/jetpack) and dice. A thrown Damsel yells and tumbles, helpless for a
time[^15]. The [Pitcher's Mitt](https://spelunky.ai/wiki/pitchers-mitt) throws 6 pixels
per step faster and nearly flat, with less gravity (for a step, for most items: [Quirks](https://spelunky.ai/wiki/throwing#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](https://spelunky.ai/wiki/jar), a [Skull](https://spelunky.ai/wiki/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, and the item flies on[^22][^3].
Some monsters take it their own way:

- A [Caveman](https://spelunky.ai/wiki/caveman), [Mantrap](https://spelunky.ai/wiki/mantrap), [Vampire](https://spelunky.ai/wiki/vampire), [Yeti](https://spelunky.ai/wiki/yeti) or [Hawkman](https://spelunky.ai/wiki/hawkman) is
  stunned too, and isn't hurt again while it's stunned[^23].
- A [Shopkeeper](https://spelunky.ai/wiki/shopkeeper) turns on the player, and isn't hurt again while he's stunned or dead[^24].
- A [Giant Spider](https://spelunky.ai/wiki/giant-spider) can't be hurt again for 10 steps, a [Tomb Lord](https://spelunky.ai/wiki/tomb-lord) for 20, and the
  [Alien Boss](https://spelunky.ai/wiki/alien-boss) while it shows its hurt[^25].
- A [UFO](https://spelunky.ai/wiki/ufo) explodes[^26].
- A [Magma Man](https://spelunky.ai/wiki/magma-man), and a monster that's invincible, isn't hurt[^27].

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](https://spelunky.ai/wiki/yeti-king) takes 9 of its 30 hit points[^28][^29]. An [Arrow](https://spelunky.ai/wiki/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, hurts the monsters it touches the same way while it moves faster
than 2 pixels per step, but pushes them harder: one that isn't stunned or dead itself takes all of its speed,
not 0.3 of it, and one that is keeps its own[^33][^3].
A clip shows both: a Rock thrown at 8 pixels per step knocks a Caveman back at 2.4, and the stunned Caveman,
thrown on the run, sends a Yeti across the room at 6.7[^34].

### Hitting the player

Of the things the player throws, only a Rock and an Arrow can hurt him, a [Bomb](https://spelunky.ai/wiki/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](https://spelunky.ai/wiki/damage))[^35]. With the Pitcher's Mitt and empty hands he catches a
Rock instead.

## Numbers

|                                     | Speed                                              |            |
| ----------------------------------- | -------------------------------------------------- | ---------- |
| Forward, plus the player's speed    | 8 pixels per step (4 heavy)                        | [^36]      |
| Upward                              | 3 pixels per step (2 heavy)                        | [^37]      |
| Upward, with up held                | 9 pixels per step (4 heavy)                        | [^38]      |
| With down held, on the ground       | 0.6 of the speed forward, 0.5 down                 | [^39]      |
| With down held, in the air          | 3 down                                             | [^40]      |
| With the Pitcher's Mitt             | 6 more forward, 0.4 up                             | [^16]      |
| Gravity on a thrown item, each step | 0.6                                                | [^41][^42] |
| Fastest fall                        | 8                                                  | [^43]      |
| Slowest that hurts a monster        | Faster than 2                                      | [^44]      |
| Push on the monster it hurts        | 0.3 of the item's speed; all of a thrown monster's | [^45][^46] |
| Safe for the player after the throw | 10 steps                                           | [^47]      |

## Examples

- **Three throws of a Rock**: ahead, up and down[^17].
- **A Rock at a Snake** from a ledge kills it[^48],
  and so does a [Jar](https://spelunky.ai/wiki/jar)[^49].
- **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][^50].
- **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].
- **A thrown monster pushes the one it hits with all of its speed**, where a thrown item pushes with 0.3 of
  its: the code that sets the item's push sets it twice, and the monster's second line is commented out[^3][^34].
- **Every use of a held item moves it to the player's height**: the last line of the code that uses it only
  half belongs to its `if`[^51]. The item's own step, later in the same
  step, puts it back before it's drawn, except a [Teleporter](https://spelunky.ai/wiki/teleporter) that takes him up 8 blocks from near
  the top of the view, which is drawn level with him for that frame[^3][^52].
- **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](https://spelunky.ai/wiki/caveman), a [Yeti](https://spelunky.ai/wiki/yeti) and a few others are stunned by it as well. A [Jar](https://spelunky.ai/wiki/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](https://spelunky.ai/wiki/rock) or an [Arrow](https://spelunky.ai/wiki/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, but knocks it along at all of its own speed, where an item passes on 0.3 of its, unless the one it hits is stunned or dead too.

## Gallery

**Clip: 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. ([video](https://spelunky.ai/wiki/media/9298410b19d5e050/clips/yeti-king/thrown-rock/clip.mp4))

**Clip: A thrown monster pushes with all its speed, a thrown rock with 0.3.** The player throws a rock at a charging caveman: it stuns the caveman and knocks it back a little, with 0.3 of the rock's speed. He picks the stunned caveman up and throws it on the run into a yeti, which takes all of the caveman's speed and flies to the far wall.

## See also

- **Related:** [Rock](https://spelunky.ai/wiki/rock), [Jar](https://spelunky.ai/wiki/jar), [Skull](https://spelunky.ai/wiki/skull), [Pitcher's Mitt](https://spelunky.ai/wiki/pitchers-mitt), [Stomping](https://spelunky.ai/wiki/stomping), [Damage and stun](https://spelunky.ai/wiki/damage), [Arrow](https://spelunky.ai/wiki/arrow)
- **Damages:** [Alien](https://spelunky.ai/wiki/alien)[^28], [Alien Boss](https://spelunky.ai/wiki/alien-boss)[^53], [Bat](https://spelunky.ai/wiki/bat)[^54], [Caveman](https://spelunky.ai/wiki/caveman)[^23], [Damsel](https://spelunky.ai/wiki/damsel)[^55], [Dead Fish](https://spelunky.ai/wiki/dead-fish)[^54], [Fire Frog](https://spelunky.ai/wiki/fire-frog)[^54], [Frog](https://spelunky.ai/wiki/frog)[^54], [Giant Spider](https://spelunky.ai/wiki/giant-spider)[^56], [Hawkman](https://spelunky.ai/wiki/hawkman)[^23], [Mantrap](https://spelunky.ai/wiki/mantrap)[^23], [Megamouth](https://spelunky.ai/wiki/megamouth)[^54], [Monkey](https://spelunky.ai/wiki/monkey)[^54], [Piranha](https://spelunky.ai/wiki/piranha)[^54], [Scarab](https://spelunky.ai/wiki/scarab)[^28], [Shopkeeper](https://spelunky.ai/wiki/shopkeeper)[^24], [Skeleton](https://spelunky.ai/wiki/skeleton)[^54], [Snake](https://spelunky.ai/wiki/snake)[^57], [Spider](https://spelunky.ai/wiki/spider)[^54], [Tomb Lord](https://spelunky.ai/wiki/tomb-lord)[^58], [UFO](https://spelunky.ai/wiki/ufo)[^26], [Vampire](https://spelunky.ai/wiki/vampire)[^59], [Yeti](https://spelunky.ai/wiki/yeti)[^23], [Yeti King](https://spelunky.ai/wiki/yeti-king)[^28], [Zombie](https://spelunky.ai/wiki/zombie)[^54]

## 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]: Clip quirks/thrown-monster-full-push

[^35]: `objects/oPlayer1/step.gml:1513-1563`

[^36]: `scripts/scrUseItem.gml:609-626`

[^37]: `scripts/scrUseItem.gml:628-629`

[^38]: `scripts/scrUseItem.gml:631-635`

[^39]: `scripts/scrUseItem.gml:637-644`

[^40]: `scripts/scrUseItem.gml:645`

[^41]: `objects/oItem/step.gml:84`

[^42]: `objects/oItem/step.gml:169`

[^43]: `objects/oItem/step.gml:85`

[^44]: `objects/oItem/step.gml:256`

[^45]: `objects/oItem/step.gml:350`

[^46]: `objects/oEnemy/step.gml:179`

[^47]: `scripts/scrUseItem.gml:606-607`

[^48]: Replay `fidelity/replays/action-throw-rock-snake.txt`

[^49]: Replay `fidelity/replays/action-throw-jar-snake.txt`

[^50]: Replay `fidelity/replays/action-throw-rock-nearest-enemy.txt`

[^51]: `scripts/scrUseItem.gml:683`

[^52]: Replay `fidelity/replays/weapon-teleporter-held-y.txt`

[^53]: `objects/oItem/step.gml:320-330`

[^54]: `objects/oItem/step.gml:256-348`

[^55]: `objects/oItem/step.gml:365-396`

[^56]: `objects/oItem/step.gml:300-309`

[^57]: `objects/oItem/step.gml:256-344`

[^58]: `objects/oItem/step.gml:310-319`

[^59]: `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`
