[P0][D02] 内嵌 SuperUniques.txt 并解析三难度 TC 列,填充 superUniques #411
Labels
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: troytt/diablo2-web#411
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?
现状
src/game/embedded-drop-tables.ts:109:superUniques: new Map(),canonical-drop-data.ts无RAW_SUPER_UNIQUES。实机中
src/game/engine.ts:860的dropTables.superUniques.has(event.superUniqueId)恒为 false。loadDropTables),src/game/drop-pipeline.ts:246的readSuperUniques()只读取了 normal 一个难度的 TC 列,
engine.ts:861直接取单例.treasureClass。→ Pindleskin、Nihlathak 等在 Hell 难度会拿到 Normal 难度的掉落表。
src/game/drop-pipeline.ts:250-252用catch { /* keep map empty */ }静默吞掉 SuperUniques.txt 缺失,违反项目「禁止静默失败」规则。
1.13c 真实行为
SuperUniques.txt对 66 个超级独特怪各提供三列:TC/TC(N)/TC(H),并带
MonSound/Mod1..3(词缀)/EClass等。掉落必须按当前游戏难度选列。其随从(Minion)沿用宿主的
TreasureClass3而非超级独特怪的 TC。验收标准
RAW_SUPER_UNIQUES(Superunique/Name/Class/TC/TC(N)/TC(H)/MinGrp/MaxGrp/Mod1..3)。readSuperUniques()返回三难度 TC,SuperUnique类型改为{ normal, nightmare, hell }。engine.ts按this.opts.difficulty取对应难度 TC。drop-pipeline.ts:250-252的静默catch,缺表直接抛错。Act 5 Super Cx(H)一类的 Hell TC,Normal 解析为 Normal TC,两者不相等。TreasureClass3,不使用 SuperUniques TC。Resolution Summary (Issue #411)
SuperUniques.txt(includingTC,TC(N),TC(H)) and embedded insrc/data/canonical-drop-data.tsasRAW_SUPERUNIQUES.src/game/embedded-drop-tables.tshydrates all 66 valid super uniques with difficulty-aware TC resolution (getTreasureClass(difficulty)).catchinloadDropTables(src/game/drop-pipeline.ts:243-255); missingSuperUniques.txtnow throws an explicitErrorto fail fast.src/game/engine.ts:1010-1035so that minions (monsterRank === minion) of SuperUniques inherit their host unique monster'sTreasureClass3instead of the SuperUnique boss TC.tests/superunique-minion-drop.test.tspasses 3/3 tests verifying multi-difficulty TC resolution, minion inheritance of host TC3, and loud fail-fast on missing tables.tests/monster-treasure-class.test.tspasses 19/19 tests (100%).