Deep into the Dark Mist is the name of the add-on mode (UI text "New Mode") that opens a door from the story into the real Dark Mist. A run is a chain of short randomly chosen arenas. Killing enemies fills a bar; when it is full a portal to a boss arena opens; beating the boss leads to the next floor. Everything you earn is paid in Spectre Mushrooms, which you spend at the Mist Camp to brighten your lamp and to raise the difficulty. This page explains the whole loop. Details on the buffs and offers of the roadside shrines are on Maze statues, and loot tables, enemy levels and boss trophies are on Maze rewards.
The Mist Camp and the Mist Lamp#
The hub is the Mist Camp (story id 499, the "maze start"). In it:
- A bonfire (table row StoryMazeBonefire 1, appears once the first lamp quest 4992301 is done) opens the "Maze" screen, where you pick one or two heroes for the run. The save keeps a separate maze hero list (
heroSelectMazeList) and the camp loads every unlocked hero so you can swap. Jerold is on the list only if the Tides of Oblivion add-on is owned and his join quest 95162 is done (fs_savestory.lua:2970-2982). - A keeper NPC runs the Mist Lamp, the area gate and a mushroom shop (see Maze rewards#The Mist Camp shop and boss gifts). He is the Black Sprite model (StoryMonster 499001, hero 20003); the internal quest comments call him a goblin and the game never gives him a name.
Lamp tiers#
The lamp is an item with four forms. Upgrading is a quest action that takes the old lamp, a whale oil and mushrooms, and gives the next lamp:
| Upgrade | Needs | Result |
|---|---|---|
| Tier 1 to 2 | Dim Mist Lamp (10055), Rancid Whale Oil (10059), 100 Spectre Mushrooms | Flickering Mist Lamp (10056) |
| Tier 2 to 3 | Flickering Mist Lamp, Thickened Whale Oil (10060), 200 mushrooms | Enduring Mist Lamp (10057) |
| Tier 3 to 4 | Enduring Mist Lamp, Refined Whale Oil (10061), 300 mushrooms | Ever-Bright Mist Lamp (10058) |
The Dim Mist Lamp (30 Bone Fragments) and the three whale oils (Rancid, Thickened and Refined: 5, 10 and 20 Big Bone) are not sold by the Mist Camp keeper. His shop (499001) sells no lamp or oil. With the DLC they come from the Carriage vendor (stock list 99601), see Carriage supplies. The keeper only does the upgrade.
The lamp does not light the maze by itself. It is a key: each tier opens one more area. Owning a lamp completes the "first drop" quests 4992301 to 4992304 (each lamp item lists them in its CompleteQuestId: the Dim lamp gives 4992301, the Flickering lamp 4992301 and 4992302, and so on), and the area choices in dialogs 4993001 to 4993004 only show once the matching quest is done.
| Area (mazeId) | Lamp tier needed | Also needs |
|---|---|---|
| Dark Mist Border (1) | 1 | nothing |
| Dark Mist Interior (2) | 2 | Border cleared once |
| Dark Mist Depths (3) | 3 | Interior cleared once |
| Dark Mist Cave (4) | 4 | Depths cleared once |
"Cleared" means the quest 4991001 to 4991004 is complete, which the game sets when you beat the last boss floor of that area (see below). These quests also grant the achievements Dark Mist Drifter, Explorer, Voyager and Warden (30005 to 30002); beating the final boss gives Dark Mist Lord (30001); see Achievements#Deep into the Dark Mist. If you choose an area your lamp cannot reach, the keeper only talks and refuses.
Raising the danger: the mushroom offering#
Picking an area opens a second question: do you want "more excitement"? You can offer mushrooms for extra maze level. The one exception is the Border before you have cleared it for the first time (dialog 4993032), which skips the question:
| Offer | Maze level added |
|---|---|
| 25 Spectre Mushrooms | +1 |
| 50 | +2 |
| 75 | +3 |
| 100 | +4 |
| "No, thanks" | unchanged |
The offering sets levelAdd (dialog action type 6, DialogCtrl.DoActionBeforeExit). Because of that exception every Border run before your first clear is at the base level. levelAdd is stored in the save (lv_add); the "No" branch does not reset it, so a previous offering seems to stick until you offer again (inferred: no code clears it). It raises enemy level, boss level, drop tables, crate rewards and the Black Sprite reward formula, all keyed by the maze level (see Maze rewards).
Anatomy of a run#
Areas, floors and levels#
A run goes through the floors of the chosen area. Each floor has its own base maze level and its own pool of bosses (table StoryMaze, 90 rows):
| Area | Floors | Maze level per floor | Bosses that can appear |
|---|---|---|---|
| Border | 4 | 1, 2, 3, 4 | Floors 1-2: Maddened Ascetic, Holy Father, Jenny of Exilium (+ Rosen Cavalier Patrick from floor 2); floors 3-4: Holy Father, Jenny, Fused Sprenger, Patrick |
| Interior | 5 | 5, 6, 7, 8, 9 | Floors 1-2 as Border; floor 3: Holy Father, Jenny, Patrick, Sprenger, Frollo; floors 4-5: Jenny, Sprenger, Edith, Frollo |
| Depths | 6 | 10 to 15 | Floors 1-3 as Border floors 1, 2 and 3; floor 4: Jenny, Sprenger, Edith, Frollo; floors 5-6: Sprenger, Edith, Proxy Higgins, Elena, Frollo |
| Cave | 7, then a final floor 8 | 16 to 22, final floor 23 | Floors 1-5 as Depths floors 1-5 (floor 5 pool: Sprenger, Edith, Higgins, Elena, Frollo); floor 6: Edith, Higgins, Usurper, Elena, Frollo; floor 7: Edith, Higgins, Usurper, Elena; floor 8: Terror Obsession only |
(The Cave reports its last floor as 7 plus a hidden final floor: MS_StoryMaze.GetMazeFloorMax subtracts one for maze 4.) The boss on each floor is picked at random from that floor's pool, skipping bosses you already killed in this run (bossList). Only if every boss in the pool is dead does it fall back to the first entry.
Arenas and the kill bar#
- Pick an arena. At the start of a floor and every time you leave an arena without clearing the bar, the game picks one of 14 arena maps (story ids 401 to 414) uniformly at random (
401..414, repeats are possible), a random monster layout ("pattern" 1 to 3) and a random entrance 1 to 3. - Fill the bar. The Dark Mist bar is 100 points (
BossBarMax). Every kill adds the enemy'smazeAddvalue (see below). Bosses add nothing (mazeAdd0), but crate guards do count. The ordinary enemies of a layout hold between 100 and 236 points (average about 147, crate guards not counted), so you never need to kill everything. - Portal. When the bar fills, a portal opens at the spot where you stand (and is moved to you if you die and are revived). Stepping in brings up a confirmation prompt (it always names the Terror Obsession, whichever boss waits) and then sends you to the floor's boss arena.
- Skip around. You may instead walk through another wall door: the game asks you to confirm that you want to keep exploring the mist, then builds a new random arena. The bar and your boss list persist. The door you came through is sealed: touching it opens a blocking dialog (
MS_StoryDialog.MazeDoorEntranceId,controllerstorymode.lua:4258-4262) instead of the prompt. Once the bar is full, any wall door shows the boss prompt instead. - Boss arena. The boss fight is a normal boss fight with the boss' arena pinned in Lunatic rules (see below). Killing it restores your sanity to full and opens an exit. On a non-final floor the exit asks you to confirm entering thicker mist and takes you to the next floor with the bar empty. On the last floor you may return to the Mist Camp (area fully done), and in the Cave an extra second portal leads to the final floor (its prompt says every Obsession is buried there).
- Final floor. Killing the Cave's final boss completes quest 4991005 and 4992 and the Black Sprite offers the big gift (below).
HP and sanity are saved when you walk through a portal and loaded in the next arena, so damage and exhaustion carry over. Potions are not refilled.
Enemy values for the bar (mazeAdd, StoryMonster column) vary per enemy type:
So one Boar Man is worth a quarter of a floor's bar, and tough enemies are the quickest way to fill it.
Sanity in the maze#
The Dark Mist drains your sanity on a timer (0.5 every 2 seconds, 5 every 2 seconds when Lunatic) in the random arenas only: the Mist Camp and the boss arenas have no drain (controllerstorymode.lua:2207-2236). Refills lift you out of the Lunatic state and the maze boss pins sanity at the Lunatic line. All the numbers and the shrine, fountain, nail and jar interactions are collected in Sanity in special areas#The maze (Deep into the Dark Mist) and Lunatic state. The Moon Jellyfish Jar (item 26004), Vertebra Nail (20030), Glowstone (20033) and Hound Amulet (20031) are the maze items; the game blocks the Elixir of Sanity in the maze and blocks the maze items outside it.
Death and leaving#
- Dying anywhere in the maze (hub, arena or boss) sends you back to the Mist Camp. Entering the camp wipes all status effects (
ClearStatusAll), so every statue buff and extra life is lost. The next entry restarts at floor 1: bar 0, boss list empty, new random pick of every shrine counter. Your inventory, mushrooms and levelAdd are not touched (inferred: nothing in the code removes them). - Teleporting out with the camp items asks for confirmation: it resets the progress of the area, and the experience-item version also loses some Bone Fragments (text UI_TELEPORT_USE_EXP_ITEM_Maze).
- Walking out the camp door returns you to the world.
Roadside shrines#
Each arena can contain four optional elements, each placed at a random spot taken from the arena's slots (scenebase.lua 612-745). Their frequency is not plain luck, it uses a pity counter that carries from arena to arena.
| Element | What it does | Counter rule |
|---|---|---|
| Statue | Two offers, one use. See Maze statues#How a statue is chosen. | Guaranteed if the counter is not 0; if it is 0, 50% |
| Fountain | One touch restores half of the gap between the Lunatic line and your maximum sanity (25 at 100 max) plus the lift out of Lunatic. One use. | Never on the arena after one appeared; 50% after one miss; guaranteed after two misses |
| Honeypot | Calls a hero. | Same as the fountain, but never rolls while a companion is already active |
| Crate | A mimic-style chest, see below. | Same as the statue |
The pity counter#
At the start of a run each of the four element types gets a different hidden starting value from the set {-1, 0, 1, 2} (shuffled). On every arena without a decided result the game applies, for each type with a free slot:
- If the absolute counter is at or above the type's maximum (statue and crate 1, fountain and honeypot 2), the element appears.
- Else if the counter is non-negative and below the type's minimum (statue and crate 0, fountain and honeypot 1), it does not appear.
- Else it appears with 50% (
getRandomResult(500); the roll is 0 to 1000 inclusive, so slightly above 50%).
When it appears the counter becomes 0; when it does not, a non-negative counter goes up by 1 and a negative one goes down by 1. The effects:
- A statue or crate can never be missing in two arenas in a row: after one shows up, the next arena rolls 50%, and a miss makes the following arena certain. A start value of -1 or 1 or 2 means the very first arena already has it.
- A fountain or honeypot is never seen in two consecutive arenas, and never absent for three in a row.
- The result for an arena is saved with the run (
ele_id,ele_type,ele_cnt,ele_rnd1,ele_rnd2), so re-entering the same arena after a reload shows the same shrines. The two random numbers also decide the statue offers and the honeypot hero.
Honeypot companions#
Touching a honeypot summons a companion. The hero is one of your unlocked heroes (rnd1 % count) and the type is about 50% friend (fights on your side; you get status 10089 "summon companion", which lasts 300 seconds) and about 50% foe (an enemy copy of that hero in the enemy team, with its Toughness changed by -14 (SanMonsterHeroToughnessSub); no timer status is applied for a foe). A foe gives rewards when killed: you regain 10% of the gap between the Lunatic line and maximum sanity and it drops 10 + 2 x maze level Spectre Mushrooms (CallHeroDead). A companion is created at the hero's own level. A honeypot is not offered while a call hero is saved on you.
Crates#
A maze crate is one of three kinds, picked uniformly (1 in 3 each): Common, Elite or Nightmare (StoryMazeCrate rows 1 to 3 per maze level). The Prob column (60 / 30 / 10) is stored in the table but never read by the code (inferred; MathHelper.getRandom(1, num) picks the kind).
| Kind | Waking it summons | Reward table (maze drop id) |
|---|---|---|
| Common | the crate's first monster group (quest 2001) | 10096 |
| Elite | groups 2001 and 2002 | 10097 |
| Nightmare | groups 2001, 2002 and 2003 | 10098 |
Opening a closed crate locks it and spawns its guard monsters; kill them all and it unlocks, and opening it again pays out mushrooms only (about 20 to 26 on level 1 for a Common crate, rising by 1 per maze level; see Maze rewards#Crates).
Boss rewards from the Black Sprite#
After you kill a maze boss, another Black Sprite (hero 20003, who announces that it is reward time) appears in the boss arena. The five reward dialogs (4992200 to 4992204) are attached to it in every boss arena (stories 501 to 507 and the four 599 arenas) and only show once quest 4991 is complete. Each offers:
| Choice | When shown | Effect |
|---|---|---|
| Supply Health Potions | clear quest 4992 not done | refills your Health Potions to the maximum (action AddHpItemFull) |
| Calls upon the companion not available for combat | clear quest 4992 not done | revives your second hero (SecondaryHostReborn(1000)) |
| Get Spectre Mushrooms | clear quest 4992 not done | 20 + 10 x maze level mushrooms |
| A fantastic gift from the Dark Mist Obsession | clear quest 4992 done | 20 + 20 x maze level mushrooms |
| Leave | always | nothing |
You can take one reward per boss arena (the choices hide once quest 4995 is set, and ResetMaze wipes every quest id below 10000 on each arena change). Quest 4992 is set when you kill the last boss of Border, Interior or Depths, and the final boss of the Cave, so only those four kills pay the bigger "gift" (the Cave's floor 7 boss does not set it). "Maze level" is the level of the current floor plus levelAdd: the Cave's final floor with all four offerings is 23 + 4 = 27, so the gift is 20 + 20 x 27 = 560 mushrooms (inferred from the formula).
Hidden mechanics#
- The lamp is a key, not a light. Its tier only decides which of the four areas the keeper lets you enter. The Glowstone (item 20033, status 10098) is the real fog tool: it sets the maze fog to start 0 and end 40 for 5 minutes (
logic/status/status122.lua:6-7, status 10098, Time 300). - Difficulty is paid for twice. Raising
levelAddcosts 25 to 100 mushrooms, but raises every drop table, so higher levels pay back (boss mushrooms rise by 2 per maze level, see Maze rewards#Boss rewards). - The first Border run skips the offering. Every other area asks the question from its first visit. The Border keeps skipping it until you have cleared it once (dialog 4993032).
- Shrines never repeat identically. The pity counter guarantees a statue or crate at least every second arena and a fountain at least every third.
- Bosses do not repeat inside a run. The kill list is stored per run; the same boss is not drawn again until every boss in a floor's pool is dead.
- Enemy levels follow a fixed curve. Almost every enemy has level
3 x maze level + 6from maze level 5 on, so by the end of the Cave (level 23) they are level 75; at 27 they are level 87. See Maze rewards#Level by maze level. - Death is a full reset of buffs. The hub entry code clears every status, including the extra-life stacks bought from statues.
- HP and sanity persist between arenas but statues' buffs last only 300 seconds.
- The maze needs the add-on. Entering without it shows the purchase message (UI_COMMON_ACTION_MAZE_WALL); Arcade mode also checks for it for the stages that need the maze.
Sources#
ES_TransactionDatarows 99013 to 99016 (MonsterId 99601, DLCSwitch 1, NotReset 1: lamp 10055 for 30 of currency 40001, oils 10059 to 10061 for 5 / 10 / 20 of currency 40002); no row of MonsterId 499001 sells a lamp or oil.luascript/structdata/fs_savemaze.lua:4-28(constants: BossBarMax 100, 14 mazes, 3 entrances, element rules),:115-160EnterStart,:171-204EnterFinalBoss,:206-290EnterNext,:357-455GetElementId (pity rule),:471-489hero call,structdata/fs_savestory.lua:2970-2982(maze hero list: Jerold needs the Tides flag and quest 95162),:491-508boss bar,:516-590save.luascript/structdata/ms_storymaze.lua:41-64(floor max, final floor),ms_storylist.lua:135-157(story id ranges),ms_storyquest.lua:15-22.luascript/controller/controllerstorymode.lua:999-1062(arena and boss setup),:1904-1921(call hero death),:1940-1951(death returns to camp),:2185-2242(sanity drain),:3518-3569(kill bar, boss kill),:4225-4285(doors),:7440-7520(portal prompts),:7662-7760(honeypot),:7766-7830(bonfire, hero selection),:2633-2683and:7270-7310(crates).luascript/logic/scene/scenebase.lua:612-745(shrine placement),fountain.lua:5,statue.lua,honeypot.lua,crate.lua:70-140.luascript/ui/controller/dialogctrl.lua:1072-1092(maze id, maze level, reward actions),logic/status/status122.lua:6-7(Glowstone fog),controller/controllerstorymode.lua:3192-3226(call hero creation),gamedata/playerdefine/animalbase_value_define.lua:21(Toughness -14),es_itemdata.lua:1266-1347(lamp items complete quests 4992301-4992304).- Tables: StoryMaze (90 rows; the boss pool of every floor was re-read from the table
MazeId,MazeFloor,BossId), StoryMazeBonefire 1, StoryMazeCrate (90 rows), StoryMonstermazeAddfor stories 401-414, StoryDialog story 499 (4992001-4993204), StoryQuest 4991001-4995017 and 4992601-4992607, ItemData 10055-10061, GameText UI_COMMON_ACTION_MAZE_*. - Existing pages: Sanity in special areas, Lunatic state.