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.

# Health

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

Health in Spelunky Classic is the player's hearts: he starts a game with 4 hearts, loses them to damage, and dies when he has none left.

The hearts are the first number in the row at the top of the screen. Everything that hurts the player takes
some of them, from a [Snake](https://spelunky.ai/wiki/snake)'s bite to a [Bomb](https://spelunky.ai/wiki/bomb)'s explosion ([Damage and stun](https://spelunky.ai/wiki/damage)), and a few things
give them back: a rescued [Damsel](https://spelunky.ai/wiki/damsel), a kiss bought in the Kissing Parlor, the
[Kapala](https://spelunky.ai/wiki/kapala) and Kali. There's no other way to heal, and no slow recovery over time.

## How it works

The game keeps the player's hearts in one number, `global.plife`, which the HUD draws beside a heart icon,
as 0 when it's below 0[^1].

**Starting.** A new game sets it to 4 hearts, or 2 hearts
for the [Tunnel Man](https://spelunky.ai/wiki/tunnel-man)[^2]. On the title screen
and the high scores screen it's set back to that on every step, so nothing there can kill the player[^3]. A custom level from the level editor starts
with the hearts its author set, from 1 to 99[^4], and each of
the three bonus rooms, whose doors are on the high scores screen,
with 8 hearts[^5][^6][^7].

**The limit.** At the start of each of the player's steps, hearts above 99 are
cut back to 99, as bombs and ropes are[^8].

**Losing hearts.** Monsters, traps, explosions and falls take hearts in their own amounts, and some stun the
player or knock him back as well: [Damage and stun](https://spelunky.ai/wiki/damage) has them all. Most monster touches only take hearts while he
has some (`if (global.plife > 0)`), but the checks in his own step for explosions, lava, spikes and being
crushed don't, so his hearts can go below 0[^9][^10][^11].

**Dying.** On a level, or in a bonus room, his step checks for fewer than 1 heart while he's alive. If he
wears the [Ankh](https://spelunky.ai/wiki/ankh), it shatters and he comes back with 4 hearts at the level's entrance
(or inside the Moai, on a level that has one, or at the start of [Olmec's Lair](https://spelunky.ai/wiki/olmecs-lair)), invincible for
60 steps. Otherwise his hearts are set to 0, the HUD is hidden, the high
scores are updated and he's dead[^12]. What can still hurt a
dead body keeps taking hearts, lava 99 a step[^13], and once
they're below −99 the body bursts into blood and disappears[^14].

**Gaining hearts.** Each source adds to the count, up to the limit:

- **A rescued [Damsel](https://spelunky.ai/wiki/damsel).** Bringing one to a level's exit counts her: carried out through it[^15], carried onto it, which takes her in and leaves the player
  on the level[^16], or walking in by herself[^17]. On the screen between levels, a Damsel then waits in the
  player's path: when he reaches her she kisses him and a
  heart rises[^18][^19][^20], and when that screen ends, skipped or not, he gets
  1 heart[^21]. The screen makes
  one kissing Damsel however many were rescued, so two on one level give one heart; only a custom level can
  have two ([Quirks](https://spelunky.ai/wiki/health#quirks)).
- **A kiss in the Kissing Parlor.** Paying its Damsel gives 1 heart
  and the message "NOW AIN'T SHE SWEET!" ("HE", playing as the Damsel)[^22]. A kiss costs
  $10,000 on level 2, and $5,000 more for each level after[^23].
- **The [Kapala](https://spelunky.ai/wiki/kapala).** Every ninth drop of blood the player touches while wearing it gives
  1 heart[^24].
- **Kali.** One of her gifts, for a high enough favour, is 4–8 hearts
  at once, with the message "YOU FEEL INVIGORATED!"[^25].

## Numbers

|                                                                          | Hearts       |       |
| ------------------------------------------------------------------------ | ------------ | ----- |
| At the start of a game                                                   | 4            | [^26] |
| At the start, as the [Tunnel Man](https://spelunky.ai/wiki/tunnel-man)   | 2            | [^27] |
| At the start of a custom level                                           | 1–99, as set | [^28] |
| In a bonus room                                                          | 8            | [^29] |
| Most                                                                     | 99           | [^30] |
| A rescued [Damsel](https://spelunky.ai/wiki/damsel)'s kiss               | +1           | [^21] |
| A kiss in the Kissing Parlor                                             | +1           | [^31] |
| The [Kapala](https://spelunky.ai/wiki/kapala), every ninth drop of blood | +1           | [^32] |
| Kali's gift                                                              | +4–8         | [^33] |
| The [Ankh](https://spelunky.ai/wiki/ankh)'s revival                      | 4            | [^34] |
| Below this, the body disappears                                          | −99          | [^35] |

## Examples

**Clip: Damsel rescued.** The player carries a damsel to the level's exit, and she goes through the door with him. In the screen between levels she kisses him and a heart rises from them; the next level starts with a fifth heart. ([video](https://spelunky.ai/wiki/media/9298410b19d5e050/clips/damsel/rescue/clip.mp4))

The clip shows a Damsel's heart. The player carries a Damsel out of level 1's exit; on the screen between
levels she kisses him and a heart rises, and he starts level 2 with five hearts[^36].

## Quirks

- **Two Damsels rescued on one level give one heart.** The screen between levels shows both in the loot, but
  makes one kissing Damsel[^18][^37]. A level
  the game makes has one Damsel at most, so it takes a custom level with two of the
  level editor's; a clip shows two carried onto the exit, and one heart[^38].
- Not every hit that leaves the player without hearts counts in the end-of-game statistics' deaths table:
  [Damage and stun](https://spelunky.ai/wiki/damage#quirks) has which.

## FAQ

### How many hearts do you start with in Spelunky Classic?

4 hearts. The [Tunnel Man](https://spelunky.ai/wiki/tunnel-man) starts with 2 hearts, and a custom level starts with what its author set, from 1 to 99.

### How do you get more hearts in Spelunky Classic?

By rescuing a [Damsel](https://spelunky.ai/wiki/damsel) (her kiss between levels gives 1 heart), buying a kiss in the Kissing Parlor, filling the [Kapala](https://spelunky.ai/wiki/kapala) with blood, or from Kali, who can give 4–8 hearts at once.

### What is the most hearts you can have in Spelunky Classic?

99 hearts. Anything above that is cut back to 99 at the start of the player's next step.

### What happens when you run out of hearts in Spelunky Classic?

The player dies and the game is over, unless he's wearing the [Ankh](https://spelunky.ai/wiki/ankh), which brings him back with 4 hearts and is used up.

## Gallery

**Clip: Two Damsels saved, one heart.** The player carries two damsels onto a custom level's exit, one after the other, and goes through. The screen between levels shows both damsels in his loot, but only one kisses him, and only one heart rises.

## See also

- **Related:** [Damage and stun](https://spelunky.ai/wiki/damage), [Ankh](https://spelunky.ai/wiki/ankh), [Kapala](https://spelunky.ai/wiki/kapala)

## References

[^1]: `scripts/scrDrawHUD.gml:32-35`

[^2]: `scripts/scrClearGlobals.gml:103-114`

[^3]: `objects/oPlayer1/step.gml:2-7`

[^4]: `scripts/scrLoadLevel.gml:138-142`

[^5]: `objects/oHighscores/create.gml:38`

[^6]: `objects/oMoonRoom/create.gml:1`

[^7]: `objects/oStarsRoom/create.gml:1`

[^8]: `objects/oPlayer1/step.gml:9-11`

[^9]: `objects/oEnemy/collision_oCharacter.gml:23-25`

[^10]: `objects/oPlayer1/step.gml:196-212`

[^11]: `objects/oPlayer1/step.gml:1614-1616`

[^12]: `objects/oPlayer1/step.gml:1849-1921`

[^13]: `objects/oPlayer1/step.gml:196-203`

[^14]: `objects/oPlayer1/step.gml:1484-1488`

[^15]: `objects/oPlayer1/step.gml:782-789`

[^16]: `objects/oPlayer1/step.gml:2068-2092`

[^17]: `objects/oDamsel/step.gml:3-11`

[^18]: `objects/oTransition/create.gml:42-45`

[^19]: `objects/oPDummy/step.gml:3-21`

[^20]: `objects/oDamselKiss/step.gml:3-7`

[^21]: `objects/oDamselKiss/other_room_end.gml:1`

[^22]: `objects/oPlayer1/step.gml:1429-1449`

[^23]: `scripts/getKissValue.gml:1`

[^24]: `objects/oPlayer1/collision_oBlood.gml:1-13`

[^25]: `scripts/scrGetFavorMsg.gml:27-50`

[^26]: `scripts/scrClearGlobals.gml:111`

[^27]: `scripts/scrClearGlobals.gml:105`

[^28]: `scripts/scrLoadLevel.gml:140-142`

[^29]: `objects/oSunRoom/create.gml:1`

[^30]: `objects/oPlayer1/step.gml:9`

[^31]: `objects/oPlayer1/step.gml:1444`

[^32]: `objects/oPlayer1/collision_oBlood.gml:10`

[^33]: `scripts/scrGetFavorMsg.gml:33`

[^34]: `objects/oPlayer1/step.gml:1855`

[^35]: `objects/oPlayer1/step.gml:1484`

[^36]: Clip damsel/rescue

[^37]: Quirk 1 (docs/quirks.md)

[^38]: Clip quirks/two-damsels-one-heart

### Source code

- `objects/oPlayer1/step.gml`
- `scripts/scrClearGlobals.gml`
- `scripts/scrDrawHUD.gml`
- `objects/oTransition/create.gml`
- `objects/oDamselKiss/other_room_end.gml`
- `objects/oPlayer1/collision_oBlood.gml`
- `scripts/scrGetFavorMsg.gml`
- `scripts/getKissValue.gml`
- `scripts/scrLoadLevel.gml`
