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.

# The shortcut win's 0:00

From the spelunky.ai wiki: <https://spelunky.ai/wiki/shortcut-win-no-time>.

The shortcut win's 0:00 is a quirk of Spelunky Classic in which a player whose wins all came from a shortcut door sees TIME: 0:00 in the high scores.

| Quirk                                       |                                                                                                                                                                                                                                                                                                                                                                |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [How we know](https://spelunky.ai/wiki#how) | Read in the game's code and seen in the original game running                                                                                                                                                                                                                                                                                                  |
| Where                                       | [`scripts/scrUpdateHighscores.gml:55-62`](https://spelunky.ai/wiki/source/scripts/scrUpdateHighscores#L55-L62)                                                                                                                                                                                                                                                 |
| Pinned by                                   | [`fidelity/replays/ending-seed-1.txt`](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/fidelity/replays/ending-seed-1.txt)                                                                                                                                                                                                  |
| Row                                         | [docs/quirks.md §1, Bugs and leftovers in the 1.1 source](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/docs/quirks.md#1-bugs-and-leftovers-in-the-11-source): [“A win from a shortcut shows TIME: 0:00.”](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/docs/quirks.md?plain=1#L97) |

The [shortcut doors](https://spelunky.ai/wiki/tunnel-man-shortcuts) above the [title screen](https://spelunky.ai/wiki/title-screen) start a game at level 5, 9 or 13, and a win
from one counts. But it keeps no time: the time record stays as it was, which before any other win is 0. The
high scores show the time whenever there's a win, so a player whose wins all came from shortcuts sees 0:00.

## What happens

After a game won from the level 13 shortcut, the credits fade out to the [high scores room](https://spelunky.ai/wiki/high-scores-room). The win is counted,
WINS: 1, but the room shows TIME: 0:00, and the only trophy is the money's[^1].

**Clip: A win from a shortcut.** After a game won from the level 13 shortcut, the credits fade out to the high scores room. The win is counted, WINS: 1, but no time is kept: with no best time before it, the room shows TIME: 0:00. ([video](https://spelunky.ai/wiki/media/clips/speedrunning-basics/shortcut-win/clip.mp4))

## Why

A shortcut door sets `global.usedShortcut` for the whole game, and the start and [tutorial](https://spelunky.ai/wiki/tutorial) doors clear it[^2][^3].
At the end of a win, `scrUpdateHighscores(1)` writes the win's time only when the game wasn't a shortcut's:

```gml scripts/scrUpdateHighscores.gml:57-62
if (argument0 == 1 and (global.time < tTime or tTime == 0) and not global.usedShortcut)
{
    highscore_add("TIME", global.time + 8000000);
    global.newTime = true;
}
else highscore_add("TIME", tTime + 8000000);
```

[`scripts/scrUpdateHighscores.gml:57-62`](https://spelunky.ai/wiki/source/scripts/scrUpdateHighscores#L57-L62), 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 shortcut win writes back the time that was there: 0, until a win from the start or the Tutorial. It still
adds 1 to WINS[^4]. The high scores room draws the time row
whenever WINS is above 0, with the comment "only display time if won", and 0 seconds reads 0:00[^5]. The time's trophy is made only for a time above 0[^6], and the Moon Room's panel shows its goal only for one[^7], so neither shows: no trophy, no door, and the panel reads
LOCKED.[^8]

## Reproducing it

Pay the [Tunnel Man](https://spelunky.ai/wiki/tunnel-man) for a shortcut, start a game from its door, and win it, with no win from the
start door before. Any player whose wins all come from a shortcut door sees it. The replay of the clip wins a
game from the level 13 shortcut, so `usedShortcut` is 1 from frame 738 to the end. At the high scores
room, frame 8393, the time record is 0, and the only trophy is the money's, with no Moon Room door[^9]. A later win from the start door keeps its time, and the
row shows it from then on. [Speedrunning basics](https://spelunky.ai/wiki/speedrunning-basics) has the rest of how a run is timed.

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

## FAQ

### Why does my best time say 0:00 in Spelunky Classic?

Every win so far came from a [shortcut door](https://spelunky.ai/wiki/tunnel-man-shortcuts). A shortcut win counts as a win but keeps no time, and the high scores show the time row as soon as there's one win, so with no time kept it reads 0:00.

### Do shortcut wins count for the time record?

No. Only a game started from the start door or the Tutorial's keeps its time. A shortcut win still adds to WINS, and to money, kills and saves as any game does.

### Does a 0:00 time unlock the Moon Room?

No. The time's trophy and the Moon Room both check for a time above 0, so with 0:00 there's no trophy, no door, and the room's panel reads LOCKED.

## See also

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

## References

[^1]: Clip [speedrunning-basics/shortcut-win](https://spelunky.ai/wiki/shortcut-win-no-time#clip-speedrunning-basics-shortcut-win)

[^2]: [`objects/oPlayer1/other_animation_end.gml:137-157`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L137-L157)

[^3]: [`objects/oPlayer1/other_animation_end.gml:72-95`](https://spelunky.ai/wiki/source/objects/oPlayer1/other_animation_end#L72-L95)

[^4]: [`scripts/scrUpdateHighscores.gml:81-84`](https://spelunky.ai/wiki/source/scripts/scrUpdateHighscores#L81-L84)

[^5]: [`objects/oHighscores/draw.gml:126-142`](https://spelunky.ai/wiki/source/objects/oHighscores/draw#L126-L142)

[^6]: [`objects/oHighscores/create.gml:50`](https://spelunky.ai/wiki/source/objects/oHighscores/create#L50)

[^7]: [`objects/oHighscores/draw.gml:46`](https://spelunky.ai/wiki/source/objects/oHighscores/draw#L46)

[^8]: [“A win from a shortcut shows TIME: 0:00.”](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/docs/quirks.md?plain=1#L97), [docs/quirks.md §1](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/docs/quirks.md#1-bugs-and-leftovers-in-the-11-source)

[^9]: Replay [`fidelity/replays/ending-seed-1.txt`](https://github.com/851-labs/spelunky/blob/187c08df2d359683ed808ed14322c0bfcfaa3d7a/fidelity/replays/ending-seed-1.txt), which the clip [A win from a shortcut](https://spelunky.ai/wiki/shortcut-win-no-time#clip-speedrunning-basics-shortcut-win) plays

### Source code

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