[DRLG] 第四幕户外关卡改用 D2MOO 1:1 移植(关卡 104–106、108) #497
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
#455 的第一幕部分已完成(b6fc251,D2MOO 逐函数 1:1 移植,32 个随机种子与原生 oracle 全阶段 0 差异)。本 issue 用同样的方法处理第四幕。
范围(Levels.txt
DrlgType = 3,第四幕)104 Outer Steppes、105 Plains of Despair、106 City of the Damned、108 Chaos Sanctum。
需要移植的 D2MOO 函数
DrlgOutdoors.cpp:DRLGOUTDOORS_InitAct4OutdoorLevel已经移植在src/game/drlg/drlg-outdoors.ts里,但DRLGOUTDOORS_GenerateLevel的第四幕分派仍然 throw,也没有和 oracle 比对过。DRLGOUTDOORS_AddAct124SecondaryBorder第一幕已移植,可直接复用。DrlgOutPlace.cpp:DRLGOUTPLACE_CreateLevelConnections的第四幕分支、DRLGOUTPLACE_LinkAct4Outdoors、DRLGOUTPLACE_LinkAct4ChaosSanctum。目前第四幕仍走旧生成器。另外 108 Chaos Sanctum 在
verify:generators里本来就失败,移植后应一并消失。同时删除(不留 fallback)
wilderness.ts旧生成器中第四幕的路径;world-graph.ts中第四幕臆造的门朝向(assignGateSides)和缝合边。验收
npx tsx scripts/drlg-diff.ts --levels 104-106,108 --seeds 32全阶段 0 差异,另跑--isolated。verify:world-graph、verify:world-walk、verify:generators通过。