[Skill #058] [SOR] Energy Shield (1.13c Parity) #212
Labels
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: troytt/diablo2-web#212
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Diablo II: Lord of Destruction v1.13c Skill Parity Specification
58(#058)skilldesc: energy shield)sor(Sorceress)reqlevel)24reqskill1..3)Teleport,Chain Lightning,-src/game/skills/impl/sor/skill-058-energy-shield.tstests/skills/sor/skill-058-energy-shield.test.ts1. Authoritative 1.13c
Skills.txtFunction & Handler Dispatchsrvstfunc(Server Start / Pre-Cast)-srvdofunc(Server Action Frame0x01/0x02)23srvprgfunc1..3(Progressive Charge Release)-/-/-cltstfunc/cltdofunc(Client Start / Action)-/-cltprgfunc1..3(Client Progressive Release)-/-/-passive/checkfuncpassive=-/checkfunc=-auraevent1/auraeventfunc1absorbdamage/242. Associated Missiles, States, Auras, Curses & Summons
srvmissile/a..c)-/a:-,b:-,c:-cltmissile/cltmissilea)-/-aurastate/auratgtstate)self:energyshield/tgt:-aurastat1..3)-,-,-passivestate/passivestat1..3)state:-/-,-,-cursetype)-summon/pettype/petmax)mon:-/type:-/max:-3. 1.13c Base Numerical & Synergy Formulas (
Patch_D2.mpq)mana=5,lvlmana=0(256-fixed-point<< HitShift)MinDam=-,MaxDam=-,EType=-,EMin=20,EMax=-,ELen=-calc1..4:calc1="min(edmn,95)",calc2=par5-skill('Telekinesis'.blvl),calc3=-,calc4=-blvlstrictly base allocatedSTAT_SKILLPTSonly):EDmgSymPerCalc:-DmgSymPerCalc:-ELenSymPerCalc:-4. R3 Verification & Merge Checklist
git worktree add ../wt-skill-58 -b feat/skill-58frommain.src/game/skills/impl/sor/skill-058-energy-shield.tsimplements exact 1.13csrvstfunc/srvdofunc/srvprgfunc& numerical evaluation.slvl1, 10, 20 +blvlSynergies):tests/skills/sor/skill-058-energy-shield.test.tspasses 100% in Vitest verifyingManaCost,MinDmg,MaxDmg,ToHit,Duration,Radius, synergy scaling, and runtime combat/missile/state/summon effect.acts.html?arena=1&class=sor&skill=58&slvl=20&autocast=1) with zero console/page errors and PNG screenshot attached to this Issue.mainwithfixes #<issue_number>, pushed toorigin/main, verified Issue isclosed, and removed worktree../wt-skill-58+ branchfeat/skill-58.✅ Completed: [Skill #058] Energy Shield (
SOR) — 1.13c Parity Verified1. Isolated Worktree & Module Implementation
../wt-skill-058(feat/skill-058)src/game/skills/impl/sor/skill-058-energy-shield.tstests/skills/sor/skill-058-energy-shield.test.tssrvstfunc=0,srvdofunc=23,missile=none,state=energyshield,summon=none2. 1.13c Numerical & Synergy Verification Table
slvl = 1slvl = 10slvl = 20(0 Syn)slvl = 20(+20blvlSyn)usmc)5(1280)5(1280)5(1280)5(1280)Min-Max)0-00-00-00-0Min-Max)20-0(mag)59-0(mag)75-0(mag)75-0(+0%)+0%/3600f/3600+0%/17100f/17100+0%/32100f/32100+0%/32100f/321003. Headless Chromium (
chromium-1228) Runtime Telemetry & Screenshotready=true,classCode=sor(so),castCount=1,anim=SC:7,totalDamageDealt=0,consoleErrors=0588213bytesMilestone M4 Complete: Energy Shield (58) 1.13c Ground-Truth Parity Verified
a0567c2(merged tomain)tests/skills/sor/skill-058-energy-shield.test.ts(15/15 tests passing)energyshield(ManaShieldBall) looping body overlay,energyshieldhit0hit overlay,light_cast_2cast overlay.(32 - Math.min(20, Math.max(0, tkBlvl))) / 16(2.0 down to 0.75). Hard points only (blvl); soft points ignored.elemType === "pois" || isPoison) and Open Wounds strictly bypass ES directly to HP with 0 mana drained.removeState("energyshield"),removeState(60)), and remainder spills directly to HP.BATCH1_SKILLSlength invariant strictly 38, zero runtime MPQ queries.