[Skill #038] [SOR] Charged Bolt (1.13c Parity) #192
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#192
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
38(#038)skilldesc: charged bolt)sor(Sorceress)reqlevel)1reqskill1..3)-,-,-src/game/skills/impl/sor/skill-038-charged-bolt.tstests/skills/sor/skill-038-charged-bolt.test.ts1. Authoritative 1.13c
Skills.txtFunction & Handler Dispatchsrvstfunc(Server Start / Pre-Cast)-srvdofunc(Server Action Frame0x01/0x02)17srvprgfunc1..3(Progressive Charge Release)-/-/-cltstfunc/cltdofunc(Client Start / Action)-/23cltprgfunc1..3(Client Progressive Release)-/-/-passive/checkfuncpassive=-/checkfunc=-auraevent1/auraeventfunc1-/-2. Associated Missiles, States, Auras, Curses & Summons
srvmissile/a..c)-/a:chargedbolt,b:chargedbolt,c:chargedboltcltmissile/cltmissilea)-/chargedboltaurastate/auratgtstate)self:-/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=24,lvlmana=4(256-fixed-point<< HitShift)MinDam=-,MaxDam=-,EType=ltng,EMin=4,EMax=8,ELen=-calc1..4:calc1="min(24,ln12)",calc2=-,calc3=-,calc4=-blvlstrictly base allocatedSTAT_SKILLPTSonly):EDmgSymPerCalc:(skill('Lightning'.blvl))*par8DmgSymPerCalc:-ELenSymPerCalc:-4. R3 Verification & Merge Checklist
git worktree add ../wt-skill-38 -b feat/skill-38frommain.src/game/skills/impl/sor/skill-038-charged-bolt.tsimplements exact 1.13csrvstfunc/srvdofunc/srvprgfunc& numerical evaluation.slvl1, 10, 20 +blvlSynergies):tests/skills/sor/skill-038-charged-bolt.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=38&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-38+ branchfeat/skill-38.✅ Completed: [Skill #038] Charged Bolt (
SOR) — 1.13c Parity Verified1. Isolated Worktree & Module Implementation
../wt-skill-038(feat/skill-038)src/game/skills/impl/sor/skill-038-charged-bolt.tstests/skills/sor/skill-038-charged-bolt.test.tssrvstfunc=0,srvdofunc=17,missile=chargedbolt,state=none,summon=none2. 1.13c Numerical & Synergy Verification Table
slvl = 1slvl = 10slvl = 20(0 Syn)slvl = 20(+20blvlSyn)usmc)3(768)7(1920)12(3200)12(3200)Min-Max)0-00-00-00-0Min-Max)2-4(ltng)6-8(ltng)13-15(ltng)29-34(+120%)+0%/0f/3+0%/0f/12+0%/0f/22+0%/0f/223. Headless Chromium (
chromium-1228) Runtime Telemetry & Screenshotready=true,classCode=sor(so),castCount=1,anim=SC:7,totalDamageDealt=165,consoleErrors=0588866bytes✅ Completed: [Skill #038] Charged Bolt (
SOR) — 1.13c Parity Verified1. Isolated Worktree & Module Implementation
../wt-skill-038(feat/skill-038)src/game/skills/impl/sor/skill-038-charged-bolt.tstests/skills/sor/skill-038-charged-bolt.test.tssrvstfunc=0,srvdofunc=17,missile=chargedbolt,state=none,summon=none2. 1.13c Numerical & Synergy Verification Table
slvl = 1slvl = 10slvl = 20(0 Syn)slvl = 20(+20blvlSyn)usmc)3(768)7(1920)12(3200)12(3200)Min-Max)0-00-00-00-0Min-Max)2-4(ltng)6-8(ltng)13-15(ltng)29-34(+120%)+0%/0f/3+0%/0f/12+0%/0f/22+0%/0f/223. Headless Chromium (
chromium-1228) Runtime Telemetry & Screenshotready=true,classCode=sor(so),castCount=1,anim=SC:7,totalDamageDealt=165,consoleErrors=0588866bytesMilestone M3 Implementation Complete — Skill #038: Charged Bolt (1.13c Parity)
728d641src/game/engine.tslines 446-449 whereoutcome.spawnedProjectileswas redundantly pushed intothis.projectiles.GAT_CHARGED_BOLT_OFFSETS = [-1, 0, 1, -1, 0, 1, ...]applied perpendicularly to main propagation vector per step (2 subtiles/step) with individual low-seed PRNG.CollideKill = 1) and terminates on solid wall collision (CollideType = 3).tests/skills/sor/skill-038-charged-bolt.test.ts): 22/22 tests passing.npm test): 4,175/4,175 passing, 0 errors.npm run typecheck): 0 errors.