diablo2-web/public
troytt 2fe9138fb1 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 14:59:12 +00:00
..
missiles feat(ass): Milestone M26 Assassin Asset Pipeline and Trap Mechanics (closes #473) 2026-09-25 03:30:28 +00:00
overlays feat(portal): implement v1.13c Town Portal tome/scroll, DS1 town positions & two-way travel (#394) 2026-09-26 14:59:12 +00:00
skills feat(skills): full 33 Paladin aura visual overlays & offline UI atlases parity (Fixes #397) 2026-09-23 10:33:34 +00:00
ui fix(ui): restore 1.13c buysell.dc6 vendor panel, tabs, and repair buttons 2026-09-26 11:45:37 +00:00