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.

# Kali's favour

From the spelunky.ai wiki: <https://spelunky.ai/wiki/kalis-favour>. 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.

Kali's favour in Spelunky Classic is a hidden count that sacrifices on her altars raise, earning her gifts, and that destroying one of her altars lowers.

The favour is how [Kali](https://spelunky.ai/wiki/kali), the goddess whose altars stand in side rooms of the Mines, the Jungle, the
Ice Caves and the Temple, keeps score of the player. It's the only reason to leave a body on her altar: it
decides her gifts, the [Kapala](https://spelunky.ai/wiki/kapala) among them, which nothing else gives. It carries over from level
to level, so the gifts come from sacrifices on several levels' altars. The other side of it is her anger:
every altar destroyed costs favour and brings a punishment that grows each time.

## How it works

### The count

A new game sets the favour to 0, and with it the count of gifts she has given and of altars the player has
defiled[^1]. Only two things change it:

- **A sacrifice** adds the body's worth: a Damsel's 8, a stunned monster's
  own value, a dead one's half of it ([Sacrifice](https://spelunky.ai/wiki/sacrifice) has the rules and the values)[^2][^3].
- **A defiled altar** takes 16 off it[^4].

At -8 or less, a sacrifice adds nothing: "KALI DEVOURS THE SACRIFICE!"[^5]. Since only a sacrifice raises it, a favour that low stays
there for the rest of the game. Between that and 0, a sacrifice adds its worth as usual, though by a branch
of its own ([Quirks](https://spelunky.ai/wiki/kalis-favour#quirks))[^6][^7][^8]. A dead [Vampire](https://spelunky.ai/wiki/vampire) is worth half
of 1, so the favour needn't be a whole number[^9].

### Her messages

The favour is never shown. After each sacrifice, a second line under "KALI ACCEPTS THE SACRIFICE!" ("YOUR
SACRIFICE" for a Damsel, and "DEVOURS" for one that adds nothing) says where it stands, and her gifts come
with it[^10]:

| Favour after the sacrifice | Message                                                                                                       |       |
| -------------------------- | ------------------------------------------------------------------------------------------------------------- | ----- |
| -8 or less                 | SHE SEEMS VERY ANGRY WITH YOU!                                                                                | [^11] |
| Below 0                    | SHE SEEMS ANGRY WITH YOU.                                                                                     | [^12] |
| Exactly 0                  | SHE HAS FORGIVEN YOU!                                                                                         | [^13] |
| Above 0, below 8           | SHE SEEMS PLEASED WITH YOU.                                                                                   | [^14] |
| 8 to below 16              | SHE BESTOWS A GIFT UPON YOU! the first time, then SHE SEEMS HAPPY WITH YOU.                                   | [^15] |
| 16 to below 32             | SHE BESTOWS A GIFT UPON YOU! the first time, then SHE SEEMS VERY HAPPY WITH YOU!                              | [^16] |
| 32 or more                 | YOUR SATCHEL FEELS VERY FULL NOW! or YOU FEEL INVIGORATED! for a gift, otherwise SHE SEEMS ECSTATIC WITH YOU! | [^17] |

### Her gifts

**Clip: Kali's gift and anger.** The player drops a stunned yeti on Kali's altar. It burns, and Kali gives a kapala, which he picks up. Then a UFO's laser destroys the altar, Kali promises to punish him, and six spiders spill out of her statue's head. ([video](https://spelunky.ai/wiki/media/1d3f433106e37ef1/clips/kalis-favour/kapala/clip.mp4))

A gift is given the first time a sacrifice brings the favour into its band, and appears on the altar's right
half, free for the player to take[^18][^19]. Which gifts have been given is kept as a count, so each is
given once a game, and one whose band a sacrifice jumps over is never given: going from 7 to 19 with a stunned
[Shopkeeper](https://spelunky.ai/wiki/shopkeeper)'s 12 gives the Kapala, and the equipment never comes[^20].

1. **At 8**, a piece of equipment the player hasn't got, with two puffs of
   smoke. A roll of 1 to 8 picks the [Cape](https://spelunky.ai/wiki/cape), the [Climbing Gloves](https://spelunky.ai/wiki/climbing-gloves), the
   [Spectacles](https://spelunky.ai/wiki/spectacles), the [Pitcher's Mitt](https://spelunky.ai/wiki/pitchers-mitt), the [Spring Shoes](https://spelunky.ai/wiki/spring-shoes), the
   [Spike Shoes](https://spelunky.ai/wiki/spike-shoes), the [Paste](https://spelunky.ai/wiki/paste) or the [Compass](https://spelunky.ai/wiki/compass); one he has passes the gift
   to the next in that list, and the Cape counts as had with a [Jetpack](https://spelunky.ai/wiki/jetpack). With all of them, it's a
   Jetpack, or, with that too, a Bomb Box[^21].
2. **At 16**, the [Kapala](https://spelunky.ai/wiki/kapala)[^22].
3. **At 32**, the player's bombs are set to
   99, if he has fewer than
   80; otherwise he gets 4–8 hearts[^23].
4. **After that, at 48, 64 and every 16 more**, 4–8 hearts again[^24].

No sacrifice is worth more than 12, so none reaches 32 from below 16 in one go.

### Her anger

Destroying either half of an altar, by anything, defiles it: a [Bomb](https://spelunky.ai/wiki/bomb)'s explosion, a [UFO](https://spelunky.ai/wiki/ufo)'s
laser, or the floor under it taken away, which makes it crumble once it's in view. "YOU DARE DEFILE MY
ALTAR?" and "I WILL PUNISH YOU!" show, the screen shakes, the favour falls by 16, and both halves go[^25][^26][^8]. The punishment depends on how many altars the player has defiled before in the game[^27]:

| Altar defiled | Punishment                                                                                                                                                                                                                                            |                 |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| The first     | Six [Spiders](https://spelunky.ai/wiki/spider) spill out of her statue's head, which is left a hole                                                                                                                                                   | [^28]           |
| The second    | A [ball and chain](https://spelunky.ai/wiki/ball-and-chain) is locked to the player's ankle, and a new one on every level and every screen between levels after, to the end of the game                                                               | [^29][^30][^31] |
| Any after     | The level goes dark, and a [Ghost](https://spelunky.ai/wiki/ghost) comes from the edge of the screen unless there's one already ([Ghost timer](https://spelunky.ai/wiki/ghost-timer)); on a level already dark with a Ghost, six more Spiders instead | [^32]           |

Kali's page shows each punishment in a clip ([Kali](https://spelunky.ai/wiki/kali#her-anger)).

## Numbers

| Value                         |               |       |
| ----------------------------- | ------------- | ----- |
| Favour at the start of a game | 0             | [^33] |
| First gift: equipment         | 8             | [^34] |
| Second gift: the Kapala       | 16            | [^35] |
| Third gift: bombs or hearts   | 32            | [^36] |
| Each gift of hearts after     | 48, 64, 80... | [^37] |
| Hearts in a gift              | 4–8           | [^38] |
| Lost for a defiled altar      | 16            | [^4]  |
| Sacrifices devoured           | -8 or less    | [^39] |

## Examples

- **A Damsel, then two Yetis.** On an Ice Caves level the player throws a [Damsel](https://spelunky.ai/wiki/damsel) down on the
  altar: the favour goes from 0 to 8 and Kali gives a Compass[^40]. A stunned
  [Yeti](https://spelunky.ai/wiki/yeti) on the same altar brings it to 12, and one on the next level's to 16, the Kapala. A UFO's laser
  then destroys that altar, the favour falls to 0, and six Spiders come out of the statue: the main clip
  shows the second Yeti's sacrifice and the laser[^41][^42].
- **The punishments in turn.** A second defiled altar locks the ball and chain on the player, who carries
  it through the next levels[^43]; a third
  makes the level dark and sends a Ghost[^44];
  a fourth, on a level dark with a Ghost already, lets six more Spiders out[^45].

## Quirks

- **Anything that destroys an altar defiles it**, not only the player: a UFO's laser does, and the player is
  punished for it all the same[^8][^42].
- **An angry Kali's sacrifice has a branch of its own that changes nothing.** Below 0 but above
  -8, a sacrifice adds the body's worth as above 0, then sets the body's own worth
  to 0 just before the body is destroyed, so a sacrifice is worth the same either way[^6][^7][^8]. In the replay, a defiled altar leaves the favour at −4, and a dead [Yeti](https://spelunky.ai/wiki/yeti) on the
  next level's altar adds its 2[^46].

## FAQ

### How does Kali's favour work in Spelunky Classic?

It starts at 0 each game and only two things change it: a [Sacrifice](https://spelunky.ai/wiki/sacrifice) on one of her altars adds the body's worth (8 for a Damsel), and destroying an altar takes 16 away. The game never shows the number, but her message after each sacrifice says how she feels.

### What are Kali's gifts in Spelunky Classic?

At 8 favour a piece of equipment the player hasn't got, at 16 the [Kapala](https://spelunky.ai/wiki/kapala), and at 32 99 bombs, or 4–8 hearts for a player with 80 bombs or more. Each is given once a game; after the third, every 16 more favour gives hearts again.

### What happens when you destroy Kali's altar in Spelunky Classic?

Her favour falls by 16 and she punishes the player: the first time, six Spiders come out of her statue; the second, a ball and chain is locked to him for the rest of the game; after that, the level goes dark and a Ghost comes.

### Can you make up with Kali after destroying her altar in Spelunky Classic?

Only if the favour stays above -8. Below 0, sacrifices still count and bring it back up; at -8 or less she devours every sacrifice for nothing, so it never rises again that game.

## 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), [Sacrifice](https://spelunky.ai/wiki/sacrifice), [Kali's Altar](https://spelunky.ai/wiki/kalis-altar), [Kapala](https://spelunky.ai/wiki/kapala), [Ball and Chain](https://spelunky.ai/wiki/ball-and-chain), [Bombs and ropes](https://spelunky.ai/wiki/bombs-and-ropes), [Health](https://spelunky.ai/wiki/health), [Ghost timer](https://spelunky.ai/wiki/ghost-timer)

## References

[^1]: [`scripts/scrClearGlobals.gml:65-67`](https://spelunky.ai/wiki/source/scripts/scrClearGlobals#L65-L67)

[^2]: [`objects/oEnemy/step.gml:144-158`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L144-L158)

[^3]: [`objects/oDamsel/step.gml:325-339`](https://spelunky.ai/wiki/source/objects/oDamsel/step#L325-L339)

[^4]: [`objects/oSacAltarLeft/destroy.gml:18`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy#L18)

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

[^6]: [`objects/oEnemy/step.gml:148-153`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L148-L153)

[^7]: [`objects/oDamsel/step.gml:329-334`](https://spelunky.ai/wiki/source/objects/oDamsel/step#L329-L334)

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

[^9]: [`objects/oEnemy/step.gml:154-158`](https://spelunky.ai/wiki/source/objects/oEnemy/step#L154-L158)

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

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

[^12]: [`scripts/scrGetFavorMsg.gml:25`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L25)

[^13]: [`scripts/scrGetFavorMsg.gml:26`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L26)

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

[^15]: [`scripts/scrGetFavorMsg.gml:67-76`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L67-L76)

[^16]: [`scripts/scrGetFavorMsg.gml:52-61`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L52-L61)

[^17]: [`scripts/scrGetFavorMsg.gml:27-50`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L27-L50)

[^18]: [`scripts/scrGetFavorMsg.gml:62-64`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L62-L64)

[^19]: [`scripts/scrGetFavorMsg.gml:106-107`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L106-L107)

[^20]: [`scripts/scrGetFavorMsg.gml:52-76`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L52-L76)

[^21]: [`scripts/scrGetFavorMsg.gml:77-105`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L77-L105)

[^22]: [`scripts/scrGetFavorMsg.gml:58-64`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L58-L64)

[^23]: [`scripts/scrGetFavorMsg.gml:39-50`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L39-L50)

[^24]: [`scripts/scrGetFavorMsg.gml:29-34`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L29-L34)

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

[^26]: [`objects/oSacAltarLeft/destroy.gml:11-66`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy#L11-L66)

[^27]: [`objects/oSacAltarLeft/destroy.gml:20-60`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy#L20-L60)

[^28]: [`objects/oKaliHead/alarm_0.gml:1-8`](https://spelunky.ai/wiki/source/objects/oKaliHead/alarm_0#L1-L8)

[^29]: [`objects/oSacAltarLeft/destroy.gml:27-38`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy#L27-L38)

[^30]: [`objects/oLevel/create.gml:31-42`](https://spelunky.ai/wiki/source/objects/oLevel/create#L31-L42)

[^31]: [`objects/oTransition/create.gml:26-37`](https://spelunky.ai/wiki/source/objects/oTransition/create#L26-L37)

[^32]: [`objects/oSacAltarLeft/destroy.gml:39-58`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy#L39-L58)

[^33]: [`scripts/scrClearGlobals.gml:65`](https://spelunky.ai/wiki/source/scripts/scrClearGlobals#L65)

[^34]: [`scripts/scrGetFavorMsg.gml:67`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L67)

[^35]: [`scripts/scrGetFavorMsg.gml:52`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L52)

[^36]: [`scripts/scrGetFavorMsg.gml:27`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L27)

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

[^38]: [`scripts/scrGetFavorMsg.gml:33`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg#L33)

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

[^40]: Clip damsel/sacrifice

[^41]: Clip kalis-favour/kapala

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

[^43]: Replay `fidelity/replays/item-seed-38-ball-and-chain.txt`

[^44]: Replay `fidelity/replays/item-seed-38-kali-third-punishment.txt`

[^45]: Replay `fidelity/replays/item-seed-38-kali-six-more-spiders.txt`

[^46]: Replay `fidelity/replays/item-seed-11-kali-angry-sacrifice.txt`

### Source code

- [`scripts/scrGetFavorMsg.gml`](https://spelunky.ai/wiki/source/scripts/scrGetFavorMsg)
- [`scripts/scrClearGlobals.gml`](https://spelunky.ai/wiki/source/scripts/scrClearGlobals)
- [`objects/oEnemy/step.gml`](https://spelunky.ai/wiki/source/objects/oEnemy/step)
- [`objects/oDamsel/step.gml`](https://spelunky.ai/wiki/source/objects/oDamsel/step)
- [`objects/oSacAltarLeft/destroy.gml`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/destroy)
- [`objects/oSacAltarLeft/step.gml`](https://spelunky.ai/wiki/source/objects/oSacAltarLeft/step)
- [`objects/oKaliHead/alarm_0.gml`](https://spelunky.ai/wiki/source/objects/oKaliHead/alarm_0)
- [`objects/oLevel/create.gml`](https://spelunky.ai/wiki/source/objects/oLevel/create)
- [`objects/oTransition/create.gml`](https://spelunky.ai/wiki/source/objects/oTransition/create)
