《地城拓荒》以固定顺序开放其区域。在游戏中,清除一个区域是打开下一个区域的唯一方式。存档存储每个区域的锁定状态,游戏按保存的内容加载。
一览
区域链
寂静之幕从一开始就是开放的。清除一个区域时,游戏会打开与其相关联的区域(OpenAdjacentRegion)。这些链接在代码中是固定的(SetAdjacency).
这些链接是:
- 清除寂静之幕打开溃烂洞穴。
- 清除溃烂洞穴打开废弃矿井和无限深渊。
- 清除废弃矿井不打开任何区域。
- 清除遗忘深渊打开死亡沼泽,清除死亡沼泽打开遗忘深渊。
没有清除会打开末日塔,前三个区域的任何清除都不会打开遗忘深渊或死亡沼泽。
仅前 2 个区域有真实内容;其余为占位(见 锁定内容 页面)。
通关区域
每个区域指定一个 通关首领 ,位于常量 GAMESYSTEM_Dungeon_UnitForClearRegion。当前数据中填了 2 个槽:
8 个槽中填了 2 个;之后每个槽均为 NULL。
该链路在 DS_B.0.4.11 二进制中追踪如下(2026-09-04):
- 每个战役区域有 5 层(
GAMESYSTEM_Dungeon_MaxFloor)。第 n 层运行地下城阶段PhaseUnit[n]来自GAMESYSTEM_Dungeon_PhaseUnit = [0, 1, 2, 3, 4, 5](索引 0 是安全层),因此第 5 层运行 阶段 5. - 阶段 5 是首领阶段:其房间池为入口 -> 首领 -> 传送门,首领房间(
DUNGEONROOM_VeilSilence_Boss_GiantStoneGolem,AvailablePhases = [5])在此生成。溃烂地穴的第 5 层按DUNGEONROOM_FesteringBurrow_Boss_ChainKnightSentinel同样方式生成。 - 在该层击杀通关首领会将该区域的首领标记为已击败(
TryMarkCurrentRegionBossDefeated)。随后探险结果界面提供 返回;按下后确认此次转换,并将该区域标记为已通关(SetClearRegion -> SetDungeonClear -> SetRegionClear)并打开相邻区域(OpenAdjacentRegion). - 在首领层,出口传送门已经是下一区域的传送门(
BUILDING_DungeonFloorPortal2在寂静帷幕,BUILDING_DungeonFloorPortal3在溃烂地穴)。
对先前解读的更正
"巨石魔像无法生成。" 更早的版本称寂静帷幕自己的阶段表 GAMESYSTEM_Dungeon_Floor_Phase_Division_Veil_Silence,将区域限制在首领阶段之下,因此首领房间永远无法生成。
该表存在于数据中,并且 自 B.0.3.40 起没有任何版本读取它。在游戏二进制的字符串字面量中搜索,B.0.3.40、B.0.3.44 和 DS_B.0.4.11 中均无引用。层的阶段来自 GAMESYSTEM_Dungeon_PhaseUnit,如上所述。首领层一直都可以到达。
"第二把锁使溃烂地穴保持关闭。" 更早的版本还描述了二进制中硬编码的溃烂地穴例外。这些指令存在于 B.0.3.14,从 B.0.3.40 起已移除:
IsRegionBlocked对每个区域都返回 falseSanitizeRequestedRegion原样返回其输入- 无论是
OpenAdjacentRegion还是GetAvailableRegion都不检测区域编号
试玩版自动通关
在演示和试玩版本(B.0.3.x)中,游戏还会 自动完成 寂静帷幕。一个仅用于演示的解析器会从第 5 层的结果界面将该区域标记为已通关,无论是否击杀首领。
DS_B.0.4.11 移除了该行为。该解析器被编译为常量 false,结果界面读取真正的首领已击败标志。
主线任务与区域通关
完成主线剧情与通关区域是两条分开的线。该 末日临近 main chain (主线任务 0 至 主线任务 8) ends with killing the 红色怪鼠结束,那是一只精英怪物,不是该区域的通关首领。
完成它会结束该场景的剧情,但不会通关寂静帷幕,也不会解锁溃烂地穴。参见 任务.
IsCleared 标志,该标志驱动解锁链。存档编辑
IsLocked 值。一个区域保存为 IsLocked false是打开的。设置前一个区域的 IsCleared 单独打开不了任何东西,因为加载不会重新打开相关联的区域。一些较早的版本从以下方式重新推导解锁 IsCleared 在每次加载时。在这些版本上 IsLocked 编辑没有任何作用。参见 存档文件.