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.

# Sacrifice

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

This page describes a secret.

Sacrifice in Spelunky Classic is leaving a stunned or dead body on Kali's altar until it burns, raising her favour: a Damsel by 8, a monster by up to 12.

A sacrifice is the only way to raise [Kali's favour](https://spelunky.ai/wiki/kalis-favour), and so to earn her gifts, the
[Kapala](https://spelunky.ai/wiki/kapala) among them. The body has to be one the game leaves lying in the level: most monsters
vanish when they die, so only a few kinds, and the Damsel, can be offered. The altar is a stone table in a
side room, which a level has at most one of ([Kali's Altar](https://spelunky.ai/wiki/kalis-altar)).

## How it works

### The rite

A monster's sacrifice is part of the code most monsters share (`oEnemy`'s step); the Damsel's is in her own
step. On each step, a body is checked in this order[^1][^2]:

1. **Stunned or dead.** A monster must be stunned or dead; a Damsel must have been thrown by the player, or
   be dead.
2. **Lying still.** Not in the player's hands, and not moving at all, across or down.
3. **On the altar.** The point just under the middle of its feet must be on either half of an altar.
4. **Long enough.** While all three hold, a count of 20 steps runs down, one a step. It
   starts again whenever the body is picked up or moves, so one picked up or knocked off has to lie there for
   the whole count again; one lying still off the altar keeps what's left of it[^3][^4].
5. **The sacrifice.** Once the count is out, the body bursts into flame with a burst of blood and is gone, the
   screen shakes, and the message is "KALI ACCEPTS THE SACRIFICE!" ("YOUR SACRIFICE" for a Damsel). Its worth is
   added to the favour, and Kali's message on how she feels follows, with her gift if it's earned
   ([Kali's favour](https://spelunky.ai/wiki/kalis-favour#her-gifts))[^5].

At a favour of -8 or less the body is taken all the same, but the message
is "KALI DEVOURS THE SACRIFICE!" and nothing is added[^6].

A monster's step only runs while it's near the view, within 20 pixels of its left and top edges and 4 of
its right and bottom, so a monster left on an altar the player has walked away from waits there until he
comes back[^7].

### What can be sacrificed

Only a body the game leaves lying in the level counts. Most monsters, such as the [Snake](https://spelunky.ai/wiki/snake) or the
[Bat](https://spelunky.ai/wiki/bat), are removed as soon as their hit points are gone, and some are never stunned. Those that lie
stunned, and those that leave a dead body, are:

| Sacrifice                                         | Stunned    | Dead |       |
| ------------------------------------------------- | ---------- | ---- | ----- |
| [Shopkeeper](https://spelunky.ai/wiki/shopkeeper) | 12         | 6    | [^8]  |
| [Damsel](https://spelunky.ai/wiki/damsel)         | 8 (thrown) | 8    | [^9]  |
| [Hawkman](https://spelunky.ai/wiki/hawkman)       | 6          | 3    | [^10] |
| [Yeti](https://spelunky.ai/wiki/yeti)             | 4          | 2    | [^11] |
| [Caveman](https://spelunky.ai/wiki/caveman)       | 2          | 1    | [^12] |
| [Mantrap](https://spelunky.ai/wiki/mantrap)       | 2          | 1    | [^13] |
| [Vampire](https://spelunky.ai/wiki/vampire)       | 1          | 0.5  | [^14] |

A dead monster is worth half a stunned one[^15]. A Damsel is worth
the same either way: her code has a branch that would make her worth half as much again, but it tests for
a state she's never in[^16]. The player's own body is never a
sacrifice, as nothing in his code looks for the altar.

### Getting a body there

A stunned monster can be picked up and carried, and set down or thrown onto the altar
([Throwing](https://spelunky.ai/wiki/throwing)). A [stomp](https://spelunky.ai/wiki/stomping) stuns a Caveman, a Yeti, a Hawkman, a Vampire, an angry Shopkeeper,
and a Mantrap while it's eating or the player wears [Spike Shoes](https://spelunky.ai/wiki/spike-shoes); a stunned body thrown fast
into any of them but the Shopkeeper stuns it too[^17]. A stunned monster wakes after a
while: a Yeti after 200 steps, counted down while it's held or on the ground, when it slips out of the
player's hands, so the altar has to be near[^18]. A Damsel is picked up and thrown as an item
is, and lies stunned where she lands.

## Numbers

| Value                                   |                                     |       |
| --------------------------------------- | ----------------------------------- | ----- |
| Steps lying still before the body burns | 20                                  | [^3]  |
| A stunned monster's worth               | Its own value (most monsters' is 1) | [^19] |
| A dead monster's worth                  | Half its value                      | [^20] |
| A Damsel's worth                        | 8                                   | [^21] |
| Devoured, adding nothing                | Favour of -8 or less                | [^6]  |

## Examples

**Clip: Yeti sacrificed to Kali.** In the Ice Caves, the player stomps a yeti beside Kali's altar, picks it up stunned and drops it on the altar. It lies still there for a moment, then bursts into flame: Kali accepts the sacrifice, and she seems happy with him. ([video](https://spelunky.ai/wiki/media/1d3f433106e37ef1/clips/sacrifice/yeti/clip.mp4))

- **A Yeti.** In the Ice Caves, the player stomps a Yeti beside the altar, which stuns it, picks it up and
  drops it on the altar's left half. It comes to rest, lies there for 20 steps, and burns:
  the favour goes from 8 to 12, and Kali "SEEMS HAPPY"[^22].
- **A Damsel.** Earlier on the same level, the player carries a Damsel onto the altar and throws her down on
  it: worth 8, she brings the favour from 0 to 8, Kali's first gift[^23].

## Quirks

- **The Kapala comes only from Kali**, so sacrifices are the only way to it, and the rare items' row of
  `docs/quirks.md` §1 spells out the cheapest routes: two Damsels on two levels' altars, or a Damsel and
  stunned monsters on one[^18][^24].

## FAQ

### How do you sacrifice to Kali in Spelunky Classic?

Stun or kill a monster that leaves a body, such as a [Caveman](https://spelunky.ai/wiki/caveman) or a [Yeti](https://spelunky.ai/wiki/yeti), or pick up a [Damsel](https://spelunky.ai/wiki/damsel), then put it down on either half of Kali's altar. Once it has lain still there, unheld, for 20 steps, it bursts into flame and Kali takes it.

### What can you sacrifice to Kali in Spelunky Classic?

A Damsel, and the monsters that lie stunned or dead rather than vanishing: the Caveman, the Yeti, the [Hawkman](https://spelunky.ai/wiki/hawkman), the [Shopkeeper](https://spelunky.ai/wiki/shopkeeper), the [Mantrap](https://spelunky.ai/wiki/mantrap) and the [Vampire](https://spelunky.ai/wiki/vampire). Never the player's own body.

### What is the best sacrifice to Kali in Spelunky Classic?

A stunned Shopkeeper, worth 12 favour, then a Damsel at 8. A dead monster is worth half a stunned one; a Damsel is worth the same either way.

### Why didn't Kali accept my sacrifice in Spelunky Classic?

The body must lie still, not held, on the altar for 20 steps, and a monster's only counts while it's near the view. A stunned monster that wakes first walks off. At a favour of -8 or less, after destroyed altars, Kali devours it for nothing.

## Gallery

**Clip: Damsel sacrificed to Kali.** The player carries a damsel onto Kali's altar and throws her down on it. She lies still on the altar for a moment, then bursts into flame: Kali accepts the sacrifice and gives a compass, which the player picks up. ([video](https://spelunky.ai/wiki/media/1d3f433106e37ef1/clips/damsel/sacrifice/clip.mp4))

## See also

- **Related:** [Kali](https://spelunky.ai/wiki/kali), [Kali's favour](https://spelunky.ai/wiki/kalis-favour), [Kali's Altar](https://spelunky.ai/wiki/kalis-altar), [Damsel](https://spelunky.ai/wiki/damsel), [Caveman](https://spelunky.ai/wiki/caveman), [Yeti](https://spelunky.ai/wiki/yeti), [Hawkman](https://spelunky.ai/wiki/hawkman), [Shopkeeper](https://spelunky.ai/wiki/shopkeeper), [Mantrap](https://spelunky.ai/wiki/mantrap), [Vampire](https://spelunky.ai/wiki/vampire)

## References

[^1]: [`objects/oEnemy/step.gml:130-166`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L130-L166)

[^2]: [`objects/oDamsel/step.gml:311-348`](https://spelunky.ai/wiki/source/objects/oDamsel/step#L311-L348)

[^3]: [`objects/oEnemy/create.gml:33`](https://spelunky.ai/wiki/source/objects/oEnemy/create#L33)

[^4]: [`objects/oEnemy/step.gml:166`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L166)

[^5]: [`scripts/scrGetFavorMsg.gml:24-111`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L24-L111)

[^6]: [`objects/oEnemy/step.gml:144-147`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L144-L147)

[^7]: [`objects/oEnemy/step.gml:7-8`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L7-L8)

[^8]: [`objects/oShopkeeper/create.gml:14`](https://spelunky.ai/wiki/source/objects/oShopkeeper/create#L14)

[^9]: [`objects/oDamsel/create.gml:18`](https://spelunky.ai/wiki/source/objects/oDamsel/create#L18)

[^10]: [`objects/oHawkman/create.gml:13`](https://spelunky.ai/wiki/source/objects/oHawkman/create#L13)

[^11]: [`objects/oYeti/create.gml:12`](https://spelunky.ai/wiki/source/objects/oYeti/create#L12)

[^12]: [`objects/oCaveman/create.gml:13`](https://spelunky.ai/wiki/source/objects/oCaveman/create#L13)

[^13]: [`objects/oManTrap/create.gml:12`](https://spelunky.ai/wiki/source/objects/oManTrap/create#L12)

[^14]: [`objects/oEnemy/create.gml:32`](https://spelunky.ai/wiki/source/objects/oEnemy/create#L32)

[^15]: [`objects/oEnemy/step.gml:150-157`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L150-L157)

[^16]: [`objects/oDamsel/step.gml:331-338`](https://spelunky.ai/wiki/source/objects/oDamsel/step#L331-L338)

[^17]: [`objects/oEnemy/step.gml:170-199`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L170-L199)

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

[^19]: [`objects/oEnemy/step.gml:156`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L156)

[^20]: [`objects/oEnemy/step.gml:157`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L157)

[^21]: [`objects/oDamsel/step.gml:338`](https://spelunky.ai/wiki/source/objects/oDamsel/step#L338)

[^22]: Clip sacrifice/yeti

[^23]: Clip damsel/sacrifice

[^24]: Replay `fidelity/replays/item-seed-11-kapala.txt`

### Source code

- [`objects/oEnemy/step.gml`](https://spelunky.ai/wiki/source/objects/oEnemy/step)
- [`objects/oEnemy/create.gml`](https://spelunky.ai/wiki/source/objects/oEnemy/create)
- [`objects/oDamsel/step.gml`](https://spelunky.ai/wiki/source/objects/oDamsel/step)
- [`scripts/scrGetFavorMsg.gml`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg)
