DungeonSettlers.wiki

区域如何解锁(进度)

Steam

Dungeon Settlers 按固定链条开放区域,解锁是 派生得出,而非存储. 通关一个区域是打开下一个区域的唯一条件。

一览

解锁规则每次载入时派生:已通关区域打开其相邻区域(OpenAdjacentRegion);没有其他方式打开区域
区域链寂静帷幕 -> 溃烂地穴 -> 废弃矿井 -> 遗忘深渊 -> 死亡沼泽 -> 末日之塔
通关条件Kill the region's clear boss (GAMESYSTEM_Dungeon_UnitForClearRegion: 槽 0 (寂静帷幕) = 巨石魔像; 槽 1 (溃烂地穴) = 链甲骑士哨兵; later slots NULL) on the last floor, then press Return on the expedition result screen
每个区域的层数5(GAMESYSTEM_Dungeon_MaxFloor)
层 -> 阶段GAMESYSTEM_Dungeon_PhaseUnit = [0, 1, 2, 3, 4, 5]:第 n 层运行阶段 PhaseUnit[n],因此第 5 层运行阶段 5,即首领阶段(索引 0 是安全层)
首领房间要求DUNGEONROOM_VeilSilence_Boss_GiantStoneGolem 需要阶段 [5] - 寂静帷幕的第 5 层就是该阶段,因此首领层会在原版游戏中生成
废弃表GAMESYSTEM_Dungeon_Floor_Phase_Division* 存在于数据中,但自 B.0.3.40 起没有任何版本读取它(二进制字符串字面量检查,2026-09-04);它不作任何决定
自动通关(仅演示版本)B.0.3.x 演示和试玩版本会从第 5 层的结果界面将寂静帷幕标记为已通关(DemoClearConditionResolver);在 DS_B.0.4.11 中已编译剔除,该检查永远不会触发
主线任务终局红色怪鼠(主线任务 8)结束剧情;它不会通关该区域,也不会解锁任何内容

区域链

每次加载战役时,游戏会将所有区域重置为锁定。然后遍历那些 IsCleared 标志已设置的区域,并重新打开每个已通关区域的相邻区域(OpenAdjacentRegion).

区域按此顺序开放:

  • 寂静帷幕
  • 溃烂地穴
  • 废弃矿井
  • 遗忘深渊
  • 死亡沼泽
  • 末日之塔

仅前 2 个区域有真实内容;其余为占位(见 锁定内容 页面)。

通关区域

每个区域指定一个 通关首领 ,位于常量 GAMESYSTEM_Dungeon_UnitForClearRegion。当前数据中填了 2 个槽:

8 个槽中填了 2 个;之后每个槽均为 NULL。

规则该常量上的开发者注释写得很明确。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 对每个区域都返回 false
  • SanitizeRequestedRegion 原样返回其输入
  • 无论是 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 的编辑是有效的。参见 存档文件.