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.

# No trophy at 16:00

From the spelunky.ai wiki: <https://spelunky.ai/wiki/no-trophy-at-sixteen-minutes>. Verified against the spelunky.ai port [v0.1.13](https://github.com/851-labs/spelunky/releases/tag/v0.1.13) on 28 October 2026.

No trophy at 16:00 is a quirk of Spelunky Classic in which a best time of exactly 16:00 earns no trophy, though 15:59 earns the bronze one.

| Quirk     |                                                                                                                                                                                                                       |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Status    | GML + Oracle                                                                                                                                                                                                          |
| Where     | [`objects/oHighscores/create.gml:50-56`](https://spelunky.ai/wiki/source/objects/oHighscores/create#L50-L56)                                                                                                          |
| Pinned by | `fidelity/replays/flow-highscores-time-960-no-trophy.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): “A best time of exactly 960 seconds earns no trophy.” |

The [high scores room](https://spelunky.ai/wiki/scoring#the-high-scores-room) gives a trophy for the best time: bronze, silver or gold. The
bronze one is meant for a time of 16:00 or less, but the check that makes the trophy at all asks for less than
16:00, so a best time of exactly 16:00 leaves the trophy's place empty. One second faster, and the bronze trophy is
there.

## What happens

The only win recorded took 16:00. The player walks from the title screen into the scores door: the panel shows
TIME: 16:00, and the stand for the time's trophy has nothing on it[^1].

**Clip: No trophy for a best time of 16:00.** From the title screen, the player walks left into the scores door. The high scores panel shows a best time of 16:00, and the stand for the time's trophy is empty: the bronze trophy is only made below 960 seconds, though it's meant for 16:00 and under. ([video](https://spelunky.ai/wiki/media/clips/quirks/highscores-time-960/clip.mp4))

## Why

When the high scores room is made, it makes the time's trophy only for a best time above 0 and under 960 seconds,
then picks its colour, starting with bronze for a time of 960 or less:

```gml objects/oHighscores/create.gml:50-56
if (tTime > 0 and tTime < 960)
{
    trophy = instance_create(64, 64, oTrophy);
    if (tTime <= 960)
    {
        trophy.sprite_index = sBronzeTrophy;
    }
```

[`objects/oHighscores/create.gml:50-56`](https://spelunky.ai/wiki/source/objects/oHighscores/create#L50-L56), 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)).

The two tests disagree at 960 exactly: the inner one would give it the bronze trophy, but the outer one never
lets it get there[^2]. The silver (720 or less) and gold (600 or less) tests after it agree with
the outer one[^3]. The time is stored in whole seconds: at the
end of a won game, the clock is rounded down to the second before it's compared with the best time[^4], so any win from 16:00.000 to 16:00.999 is a 960.

## Reproducing it

Win a game in 16:00, without a shortcut, as the best time recorded, and enter the high scores room. It happens in normal play, but
rarely: the best time has to land on that second. The replay of the clip starts from a high scores table with
one win at 16:00 and nothing else, and walks into the scores door: the room loads (frame 546) with a best time of
960 and makes no trophy at all[^5]. With
959, the bronze trophy is made.

## 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[^2], and the oracle's fingerprint of the replay pins the empty stand. No option turns it off.

## FAQ

### Why didn't I get a trophy for my time in Spelunky Classic?

If the high scores room shows TIME: 16:00 exactly, that's the quirk: the time's trophies are only made for a best time under 960 seconds, so 16:00 gets none, while the bronze trophy inside that check is meant for 16:00 and under. Any time from 0:01 to 15:59 gets one.

### What times earn the trophies in Spelunky Classic?

Under 16:00 earns the bronze trophy, 12:00 or less the silver, and 10:00 or less the gold, which also opens the Moon Room's door. A best time of exactly 16:00 earns nothing.

### How likely is a time of exactly 16:00?

It's rare. The best time is the win's clock, rounded down to the second, so the best win has to take from 16:00.000 to 16:00.999, be faster than every win before it, and not start from a shortcut, as a shortcut game's time isn't kept.

## See also

- **Related:** [Scoring](https://spelunky.ai/wiki/scoring), [Speedrunning basics](https://spelunky.ai/wiki/speedrunning-basics)

## References

[^1]: Clip quirks/highscores-time-960

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

[^3]: [`objects/oHighscores/create.gml:57-65`](https://spelunky.ai/wiki/source/objects/oHighscores/create#L57-L65)

[^4]: [`scripts/scrUpdateHighscores.gml:54-62`](https://spelunky.ai/wiki/source/scripts/scrUpdateHighscores#L54-L62)

[^5]: Replay `fidelity/replays/flow-highscores-time-960-no-trophy.txt`

### Source code

- [`objects/oHighscores/create.gml`](https://spelunky.ai/wiki/source/objects/oHighscores/create)
- [`scripts/scrUpdateHighscores.gml`](https://spelunky.ai/wiki/source/scripts/scrUpdateHighscores)
