feat(drop): 接入全量怪物与暗金怪真实 TreasureClass 映射及 1.13c 掉落管线 (Monster & SuperUnique TC Resolution & 1.13c Drop Pipeline) #405
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第 108–109 行中,getEmbeddedDropTables()返回的monsterKinds与superUniques均为空表new Map();同时MonsterStats未携带怪物的treasureClasses定义。这导致
src/game/engine.ts第 859–871 行在查询被击杀怪物的 TreasureClass 时永远查不到匹配项,全游戏所有怪物(包括各幕普通怪、蓝色头目 Champion、金色精英 Unique、固定暗金怪 SuperUniques 以及关底 Boss)全部退化为硬编码兜底"Act 1 H2H A",严重违反AGENTS.md原版权威与反静默降级铁律。原版 Diablo II v1.13c 核心机制规范(Ground Truth)
1.
MonStats.txt四级 TreasureClass 选择规范MonStats.txt,每类怪物在普通/噩梦(N)/地狱(H)难度下分别定义 4 列 TC:TreasureClass1:普通怪物(Normal,monsterType = 1)TreasureClass2:蓝色头目怪(Champion,monsterType = 2,mlvl = AreaLevel + 2)TreasureClass3:金色随机精英怪(Unique,monsterType = 3,mlvl = AreaLevel + 3)TreasureClass4:关底首领任务首杀(Quest drop,monsterType = 4)rank === "minion")等级为AreaLevel + 3,但其掉落 TC 使用普通怪TreasureClass1(monsterType = 1)。2.
SuperUniques.txt固定暗金怪专属 TC 规范SuperUniques.txt,固定暗金怪(如毕须博须Bishibosh->Act 1 Super A、拉卡尼休Rakanishu->Act 1 Super A、血鸟Blood Raven->Blood Raven、女伯爵The Countess->Countess、骨灰Bone Ash、树头木拳Treehead WoodFist、格瑞斯华尔德Griswold、督瑞尔/墨菲斯托/暗黑破坏神/巴尔等)优先使用其SuperUniques.txt中对应难度的TC/TC(N)/TC(H)列。3. TC 等级组自动升级 (
resolveTreasureClassGroup)D2Game.dll(0x6FC32D60),普通怪与随机精英怪的基础 TC 若属于带group的递进组,需根据怪物实际mlvl自动向上匹配同组中level <= mlvl的对应阶级 TC。改造与验收标准
embedded-drop-tables.ts与MonsterStats中完整注入 1.13cMonStats.txt与SuperUniques.txt的真实monsterKinds及superUniquesTC 映射表。Act 1 H2H A盲目降级,严格按怪物subjectId、superUniqueId、rank(normal/champion/unique/minion)与difficulty解析真实 TC 与mlvl(普通怪mlvl、蓝怪+2、金怪/随从+3)。executeDropPipeline。Milestone M11.2 (Issue #405) Gate 2 Verification: 100% PASS
All 5 Gate subagents voted unanimously APPROVE / CLEAN:
Merged to
mainat commit3aae6d1and pushed toorigin/main.Worktree
.worktrees/issue-405pruned cleanly.