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.

# Fish Bone

From the spelunky.ai wiki: <https://spelunky.ai/wiki/fish-bone>.

The Fish Bone is a carryable item in Spelunky Classic, left by a Piranha or a Dead Fish out of the water, that breaks on the first monster it hits.

![A tiny white fish skeleton, its spine and ribs](https://spelunky.ai/wiki/media/sprites/sFishBone/frames/0%404x.png)

| Fish Bone  |                                                                                              |
| ---------- | -------------------------------------------------------------------------------------------- |
| Kind       | Carryable                                                                                    |
| Effect     | Thrown, hurts a monster and breaks[^1]                                                       |
| Damage     | 1 hit point[^2][^3][^4][^5][^6][^7]                                                          |
| Object     | `oFishBone`                                                                                  |
| Dropped by | [Dead Fish](https://spelunky.ai/wiki/dead-fish), [Piranha](https://spelunky.ai/wiki/piranha) |

A Fish Bone is what's left of a [Piranha](https://spelunky.ai/wiki/piranha) or a [Dead Fish](https://spelunky.ai/wiki/dead-fish) that ends up out of the
water, which happens when the water drains away around it. It can be picked up and thrown like a
[Rock](https://spelunky.ai/wiki/rock), and hurts a monster as an [arrow](https://spelunky.ai/wiki/arrow) does, breaking as it hits.

## Usage

**Clip: Fish bone from a piranha.** The player drops a bomb beside a pool and runs back. The explosion breaks the pool's side, the water drains away, and the piranha left on the dry floor turns into a fish bone. He picks the bone up, jumps out of the pool and throws it at a snake, which it kills, breaking. ([video](https://spelunky.ai/wiki/media/clips/fish-bone/piranha/clip.mp4))

A Fish Bone is picked up and thrown as any item is: crouching over it with empty hands, the attack key lifts
it, and the attack key throws it, at 8 pixels a step plus the player's speed, rising at 3[^8][^9]. It moves
by the code all items share: its own lighter gravity, 0.2, lasts its first step, and then it falls 0.6
pixels a step faster each step, as items do, bouncing off walls and floors[^10][^11][^12]. It turns to point the way it's flying[^13].

While it moves faster than 2 pixels a step, across or down, and touches a monster, it takes
1 hit point from the monster nearest it ([Nearest-enemy hits](https://spelunky.ai/wiki/nearest-enemy)) and is destroyed; a Caveman,
a Hawkman, a Mantrap, a Yeti or a Vampire is also stunned. It's destroyed even when the monster's own rules
spare it the hit, as a Caveman's do while it's stunned, so it breaks on the first monster it reaches. Only an
invincible monster or a [Magma Man](https://spelunky.ai/wiki/magma-man) lets it fly on. A [Damsel](https://spelunky.ai/wiki/damsel) it hits loses 1 hit
point, and the bone is destroyed too[^1][^14][^15]. Unlike a Rock or an arrow, it can't hurt the player: his own code checks only for those
two[^16].

In the clip, the player drops a bomb beside a pool and runs back. The explosion breaks the pool's side,
the water drains away, and the Piranha in it turns into a Fish Bone. He picks the bone up, jumps out of the
pool and throws it at a [Snake](https://spelunky.ai/wiki/snake), which it kills, breaking[^17].

## Locations

[Level generation](https://spelunky.ai/wiki/level-generation) makes no Fish Bones, and the [level editor](https://spelunky.ai/wiki/level-editor) has no tile
for one. They come from:

- **[Piranhas](https://spelunky.ai/wiki/piranha).** One whose middle isn't in water turns into a Fish Bone at once[^18].
- **[Dead Fish](https://spelunky.ai/wiki/dead-fish)**, the same way, while they're on the screen[^19][^20].

Both live only in water, so it takes the water draining for either to leave it: a block next to water that
breaks lets the water beside it go, and the rest of the pool follows over the next few steps[^21][^22]. A Piranha that's
killed leaves only blood, and a Dead Fish three plain bones, not a Fish Bone[^23][^24].

## Interactions

- **[Bombs](https://spelunky.ai/wiki/bomb).** An explosion destroys a Fish Bone, as it does an arrow, a Jar or a Skull[^25].
- **[Lava](https://spelunky.ai/wiki/lava).** A Fish Bone that touches lava stops and sinks, and is destroyed once it's under the
  surface[^26].
- **The screen.** It moves only while it's within 16 pixels of the screen[^27][^15].
- **Exits.** Carried through a level's exit, it's in the player's hands on the next level; while he holds
  it, the HUD shows it in the box for the held item[^28][^29][^30].

## Tips

- A Fish Bone breaks on the first monster it hits, hurt or not, so it's good for one throw, where a Rock
  can be thrown again.
- It can't hurt the player, so one thrown at a wall beside him and bouncing back is harmless.

## Trivia

- The code that lets a thrown monster hurt the monsters it hits ends by destroying the thrown one if its
  name is "Arrow" or "Fish Bone", a line copied from the items' code; no monster has either name[^31]. The Jar's and the Skull's own steps keep the same line, which
  never holds for them either[^32][^33][^15].

## FAQ

### Where do you find Fish Bones in Spelunky Classic?

Wherever a [Piranha](https://spelunky.ai/wiki/piranha) or a [Dead Fish](https://spelunky.ai/wiki/dead-fish) ends up out of the water: one whose middle isn't in water turns into a Fish Bone at once. Level generation makes none, and the level editor has no tile for one.

### What does a Fish Bone do in Spelunky Classic?

Nothing in the player's hands. Moving faster than 2 pixels a step, thrown or falling, it takes 1 hit point from the monster nearest it and breaks, as an [arrow](https://spelunky.ai/wiki/arrow) does.

### Can a Fish Bone hurt the player in Spelunky Classic?

No. The player's code checks for fast arrows and rocks only, so a Fish Bone flying at him does nothing. It can hurt a [Damsel](https://spelunky.ai/wiki/damsel).

### Does killing a Piranha leave a Fish Bone in Spelunky Classic?

No. A Piranha that dies leaves only blood, and a Dead Fish three plain bones; a Fish Bone is what a living one turns into when its water is gone.

## See also

- **Related:** [Piranha](https://spelunky.ai/wiki/piranha), [Dead Fish](https://spelunky.ai/wiki/dead-fish), [Arrow](https://spelunky.ai/wiki/arrow), [Throwing](https://spelunky.ai/wiki/throwing)
- **Damages:** [Damsel](https://spelunky.ai/wiki/damsel)

## References

[^1]: [`objects/oItem/step.gml:256-363`](https://spelunky.ai/wiki/source/objects/oItem/step#L256-L363)

[^2]: [`objects/oItem/step.gml:282`](https://spelunky.ai/wiki/source/objects/oItem/step#L282)

[^3]: [`objects/oItem/step.gml:294`](https://spelunky.ai/wiki/source/objects/oItem/step#L294)

[^4]: [`objects/oItem/step.gml:305`](https://spelunky.ai/wiki/source/objects/oItem/step#L305)

[^5]: [`objects/oItem/step.gml:315`](https://spelunky.ai/wiki/source/objects/oItem/step#L315)

[^6]: [`objects/oItem/step.gml:325`](https://spelunky.ai/wiki/source/objects/oItem/step#L325)

[^7]: [`objects/oItem/step.gml:344`](https://spelunky.ai/wiki/source/objects/oItem/step#L344)

[^8]: [`objects/oPlayer1/step.gml:1203-1214`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L1203-L1214)

[^9]: [`scripts/scrUseItem.gml:605-646`](https://spelunky.ai/wiki/source/scripts/scrUseItem#L605-L646)

[^10]: [`objects/oFishBone/create.gml:6`](https://spelunky.ai/wiki/source/objects/oFishBone/create#L6)

[^11]: [`objects/oItem/step.gml:84-111`](https://spelunky.ai/wiki/source/objects/oItem/step#L84-L111)

[^12]: [`objects/oItem/step.gml:160-170`](https://spelunky.ai/wiki/source/objects/oItem/step#L160-L170)

[^13]: [`objects/oFishBone/step.gml:3-25`](https://spelunky.ai/wiki/source/objects/oFishBone/step#L3-L25)

[^14]: [`objects/oItem/step.gml:365-398`](https://spelunky.ai/wiki/source/objects/oItem/step#L365-L398)

[^15]: [docs/quirks.md §1, Bugs and leftovers in the 1.1 source](https://github.com/851-labs/spelunky/blob/059d629be4ffc90c405e1bfef24d0341c70d3c22/docs/quirks.md#1-bugs-and-leftovers-in-the-11-source)

[^16]: [`objects/oPlayer1/step.gml:1513-1565`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L1513-L1565)

[^17]: Clip [fish-bone/piranha](https://spelunky.ai/wiki/fish-bone#clip-fish-bone-piranha)

[^18]: [`objects/oPiranha/step.gml:136-140`](https://spelunky.ai/wiki/source/objects/oPiranha/step#L136-L140)

[^19]: [`objects/oDeadFish/step.gml:1-3`](https://spelunky.ai/wiki/source/objects/oDeadFish/step#L1-L3)

[^20]: [`objects/oDeadFish/step.gml:70-74`](https://spelunky.ai/wiki/source/objects/oDeadFish/step#L70-L74)

[^21]: [`objects/oSolid/destroy.gml:35`](https://spelunky.ai/wiki/source/objects/oSolid/destroy#L35)

[^22]: [`objects/oGame/step.gml:49-104`](https://spelunky.ai/wiki/source/objects/oGame/step#L49-L104)

[^23]: [`objects/oPiranha/step.gml:3-13`](https://spelunky.ai/wiki/source/objects/oPiranha/step#L3-L13)

[^24]: [`objects/oDeadFish/step.gml:5-18`](https://spelunky.ai/wiki/source/objects/oDeadFish/step#L5-L18)

[^25]: [`objects/oExplosion/collision_oItem.gml:1-5`](https://spelunky.ai/wiki/source/objects/oExplosion/collision_oItem#L1-L5)

[^26]: [`objects/oItem/step.gml:160-185`](https://spelunky.ai/wiki/source/objects/oItem/step#L160-L185)

[^27]: [`objects/oItem/step.gml:1-3`](https://spelunky.ai/wiki/source/objects/oItem/step#L1-L3)

[^28]: [`objects/oPlayer1/step.gml:842-850`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L842-L850)

[^29]: [`scripts/scrHoldItem.gml:37`](https://spelunky.ai/wiki/source/scripts/scrHoldItem#L37)

[^30]: [`scripts/scrDrawHUD.gml:84`](https://spelunky.ai/wiki/source/scripts/scrDrawHUD#L84)

[^31]: [`objects/oEnemy/step.gml:264`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L264)

[^32]: [`objects/oJar/step.gml:143-144`](https://spelunky.ai/wiki/source/objects/oJar/step#L143-L144)

[^33]: [`objects/oSkull/step.gml:141-142`](https://spelunky.ai/wiki/source/objects/oSkull/step#L141-L142)

### Source code

- [`objects/oFishBone/create.gml`](https://spelunky.ai/wiki/source/objects/oFishBone/create)
- [`objects/oFishBone/step.gml`](https://spelunky.ai/wiki/source/objects/oFishBone/step)
- [`objects/oFishBone/alarm_2.gml`](https://spelunky.ai/wiki/source/objects/oFishBone/alarm_2)
- [`objects/oItem/step.gml`](https://spelunky.ai/wiki/source/objects/oItem/step)
- [`objects/oPiranha/step.gml`](https://spelunky.ai/wiki/source/objects/oPiranha/step)
- [`objects/oDeadFish/step.gml`](https://spelunky.ai/wiki/source/objects/oDeadFish/step)
- [`objects/oPlayer1/step.gml`](https://spelunky.ai/wiki/source/objects/oPlayer1/step)
