[M10] 真实物品系统:500 基础物品、1000 词缀、TreasureClassEx 掉落树
里程碑 M10 · 重要程度 ★★★★☆ · 风险 中 · 依赖:M9
完整路线图见ROADMAP.md
背景
| 项 | 当前(demo-data.ts) |
真实 D2 |
|---|---|---|
| 物品基类 | 3(剑 / 帽 / 药水) | ~500 |
| 词缀 | 2 | ~1000 |
更关键的是掉落模型:rollDrop 现在的实现完全不是 D2 的模型。D2 的掉落是 TreasureClassEx.txt 定义的递归树,每个节点按权重向下展开。
改动清单
- [MODIFY]
src/game/acts.ts—— 加载Armor.txt、Weapons.txt、Misc.txt、MagicPrefix.txt、MagicSuffix.txt、UniqueItems.txt、SetItems.txt、TreasureClassEx.txt、ItemTypes.txt、Runes.txt、Gems.txt - [MODIFY]
src/game/items.ts——itemBaseFromRow/affixFromRow列映射逐列核对真实表。新增:品质等级(普通/魔法/稀有/套装/暗金/符文之语)、插槽、镶嵌、耐久、需求(力量/敏捷/等级) - [NEW]
src/game/treasure.ts——TreasureClassEx.txt掉落树 - [NEW]
src/game/runeword.ts—— 符文之语
注意
物品结构的任何变动都会影响 M13(.d2s 存档互通)——.d2s 的物品段是位对齐的变长编码,
字段一旦定错,往返比对就过不去。建议在本里程碑设计数据结构时就预留 .d2s 需要的全部字段
(GUID、品质、插槽数、已镶嵌物品、耐久、个性化名称等)。
验收
- 打死怪掉出带词缀的稀有装备,属性生效
- 新增
scripts/verify-items.ts:全量物品表列映射断言 TreasureClassEx递归树无环、各节点概率和为 1- 符文之语可合成且属性正确
No due date
100% Completed