[迷宫] 123 Halls of Pain var3 小站退回 placed #501
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?
现象
tests/waypoint-fidelity-regression.test.ts(#409)在新烘焙的包上失败:关卡 123 是 Halls of Pain(Levels.txt
LevelNameHalls of Death's Calling,第五幕迷宫)。旧迷宫生成器(src/game/maze.ts)为这个副本(var3)生成的对象里没有小站:场景只有 263 个对象,stats.waypoints为空,buildSceneLinks只能退回findWaypointSpot,于是source: 'placed',位置 (196,196)。var1、var2 正常(source: 'object')。不是新问题
1c738c5的代码(不含 #455 的改动;之后的bad6806只改了 act-scene / input,不影响烘焙)完整烘焙一次(pack-act-assets.ts),123-var3 同样是placed/ 263 个对象。那次烘焙里还有第二个placed:4-act-1-wilderness-3-var3(石块旷野),它已由 #455 的第一幕 DRLG 移植(b6fc251)修好(小站来自DRLGOUTDOORS_SpawnAct12Waypoint)。samples/d2-packs在 123-var3 上是object(264 个对象,含 Waypoint 5A),但那个包的场景文件和.worktrees/automap-113c/samples/d2-packs是硬链接,今天被 automap 分支的烘焙(改过的pack-act-assets.ts)原地重写过,不代表 main 的代码。建议
查清迷宫生成器为什么在这个种子下丢掉了小站预设房间(第五幕迷宫的特殊预设 / 小站房间选取),修正后重新烘焙。长期看,第五幕迷宫也应改用 D2MOO
DrlgMaze.cpp的 1:1 移植(第一幕迷宫已移植并通过 oracle 比对,见src/game/drlg/drlg-maze.ts)。验收
npx vitest run tests/waypoint-fidelity-regression.test.ts在全量重新烘焙的包上通过(39 个小站关卡、109 个副本全部source: 'object')。