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.

# Stone blocks without gold

From the spelunky.ai wiki: <https://spelunky.ai/wiki/city-of-gold-stone-blocks>. Verified against the spelunky.ai port [v0.1.11](https://github.com/851-labs/spelunky/releases/tag/v0.1.11) on 28 October 2026.

Stone blocks without gold is a quirk of Spelunky Classic in which a stone block on a Temple level breaks without a trace, so the City of Gold's give no gold.

| Quirk     |                                                                                                                                                                                                                                                                   |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Status    | GML + Oracle                                                                                                                                                                                                                                                      |
| Where     | [`scripts/scrEntityGen.gml:497-499`](https://spelunky.ai/wiki/source/scripts/scrEntityGen#L497-L499)                                                                                                                                                              |
| Pinned by | `fidelity/replays/city-of-gold-seed-9-sacrifice-pit.txt`                                                                                                                                                                                                          |
| Row       | [docs/quirks.md §1, Bugs and leftovers in the 1.1 source](https://github.com/851-labs/spelunky/blob/main/docs/quirks.md#1-bugs-and-leftovers-in-the-11-source): “Every stone block on a Temple level breaks without a trace, so the City of Gold's give no gold.” |

In the [City of Gold](https://spelunky.ai/wiki/city-of-gold), every block of stone is gold, and breaking one gives three
[Gold Chunks](https://spelunky.ai/wiki/gold-chunk) and a [Gold Nugget](https://spelunky.ai/wiki/gold-nugget). One in ten is a stone block rather than temple
stone, drawn gold all the same, and it gives nothing: level generation marks every stone block of a
[Temple](https://spelunky.ai/wiki/temple) level to break cleanly, which leaves no rubble and no gold.

## What happens

A bomb in the City of Gold breaks a stone block and the block of temple stone beside it. The temple stone gives
three chunks of gold and a nugget; the stone block, the same gold to look at, gives nothing[^1].

**Clip: A stone block in the City of Gold gives no gold.** A bomb in the City of Gold destroys a stone block and the gold temple block beside it. The temple block gives three gold chunks and a nugget; the stone block nothing, as level generation marked every stone block of a Temple level to break without a trace. ([video](https://spelunky.ai/wiki/media/clips/quirks/city-stone-block-no-gold/clip.mp4))

## Why

The Temple's room script makes about one block in ten of its `1` and `2` tiles a stone block (`oBlock`), and the
rest temple stone (`oTemple`) or, for a `1` tile one time in a hundred, the Jungle's earth[^2]. In the
City, a stone block's create event gives it the gold sprite[^3]. Then
`scrEntityGen`'s Temple branch turns some stone blocks into arrow traps, and so that those go without rubble, it
sets the flag on all of them first:

```gml scripts/scrEntityGen.gml:497-500
    with oBlock
    {   
        cleanDeath = true;
        if (not isInShop(x, y))
```

[`scripts/scrEntityGen.gml:497-500`](https://spelunky.ai/wiki/source/scripts/scrEntityGen#L497-L500), from `spelunky.gmk`, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC ([Spelunky User License v1.1b](https://spelunky.ai/LICENSE.txt)).

Nothing sets it back on the blocks it leaves[^4]. A stone block's
destroy event makes its rubble, or in the City its gold, only without the flag:

```gml objects/oBlock/destroy.gml:1-4
if (not cleanDeath)
{

    if (not global.cityOfGold)
```

[`objects/oBlock/destroy.gml:1-4`](https://spelunky.ai/wiki/source/objects/oBlock/destroy#L1-L4), from `spelunky.gmk`, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC ([Spelunky User License v1.1b](https://spelunky.ai/LICENSE.txt)).

So a stone block bombed or dug on a Temple level leaves nothing, and one in the City gives no gold. The temple
stone has no such flag, and gives three chunks and a nugget[^5]. The
Mines' pass over stone blocks doesn't set it, so theirs leave rubble[^6][^7].

## Reproducing it

Bomb or dig the blocks of the City of Gold: about one in ten gives no gold. On any Temple level, a stone block
leaves no rubble. The replay, with seed 9, reaches the City as a
sacrifice pit, and the player throws a bomb onto a stone block by the entrance. It breaks that block and the
temple stone beside it, and only one nugget and three chunks fly: the temple stone's[^8].

## In the port

The spelunky.ai port reproduces it exactly: it's in docs/quirks.md's list of the 1.1 source's bugs[^7], and the oracle's fingerprint of the replay pins the blocks and the gold. No option turns it
off.

## FAQ

### Why do some gold blocks in the City of Gold give no gold?

One block in ten of the City is a stone block, drawn gold like the rest. Level generation marks every stone block on a Temple level to break cleanly, and a block that breaks cleanly makes neither its rubble nor, in the City, its gold.

### How can I tell a stone block from a temple block in the City of Gold?

You can't by its look: both are drawn as gold. Only breaking it tells, by whether gold flies.

### Do the Temple's stone blocks leave rubble?

No. A stone block bombed or dug on any Temple level vanishes without rubble, where the Mines' stone blocks leave theirs.

## See also

- **Related:** [City of Gold](https://spelunky.ai/wiki/city-of-gold), [The Temple](https://spelunky.ai/wiki/temple)

## References

[^1]: Clip quirks/city-stone-block-no-gold

[^2]: [`scripts/scrRoomGen4.gml:317-327`](https://spelunky.ai/wiki/source/scripts/scrRoomGen4#L317-L327)

[^3]: [`objects/oBlock/create.gml:3-4`](https://spelunky.ai/wiki/source/objects/oBlock/create#L3-L4)

[^4]: [`scripts/scrEntityGen.gml:497-524`](https://spelunky.ai/wiki/source/scripts/scrEntityGen#L497-L524)

[^5]: [`objects/oTemple/destroy.gml:21-32`](https://spelunky.ai/wiki/source/objects/oTemple/destroy#L21-L32)

[^6]: [`scripts/scrEntityGen.gml:145-171`](https://spelunky.ai/wiki/source/scripts/scrEntityGen#L145-L171)

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

[^8]: Replay `fidelity/replays/city-of-gold-seed-9-sacrifice-pit.txt`

### Source code

- [`scripts/scrEntityGen.gml`](https://spelunky.ai/wiki/source/scripts/scrEntityGen)
- [`scripts/scrRoomGen4.gml`](https://spelunky.ai/wiki/source/scripts/scrRoomGen4)
- [`objects/oBlock/create.gml`](https://spelunky.ai/wiki/source/objects/oBlock/create)
- [`objects/oBlock/destroy.gml`](https://spelunky.ai/wiki/source/objects/oBlock/destroy)
- [`objects/oTemple/destroy.gml`](https://spelunky.ai/wiki/source/objects/oTemple/destroy)
