[P0][T12] 实现 auto-TC 运行时生成:armo3-87 / weap3-87 等 100 个虚拟节点 #100
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#100
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?
问题
TreasureClassEx.txt的Item列里有 100 个名字在表中根本不存在 ——weap3armo3bow6mele39这一类。它们是引擎在载入期动态生成的虚拟 TC。举个最直接的例子,
Act 1 Equip A的全部内容是:两个叶子都是 auto-TC。不实现这个 issue,
Act 1 Equip A直接断掉,而它是几乎所有装备掉落链的必经节点。 净效果是玩家一件装备都掉不出来。金标准数据
种子:
ItemTypes.TreasureClass = 1的 5 行bowweapmelearmoabow实测档位(被 852 行的
Item列实际引用的)weaparmobowmeleabow档位全是 3 的倍数。
基础物品侧的实测范围
rarity > 0的数量level范围生成规则
实现要求
ItemTypes找出TreasureClass=1的 5 个种子。isA)—— 例如mele的桶要收所有 Equiv 链能走到mele的类型。物品.rarity × ItemTypes.Rarity。陷阱
验收标准
weap/armo/bow各 29 档、mele13 档spawnable=1且rarity>0且类型沿 Equiv 链匹配armo3的成员逐个列出并人工核对(低级护甲,应含cap等)npm run typecheck0 errornpx vitest run全绿npx tsx scripts/verify-items.ts新增断言通过溯源
data\global\excel\下的ItemTypes.txt/Armor.txt/Weapons.txt/TreasureClassEx.txt(本机/usr/local/google/home/taodao/d2-data,挂载序 d2data → d2exp → Patch_D2,Patch_D2 优先)docs/d2kb/)—— 区间语义的来源,需实测确认已完成 auto-TC 运行时生成(weap3..87/armo3..87/bow3..87/mele3..39 共 100 个虚拟节点生成,rarity 权重过滤与步长3区间划分),合并入 main (commit
ce07af1)。