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.

# Ladder

From the spelunky.ai wiki: <https://spelunky.ai/wiki/ladder>.

*For the Jungle's climbable plants, see [Vine](https://spelunky.ai/wiki/vine).*

A Ladder is terrain in Spelunky Classic, a column of rungs in the Mines and the Temple that the player climbs by pressing up, at 1 pixel a step.

![A grey ladder: two rails with four rungs between them](https://spelunky.ai/wiki/media/sprites/sLadder/frames/0%404x.png)

| Ladder       |                                                                                                                                                                                                                                                 |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Effect       | Climbed up and down; jumped off[^1]                                                                                                                                                                                                             |
| Destroyed by | Nothing: bombs pass it by                                                                                                                                                                                                                       |
| Objects      | `oLadder`, `oLadderOrange`, `oLadderTop`                                                                                                                                                                                                        |
| Found in     | [The Mines](https://spelunky.ai/wiki/mines), [The Jungle](https://spelunky.ai/wiki/jungle), [The Temple](https://spelunky.ai/wiki/temple), [Black Market](https://spelunky.ai/wiki/black-market), [Tutorial](https://spelunky.ai/wiki/tutorial) |

Ladders stand in the rooms of [the Mines](https://spelunky.ai/wiki/mines) and [the Temple](https://spelunky.ai/wiki/temple), where they link a room's floors,
and, in [the Jungle](https://spelunky.ai/wiki/jungle), only in [the Black Market](https://spelunky.ai/wiki/black-market). The top of one is a ladder top, a rung the player can also stand
on. The [Jungle](https://spelunky.ai/wiki/jungle)'s rooms have [Vines](https://spelunky.ai/wiki/vine) where the others have ladders, and a thrown
[Rope](https://spelunky.ai/wiki/rope) is, to the code, one more kind of ladder.

## How it works

**Clip: Climbing a ladder.** The player walks to a ladder and climbs it to the top, then jumps off toward the ledge beside it, catches the ledge's edge and pulls himself up onto it. ([video](https://spelunky.ai/wiki/media/clips/ladder/climb/clip.mp4))

The clip shows the whole of it: the player walks to a ladder, presses up and climbs it to its top, then jumps
off toward the ledge beside it, catches the ledge's edge and pulls himself up.

### Taking hold

The player takes hold of a ladder by pressing up while he's in it, or while he's in the air with a ladder just
above him. He must be within
4 pixels of the ladder's middle, sideways, and he's put on its middle when he takes
hold, his speed stopped[^2]. Pressing down on a platform with
a ladder under it, a ladder top among them, takes hold of it too, and he climbs down[^3]. Ducking over a ledge with a ladder beside its edge takes
hold of the ladder rather than hanging from the edge[^4].

### Climbing

On a ladder, up and down move the player for as long as the ladder goes on above or below him: each step adds
0.6 to his speed, and climbing's friction takes 0.4 of it away again[^5][^6][^7][^8]. In play
that's 1 pixel a step (30 a second), a block in 16 steps[^9]. Left and right only
turn him[^10]. A [Cape](https://spelunky.ai/wiki/cape) closes while he climbs[^11], and a fall doesn't count while he's climbing, so
climbing down never ends in a long drop's stun[^12].

### Getting off

- **At the foot.** Pressing down where the ladder ends lets go, and the player falls; one who reaches the ground
  pressing down stands on it[^13].
- **Jumping.** The jump key throws the player off with an upward push, sideways at
  4 pixels per step if left or right is held, or straight up without[^14][^15]. For
  5 steps after, he can't take hold of a ladder again[^16].

## Locations

Ladders are made by the room templates' ladder and ladder top tiles:

| Where                                                     | Tiles                                                                                  |       |
| --------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----- |
| [The Mines](https://spelunky.ai/wiki/mines)               | Every ladder tile and ladder top tile                                                  | [^17] |
| [The Temple](https://spelunky.ai/wiki/temple)             | As the Mines                                                                           | [^18] |
| [The Black Market](https://spelunky.ai/wiki/black-market) | Its own ladder tiles; its ordinary ladder tiles are vines, as the rest of the Jungle's | [^19] |

The [Tutorial](https://spelunky.ai/wiki/tutorial) has ladders the room editor placed[^20], and the title screen
builds one of its own[^21]. In custom levels they're the
[level editor](https://spelunky.ai/wiki/level-editor)'s tiles `L` (a ladder) and `P` (a ladder top)[^22].

## Interactions

- **[Ropes](https://spelunky.ai/wiki/rope)** are a kind of ladder to the code, as are [Vines](https://spelunky.ai/wiki/vine): the checks for a ladder find them
  too, so the player takes hold of them and climbs them in the same way[^2].
- **[Monkeys](https://spelunky.ai/wiki/monkey)** leaping through the air catch hold of a ladder as they do a vine[^23].
- **[Bombs](https://spelunky.ai/wiki/bomb)** don't destroy ladders: a blast destroys the solid blocks it touches and the Spikes it leaves with
  nothing under them, and a ladder is neither[^24], so it
  stays standing where it was.

## Tips

- Climbing down a long ladder is safe however far it goes; dropping off it partway isn't, as the fall counts from
  where he lets go.
- Jumping off with a direction held carries the player sideways at 4 pixels per step, faster
  than he walks, onto a ledge beside the ladder.

## Trivia

- The object level generation places is an orange ladder, a kind of the plain ladder object that has no events
  of its own: the parent is never placed[^25].
- A test for touching a ladder looks for a ladder top first, then a ladder, in the middle of the player's box[^26].

## FAQ

### How do you climb a ladder in Spelunky Classic?

By pressing up in front of it, standing or in the air, within 4 pixels of its middle. The player takes hold, and up and down then climb it, at 1 pixel a step; the jump key jumps off.

### How do you get off a ladder in Spelunky Classic?

By jumping, which throws the player off sideways at 4 pixels per step with left or right held, or straight up without; or by climbing down past its foot, which drops him.

### Can you take fall damage on a ladder in Spelunky Classic?

No. A fall only counts while the player isn't climbing, so climbing down never builds one. Dropping off the foot of a ladder starts one from there.

### Can bombs destroy ladders in Spelunky Classic?

No. A bomb's blast breaks blocks, and a ladder isn't one: it stays hanging where it was, even when the blocks around it are gone.

## See also

- **Related:** [Vine](https://spelunky.ai/wiki/vine), [Rope](https://spelunky.ai/wiki/rope), [Controls](https://spelunky.ai/wiki/controls)

## References

[^1]: [`scripts/characterStepEvent.gml:185-236`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L185-L236)

[^2]: [`scripts/characterStepEvent.gml:606-633`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L606-L633)

[^3]: [`scripts/characterStepEvent.gml:546-566`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L546-L566)

[^4]: [`objects/oPlayer1/other_animation_end.gml:6-29`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L6-L29)

[^5]: [`scripts/characterStepEvent.gml:198-212`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L198-L212)

[^6]: [`scripts/characterStepEvent.gml:677-682`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L677-L682)

[^7]: [`scripts/characterCreateEvent.gml:70`](https://spelunky.ai/wiki/source/scripts/characterCreateEvent#L70)

[^8]: [`scripts/characterCreateEvent.gml:85-86`](https://spelunky.ai/wiki/source/scripts/characterCreateEvent#L85-L86)

[^9]: Clip [ladder/climb](https://spelunky.ai/wiki/ladder#clip-ladder-climb)

[^10]: [`scripts/characterStepEvent.gml:196-197`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L196-L197)

[^11]: [`scripts/characterStepEvent.gml:187-190`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L187-L190)

[^12]: [`objects/oPlayer1/step.gml:254-267`](https://spelunky.ai/wiki/source/objects/oPlayer1/step#L254-L267)

[^13]: [`scripts/characterStepEvent.gml:206-216`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L206-L216)

[^14]: [`scripts/characterStepEvent.gml:218-231`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L218-L231)

[^15]: [`scripts/characterCreateEvent.gml:72-73`](https://spelunky.ai/wiki/source/scripts/characterCreateEvent#L72-L73)

[^16]: [`scripts/characterStepEvent.gml:230-236`](https://spelunky.ai/wiki/source/scripts/characterStepEvent#L230-L236)

[^17]: [`scripts/scrRoomGen.gml:341-342`](https://spelunky.ai/wiki/source/scripts/scrRoomGen#L341-L342)

[^18]: [`scripts/scrRoomGen4.gml:338-339`](https://spelunky.ai/wiki/source/scripts/scrRoomGen4#L338-L339)

[^19]: [`scripts/scrRoomGenMarket.gml:262-265`](https://spelunky.ai/wiki/source/scripts/scrRoomGenMarket#L262-L265)

[^20]: Room [`rTutorial`](https://spelunky.ai/wiki/source/rooms/rTutorial), as the room editor placed it

[^21]: [`objects/oTitle/create.gml:30-35`](https://spelunky.ai/wiki/source/objects/oTitle/create#L30-L35)

[^22]: [`scripts/scrCreateTileObj.gml:73-80`](https://spelunky.ai/wiki/source/scripts/scrCreateTileObj#L73-L80)

[^23]: [`objects/oMonkey/step.gml:102-111`](https://spelunky.ai/wiki/source/objects/oMonkey/step#L102-L111)

[^24]: [`objects/oExplosion/collision_oSolid.gml:1-31`](https://spelunky.ai/wiki/source/objects/oExplosion/collision_oSolid#L1-L31)

[^25]: [`scripts/scrRoomGen.gml:341`](https://spelunky.ai/wiki/source/scripts/scrRoomGen#L341)

[^26]: [`scripts/isCollisionLadder.gml:7-10`](https://spelunky.ai/wiki/source/scripts/isCollisionLadder#L7-L10)

### Source code

- [`scripts/characterStepEvent.gml`](https://spelunky.ai/wiki/source/scripts/characterStepEvent)
- [`scripts/characterCreateEvent.gml`](https://spelunky.ai/wiki/source/scripts/characterCreateEvent)
- [`scripts/isCollisionLadder.gml`](https://spelunky.ai/wiki/source/scripts/isCollisionLadder)
- [`objects/oPlayer1/step.gml`](https://spelunky.ai/wiki/source/objects/oPlayer1/step)
- [`objects/oPlayer1/other_animation_end.gml`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end)
- [`scripts/scrRoomGen.gml`](https://spelunky.ai/wiki/source/scripts/scrRoomGen)
- [`scripts/scrRoomGen4.gml`](https://spelunky.ai/wiki/source/scripts/scrRoomGen4)
- [`scripts/scrRoomGenMarket.gml`](https://spelunky.ai/wiki/source/scripts/scrRoomGenMarket)
