Black Markets on graveyard levels
Verified against the spelunky.ai port v0.1.11 on .
Black Markets on graveyard levels is a quirk of Spelunky Classic in which one Black Market in ten is a graveyard, and the game never says so.
The Black Market is a Jungle level, and every Jungle level rolls for being a graveyard. The market's is rolled too, once its rooms are laid out, so one market in ten is a graveyard, with its graves and its dead. But the market's welcome is the level's message, and the graveyard's comes second only on a dark level, which the market never is, so the game never says so.
What happens
#The player drops from the Black Market's entrance onto a grave below its shops. The market rolled the graveyard, with eight graves and three Zombies, and the game welcomes him to the Black Market. THE DEAD ARE RESTLESS! never comes [1].
Why
#scrInitLevel lays out the level's rooms, the market's included, and then rolls the graveyard for any Jungle level:
scrLevelGen();
global.cemetary = false;
if (global.levelType == 1 and rand(1,global.probCemetary) == 1) global.cemetary = true;scripts/scrInitLevel.gml:145-148, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).Nothing there skips the market, and scrEntityGen's Jungle branch, which the market runs, makes a graveyard of
it: graves on its earth, with their treasure [2],
Zombies and Vampires in place of the Jungle's monsters, without the market's rule that
keeps Mantraps off its shops' floors [3], and
Dead Fish in place of Piranhas [4].
The level's first message, from oPlayer1's alarm 0, takes the market before the graveyard
[5]. The second, from alarm 1, shows the graveyard's only on a dark
level:
else if (global.cemetary and global.darkLevel)
{
global.message = "THE DEAD ARE RESTLESS!";
global.message2 = "";
global.messageTimer = 200;
if (global.lake) alarm[4] = 210;
}objects/oPlayer1/alarm_1.gml:11-17, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).scrInitLevel clears global.darkLevel on the market, if (global.blackMarket) global.darkLevel = false;
[6], so the graveyard's message never shows there [7].
Reproducing it
#Take the Black Market's hidden door on level 5, 6 or 7, until a market comes with graves on its earth; one in ten does. It welcomes the player as any market does, and says nothing more. The replay, with seed 9, reaches the market on level 6 as a graveyard, with eight graves and three Zombies: "WELCOME TO THE BLACK MARKET!" shows, and "THE DEAD ARE RESTLESS!" never does. The player drops from the entrance onto the edge of a grave, which is solid [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 graves, the Zombies and the messages. No option turns it off.
FAQ
#- Can the Black Market be a graveyard level?
Yes, one time in ten. The roll for a graveyard level is made for every Jungle level, the market's too, so a graveyard market has graves on its earth and Zombies and Vampires where the Jungle's monsters would be.
- Why doesn't the Black Market say THE DEAD ARE RESTLESS?
The market's welcome takes the level's first message. The graveyard's message would come second only on a dark level, and the Black Market is never dark.
- Can a graveyard market's grave hold the Shotgun?
Yes. Its graves are made as on any graveyard level, so one can be the Ash grave, with a free Shotgun in it.
See also
#References
#- Clip quirks/market-graveyard
scripts/scrEntityGen.gml:176-205scripts/scrEntityGen.gml:280-288scripts/scrEntityGen.gml:332objects/oPlayer1/alarm_0.gml:14-33scripts/scrInitLevel.gml:176- Quirk 1 (docs/quirks.md)
- Replay
fidelity/replays/jungle-seed-9-market-graveyard.txt