• 0 Open
    1 Closed
    Updated 2026-09-23 01:12:13 +00:00
    No due date

    里程碑 M14 · 重要程度 ★★★☆☆ · 风险 中 · 依赖:M6, M7
    完整路线图见 ROADMAP.md


    背景

    可破坏物件美术

    data\\global\\objects\\ 下是 1748 个 DCC + 1461 个 COF,只有 13 个 DC6——
    也就是说 D2 画对象用的是和角色一样的 COF + DCC 合成管线。

    资源包目前只烘焙了它们的位置与元数据(Objects.txt 的名称 / HP / Token + 选定的美术成员名),
    像素留白。

    ⚠️ 不要把这些文件当 DC6 硬解:头部对不上,解出来是垃圾(已实测验证过)。必须走 DCC 路径。

    另一个已知的坑:DS1 对象的 id 不是 Objects.txt 的行号,而是「该 act 对象表」的索引
    (见 src/game/object-lookup.ts,数据由 npm run port:object-lookup 从 OpenDiablo2 的表生成)。
    identity 映射会把 act1 的喷泉(id 0)读成 Objects.txt 第 0 行 "Expansion"。

    剧情

    questsFromTable 目前只有 1 个 demo 任务。

    改动清单

    • [MODIFY] scripts/pack-act-assets.ts —— 烘焙可破坏物件美术(走 DCC/COF 管线,与 M7 的怪物精灵同一套机制)
    • [MODIFY] src/game/quests.ts —— 真实任务链

    验收

    • 罐子 / 箱子 / 火把可破坏,有正确的破坏动画
    • 对象美术在等距深度排序中位置正确(不穿墙、不盖角色)
    • npm run verify:object-lookup 仍然通过(DS1 对象 id → token/mode 与 Objects.txt 交叉核对)
    • 第一幕完整任务链可通关
  • 0 Open
    8 Closed
    Updated 2026-09-24 06:49:37 +00:00
    No due date

    对 main (4c2e399) 的地图与怪物生成层全量审计结果。约 145 处硬编码 + 128 处 fallback,约 2200 行手写常量表本应解析自 MPQ。核心问题是贯穿三层的静默降级设计:数据完全损坏的世界仍能成功生成并通过全部测试。

  • 0 Open
    221 Closed
    Updated 2026-09-22 03:48:43 +00:00
    No due date

    Complete Diablo II: Lord of Destruction v1.13c player skill system (210 class skills across all 7 classes + 11 universal player skills = 221 tracking issues).

  • 0 Open
    21 Closed
    Updated 2026-09-25 22:37:20 +00:00
    No due date

    把「打怪 → 掉落物品」的完整运行时链路还原到 Diablo II: LoD v1.13c 原版行为。

    M10 已经交付了掉落算法库(TreasureClassEx 展开、NoDrop 缩放、ItemRatio 品质判定、词缀抽取、auto-TC),
    三方审计确认这些库函数本身与 1.13c 一致。本里程碑解决的是数据供给与运行时接线的断裂:

    • getEmbeddedDropTables() 返回 monsterKinds: new Map() / superUniques: new Map(),
      src/data/canonical-drop-data.ts 根本没有内嵌 MonStats.txt 与 SuperUniques.txt;
      因此实机中每一只怪物都命中 engine.ts 的硬编码兜底 tcName = 'Act 1 H2H A',
      五幕三难度所有怪物共用同一张一幕普通掉落表。
    • MF、/players N、Boss 分类、精英 mlvl 加成、金币落地、死亡动画帧门控均未接线。

    约束:严格以 1.13c 反编译行为与官方 MPQ 数据表为准绳,禁止任何编造规则与静默降级兜底。