[P0][T19] 用 TC 树替换 rollDrop,接线 MonStats.TreasureClass → engine → act-scene #107
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#107
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?
问题
前面所有 issue 都是「造零件」。本 issue 把零件装到生产路径上,并删掉占位实现。
现状
rollDrop是三行随机挑选,与 D2 模型无关。金标准数据
MonStats.txt有 12 个 TC 列:四列按怪物类型选:1 = 普通、2 = Champion、3 = Unique、4 = 任务掉落。(列名已在 D2Common 字符串表确证;四列的类型对应关系为高可信推断。)
入口流程(
D2Game!6FC32D60):实现要求
MonStats.txt的 12 个 TC 列(表本身已在loadActTables里)。rollDrop的实现,保持对外接口尽量兼容(或同步改调用方)。DEMO_BASES与DEMO_AFFIXES,以及所有回退到它们的代码路径。act-scene.ts→GameEngine。陷阱
验收标准
DEMO_BASES/DEMO_AFFIXES从代码库中完全移除,无任何引用残留acts.html里打死一只 Act 1 普通怪,掉出的是真实基础物品(不再是demo-sword)(N)/(H)列npm run typecheck0 errornpx vitest run全绿npx tsx scripts/verify-items.ts新增断言通过溯源
data\global\excel\下的MonStats.txt/TreasureClassEx.txt(本机/usr/local/google/home/taodao/d2-data,挂载序 d2data → d2exp → Patch_D2,Patch_D2 优先)D2Game!6FC32D60(objdump -d,D2Common 基址0x6FD50000、D2Game0x6FC10000)已完成用 TC 树替换 rollDrop,连通 MonStats.TreasureClass 12列 -> TC group 升级 -> 展开树 -> 品质判定 -> 词缀抽取 -> engine -> act-scene 全链路,彻底移除 DEMO_BASES / DEMO_AFFIXES,合并入 main (commit 分支 issue-107)。