troytt
7295dc8b3e
feat(portal): implement v1.13c Town Portal tome/scroll, DS1 town positions & two-way travel ( #394 )
...
- Resolve exact Diablo II v1.13c DS1 Type-2 Object #33 (Objects.txt ID 59) Town Portal sub-tiles across all 9 town presets (Acts 1-5) in src/game/portal.ts
- Implement TownPortalSlot.mouthInLevel(levelId) and enterFrom(levelId) per ObjMode.cpp:3245 (wilderness -> town keeps portal open; town -> wilderness closes portal)
- Add 20-charge quantity tracking for Tome of Town Portal (tbk) and Tome of Identify (ibk), right-click casting for tbk/tsc in inventory, and scroll-to-tome refill
- Bake authentic TP DCC sprite atlases (tptrlitophth, tphdlitophth, tptrlitonhth, tphdlitonhth) into public/overlays/town_portal_*
- Render Town Portal entity with OP/ON DCC animation, dynamic blue light (Light=19, RGB 64/110/255), overhead destination label, and proximity walk-to-interact in src/scene/act-scene.ts
- Add unit and parity tests in tests/town-portal.test.ts
Closes #394
2026-09-26 15:11:09 +00:00
troytt
43599963e4
fix(ui): separate left-click move/stack/identify-target from right-click use for tomes, scrolls, and cube ( Fixes #487 )
2026-09-26 14:17:57 +00:00
troytt
bdb3b4145a
fix(ui): restore 1.13c buysell.dc6 vendor panel, tabs, and repair buttons
2026-09-26 11:45:37 +00:00
troytt
3b993cf04a
feat(vendor): implement 1.13c vendor inventory generator, pricing engine & town NPC UI ( Fixes #481 , #482 , #483 , #484 , #485 , #486 )
2026-09-26 05:49:03 +00:00
troytt
92966abdee
feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374)
2026-09-25 22:13:38 +00:00
troytt
6cba99f017
fix(ui): waypoint menu icons and click logic 1.13c parity ( #393 )
...
- Ground Truth Invariant (D2Client.dll 1.13c at 0x6fb5b2f4-0x6fb5b355 & 0x6fb5a53d):
- In waygateicons.dc6 (5 frames):
- Frame 0 (sx=0): Current waypoint unhovered state (blue portal).
- Frame 1 (sx=30): Current waypoint hovered state (blue portal lit).
- Frame 3 (sx=90): Activated destination waypoint unhovered state (stone icon).
- Frame 4 (sx=120): Activated destination waypoint hovered state (stone icon lit).
- Locked waypoint: Skips sprite draw call completely (je 0x6fb5b355), text drawn in gray.
- Waypoint click handling:
- Current waypoint click is a no-op (player already present at location).
- Locked waypoint click is a no-op.
- Activated destination waypoint click initiates teleport and closes panel.
- Track current waypoint, current level, and act tab across act-scene and world-panels.
- Update tests in tests/world-panels.test.ts to verify authentic 1.13c behavior.
2026-09-23 06:43:05 +00:00
troytt
e033ae53e6
fix(ui): authentic tab indexing for skill tree and waypoint panels
2026-09-23 01:22:51 +00:00
troytt
8f8ee010ca
docs: update README with art assets, JSON data specifications, and UI parity
2026-09-22 13:12:25 +00:00
troytt
775f4113c9
feat(quest): authentic Diablo II 1.13c quest log tbl strings ( Fixes #381 )
2026-09-22 11:24:02 +00:00
troytt
6f3cf6b8bb
feat(ui): authentic D2 1.13c waypoint tabs and icons ( Fixes #378 )
2026-09-22 09:59:54 +00:00
troytt
db82a5da32
feat(stash): implement camp town stash entities across 5 acts and 6x8 storage panel ( Fixes #150 )
2026-09-22 05:33:57 +00:00
troytt
e2a74cc8f0
feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 ( fixes #134 , fixes #135 , fixes #136 , fixes #137 , fixes #138 , fixes #139 , fixes #140 )
...
- R1 (Issue #134 ): 离线烘焙预生成 UI 图集 (public/ui/) 与 embedded DropTables,彻底消除 2 秒纯色占位回退,实现零运行期 MPQ/DLL 依赖
- R2 (Issue #135 ): 修复地图缩放 (0.4x~8.0x) 及多 DPR 下 NPC 名称标签与模型顶部的投影对齐
- R3 (Issue #136 ): HUD 与全屏画布采用 1:1 纵横比等比缩放与居中,彻底修复宽屏下红蓝球被横向拉伸为椭圆的问题
- R4 (Issue #137 ): 传送点菜单 (Waypoint Menu) 支持点击无缝跨场景传送,随机选取地图变体并平稳降落在对应小站子网格
- R5 (Issue #138 ): 角色属性面板 (InvChar6) 文本与数字完美对准背景凹槽石框,加点按钮对齐
- R6 (Issue #139 ): 物品栏 5 级回退 DC6 图标渲染,消灭空白占位框;装备 Tooltip 等比缩放与视口翻折防遮挡
- R7 (Issue #140 ): 任务日志界面集成 1~5 幕全量 27 个任务图标 (a1q1..a5q6) 及 27 帧已完成印章,第 4 幕自动进行插槽钳制保护
- Controls Parity: 还原原版左键移动/NPC交互/小站/攻击,Shift 强制原地站立攻击,右键释放技能与被动/无技能移动回退,解除 A/W/S/1..4 快捷键与移动冲突
- Tooltips & Dyes: 基于 1.13c PL2 调色板 Table 104 (cgrn) 渲染翡翠绿军帽,战争召唤按 descpriority 完整呈现 11 行符文之语属性与三行正统标题
2026-09-21 11:09:10 +00:00