[DRLG] 第五幕户外关卡改用 D2MOO 1:1 移植(关卡 110–112、117、134) #498
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,第五幕)110 Bloody Foothills、111 Frigid Highlands(
LevelNameRigid Highlands)、112 Arreat Plateau、117 Frozen Tundra(LevelNameTundra Wastelands)、134 Forgotten Sands(Uber,LevelNamePandemonium Run 2,LevelType 16)。注意 111、112 在 Levels.txt 中
SizeX/SizeY为 -1,尺寸由运行时决定,必须照 D2MOO 实现,不能写死。需要移植的 D2MOO 函数
DrlgOutSiege.cpp:DRLGOUTSIEGE_InitAct5OutdoorLevel、DRLGOUTSIEGE_ConnectBarricadeAndSiege及其辅助函数。DrlgOutPlace.cpp:DRLGOUTPLACE_CreateLevelConnections的第五幕分支、DRLGOUTPLACE_LinkAct5Ubers。DrlgOutdoors.cpp:DRLGOUTDOORS_GenerateLevel的第五幕分派。目前这些分支在
src/game/drlg/中直接 throw(未移植),第五幕仍走旧生成器。同时删除(不留 fallback)
wilderness.ts旧生成器中第五幕的路径;world-graph.ts中第五幕臆造的门朝向(assignGateSides)和缝合边。验收
npx tsx scripts/drlg-diff.ts --levels 110-112,117,134 --seeds 32全阶段 0 差异,另跑--isolated。verify:world-graph、verify:world-walk通过。