Dungeon Settlers 按固定链条开放区域,解锁是 派生得出,而非存储. 通关一个区域是打开下一个区域的唯一条件。
一览
区域链
每次加载战役时,游戏会将所有区域重置为锁定。然后遍历那些 IsCleared 标志已设置的区域,并重新打开每个已通关区域的相邻区域(OpenAdjacentRegion).
区域按此顺序开放:
- 寂静帷幕
- 溃烂地穴
- 废弃矿井
- 遗忘深渊
- 死亡沼泽
- 末日之塔
仅前 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 字段在当前版本中无效,因为每次加载都会重新推导解锁。存档侧唯一能改动的是上一区域的 IsCleared.更早的约 B.0.2.x 版本改为存储解锁状态,在那些版本中 IsLocked 的编辑是有效的。参见 存档文件.