troytt
820ca12221
refactor: split into isolated common/netproto/server/client/baker modules
...
Split the mixed src/ and scripts/ trees into five compiler-enforced modules
aligned with the 1.13c DLL architecture, plus tools/:
- src/common/ (D2Common/Storm/D2Lang): formats, MPQ, data tables, DRLG,
items/skills/units metadata, RNG, pack contracts. No DOM/Node.
- src/netproto/ (D2Net/Bnclient/D2MCPClient): BNCS/MCP/D2GS protocol; external
code imports only src/netproto/index.ts.
- src/server/ (D2Game): authoritative simulation + LocalLoopbackAdapter.
All 23 reverse deps into client removed; no Math.random /
Date.now / performance.now.
- src/client/ (D2Client/D2Gfx/D2Win/D2Launch/D2Sound): render, UI, frontend,
audio, session, toolbar and the play.html entry.
- src/baker/ Node-only offline packers/extractors + unified `npm run bake`.
- tools/ bot, replay, unlock, verify/audit/benchmark CLIs.
play.html is now the only HTML entry; index.html, acts*.html and bnet.html
plus legacy entry glue (src/main.ts, act-scene, net-scene, lockstep src/net)
are removed.
Adds tsconfig.{common,netproto,server,client,baker}.json wired into
`npm run typecheck`, and tests/arch/boundaries.test.ts enforcing the module
boundaries with zero whitelist exceptions.
Verification: typecheck 6/6 clean; vitest 556 files / 6640 tests pass;
npm run build clean; bake --verify (136/136 levels, universal DT1s);
netproto-replay --strict 0 unknown/opaque/errors; d2-bot walk hardSnaps=0;
audit-levels 136/136; verify-play 9/9 gates at 800x600 and 1024x768.
2026-10-01 00:10:18 +00:00
troytt
d393a48043
feat(drop): embed MonStats and SuperUniques with 1.13c multi-diff TC parity ( Fixes #410 , #411 )
...
- Pack and embed authentic 1.13c MonStats drop columns (734 kinds) with noRatio support
- Embed SuperUniques multi-difficulty TCs (66 unique bosses) and fail-fast loading
- Fix SuperUnique minion TC3 inheritance and minion monsterType identification
- Add adversarial drop parity audit and superunique minion test suites
- Update D2MOO oracle seed generator and Paladin skill tree parity
2026-09-25 13:44:35 +00:00
troytt
4e79c4731d
feat(pal): implement Milestone M10 Paladin Gate and full class E2E verification suite
2026-09-24 17:22:01 +00:00
troytt
1a5f897cd6
feat(pal): implement Milestone M9 Paladin Defensive Auras tree (10 skills)
2026-09-24 16:05:44 +00:00
troytt
ff2d091254
feat(paladin): implement Milestone M8 Paladin Offensive Auras tree
...
- Implement 1.13c exact calculators for all 10 Paladin Offensive Auras in skills.ts:
- Might (98): Party physical %ED (40% + 10%/lvl)
- Holy Fire (102): Radial fire pulse + weapon added fire damage, Resist Fire (+18%) and Salvation (+6%) synergies
- Thorns (103): Melee physical reflection (250% + 40%/lvl), physical resistance mitigation, PvP 1/4th penalty
- Blessed Aim (108): Active party %AR, +5% passive AR per hard point even when inactive
- Concentration (113): Party %ED, 20% uninterrupted attack chance, +50% Blessed Hammer synergy
- Holy Freeze (114): Continuous enemy slow (25%..54%), CBF bypass, cold pulse + weapon cold damage, synergies
- Holy Shock (118): Radial lightning pulse (1..max), weapon lightning damage, Resist Lightning (+12%) and Salvation (+4%) synergies
- Sanctuary (119): Radial magic pulse + knockback vs Undead, sets Undead physical resistance to 0%, %ED vs Undead
- Fanaticism (122): Caster IAS, %AR, asymmetric caster %ED vs ally %ED (strictly half)
- Conviction (123): Enemy defense % and elemental resistance reduction (-30%..-150%), 1/5th immunity breaking (-6%..-30%), zero impact on Poison/Magic, caster immunity
- Engine integrations:
- stat-list.ts: Blessed Aim passive AR (blvl * 5%)
- combat-pipeline.ts: Sanctuary Undead phys res zeroing, Thorns PvP reflection, Fanaticism caster/ally split, Concentration uninterrupted chance, added weapon elemental damage
- state-bus.ts: Thorns melee reflection trigger
- aura-scanner.ts: 50-tick cadence in 2:1 isometric ground space
- per-skill modules: re-export calculators for skills 98-123
- Add comprehensive test suites:
- tests/skills/pal/offensive-auras.test.ts (21 tests)
- tests/skills/pal/adv-pal-auras-stress.test.ts (5 adversarial scenarios)
- Preserve BATCH1_SKILLS length invariant strictly at 38 skills
2026-09-24 14:34:31 +00:00
troytt
48183d3b82
feat(paladin): implement Milestone M7 Paladin Combat Skills Tree (10 skills)
2026-09-24 13:42:00 +00:00
troytt
0aa6c3680d
feat(paladin): Milestone M6 — 1.13c Paladin assets packaging & metadata registry
...
- Update scripts/pack-missiles.ts with Paladin missiles (fistoftheheavensbolt, foa, blessedhammerex, blood1) with trans: 1 and dark border suppression max(r,g,b) <= 4 -> alpha = 0.
- Update scripts/pack-overlays.ts with 16 Paladin combat, cast, hit, and state overlays (charge, conversion, conversioncast, holy_bolt_cast, fist_of_the_heavens_cast, handofgod, sanctuary_knockback, holy_fire_hit, holy_fire_indicate, thorns_hit, thorns_indicate, cast_resistfire, cast_resistcold, cast_resistlight, cast_resistall, stun) with preDraw flags and trans: 3 dark halo thresholding.
- Bake and mirror assets across public/ and samples/d2-packs/.
- Generate compile-time metadata in src/render/missiles-meta.ts and src/render/overlays-meta.ts with zero runtime MPQ invariant.
- Add comprehensive unit tests in tests/skills/pal/pal-assets.test.ts.
- Add adversarial coverage audit tests in tests/skills/pal/adv-pal-assets-audit.test.ts.
- Resolves Gitea issue #445 .
2026-09-24 11:30:34 +00:00
troytt
0a7fe31cc3
feat(skill-125): implement 1.13c Salvation module and Vitest suite ( #279 )
2026-09-22 03:45:44 +00:00
troytt
3fc512d3ab
feat(skill-124): implement 1.13c Redemption module and Vitest suite ( #278 )
2026-09-22 03:45:42 +00:00
troytt
8f63a8324e
feat(skill-123): implement 1.13c Conviction module and Vitest suite ( #277 )
2026-09-22 03:45:40 +00:00
troytt
9a553efb57
feat(skill-122): implement 1.13c Fanaticism module and Vitest suite ( #276 )
2026-09-22 03:45:39 +00:00
troytt
6da97e0d14
feat(skill-121): implement 1.13c Fist of the Heavens module and Vitest suite ( #275 )
2026-09-22 03:45:37 +00:00
troytt
f6a06c231e
feat(skill-120): implement 1.13c Meditation module and Vitest suite ( #274 )
2026-09-22 03:45:35 +00:00
troytt
bd0cfe1198
feat(skill-119): implement 1.13c Sanctuary module and Vitest suite ( #273 )
2026-09-22 03:45:33 +00:00
troytt
49f6afbe6c
feat(skill-118): implement 1.13c Holy Shock module and Vitest suite ( #272 )
2026-09-22 03:45:32 +00:00
troytt
f3bceaef19
feat(skill-117): implement 1.13c Holy Shield module and Vitest suite ( #271 )
2026-09-22 03:45:30 +00:00
troytt
7c3ea35a97
feat(skill-116): implement 1.13c Conversion module and Vitest suite ( #270 )
2026-09-22 03:45:28 +00:00
troytt
8b77637642
feat(skill-115): implement 1.13c Vigor module and Vitest suite ( #269 )
2026-09-22 03:45:26 +00:00
troytt
3465943b86
feat(skill-114): implement 1.13c Holy Freeze module and Vitest suite ( #268 )
2026-09-22 03:45:25 +00:00
troytt
daa352e5b7
feat(skill-113): implement 1.13c Concentration module and Vitest suite ( #267 )
2026-09-22 03:45:23 +00:00
troytt
b01209a11a
feat(skill-112): implement 1.13c Blessed Hammer module and Vitest suite ( #266 )
2026-09-22 03:45:21 +00:00
troytt
045778c740
feat(skill-111): implement 1.13c Vengeance module and Vitest suite ( #265 )
2026-09-22 03:45:19 +00:00
troytt
1660de238c
feat(skill-110): implement 1.13c Resist Lightning module and Vitest suite ( #264 )
2026-09-22 03:45:18 +00:00
troytt
ea430c1522
feat(skill-109): implement 1.13c Cleansing module and Vitest suite ( #263 )
2026-09-22 03:45:14 +00:00
troytt
60bd856fcf
feat(skill-108): implement 1.13c Blessed Aim module and Vitest suite ( #262 )
2026-09-22 03:45:12 +00:00
troytt
1609996501
feat(skill-107): implement 1.13c Charge module and Vitest suite ( #261 )
2026-09-22 03:45:11 +00:00
troytt
b4e564fc77
feat(skill-106): implement 1.13c Zeal module and Vitest suite ( #260 )
2026-09-22 03:45:09 +00:00
troytt
55f3616016
feat(skill-105): implement 1.13c Resist Cold module and Vitest suite ( #259 )
2026-09-22 03:45:07 +00:00
troytt
eb7bd41f23
feat(skill-104): implement 1.13c Defiance module and Vitest suite ( #258 )
2026-09-22 03:45:06 +00:00
troytt
c77fa985cb
feat(skill-103): implement 1.13c Thorns module and Vitest suite ( #257 )
2026-09-22 03:45:04 +00:00
troytt
7978d6bf08
feat(skill-102): implement 1.13c Holy Fire module and Vitest suite ( #256 )
2026-09-22 03:45:02 +00:00
troytt
06611910af
feat(skill-101): implement 1.13c Holy Bolt module and Vitest suite ( #255 )
2026-09-22 03:45:00 +00:00
troytt
c11219dd9d
feat(skill-100): implement 1.13c Resist Fire module and Vitest suite ( #254 )
2026-09-22 03:44:58 +00:00
troytt
104b4d6c62
feat(skill-099): implement 1.13c Prayer module and Vitest suite ( #253 )
2026-09-22 03:44:57 +00:00
troytt
50b5d95067
feat(skill-098): implement 1.13c Might module and Vitest suite ( #252 )
2026-09-22 03:44:55 +00:00
troytt
f0b9e7f834
feat(skill-097): implement 1.13c Smite module and Vitest suite ( #251 )
2026-09-22 03:44:53 +00:00
troytt
b1a72bbdf6
feat(skill-096): implement 1.13c Sacrifice module and Vitest suite ( #250 )
2026-09-22 03:44:52 +00:00