[Milestone M2] Necromancer Poison & Bone Spells Tree (10 Skills) #442

Closed
opened 2026-09-24 10:49:00 +00:00 by troytt · 1 comment
Owner

Milestone M2: Necromancer Poison & Bone Spells Tree (10 Skills)

Overview

Implementation and ground truth verification for all 10 Necromancer Poison & Bone skills according to Diablo II v1.13c binary assembly (D2Game.dll, D2Common.dll) and MPQ authoritative tables (Skills.txt, SkillDesc.txt, Missiles.txt, Overlay.txt).


1. Skill Specifications (IDs 67, 68, 73, 74, 78, 83, 84, 88, 92, 93)

Skill 67: Teeth (牙)

  • ID: 67 | Tree: Poison & Bone (Tab 1, Index 1) | ReqLevel: 1 | Prerequisites: None
  • Mana Cost: Base 3, lvlmana 0.5, manashift 8 (cost = max(3, 3 + (lvl-1)*0.5))
  • Functions: srvdofunc: 8 (SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave), Cast Delay: 0
  • Missile: teeth (ID 115, Vel: 16, Range: 50, HitSubMissile: teethexplode ID 205)
  • Projectile Count: min(ln12, 24) where par1=2, par2=1:
    • slvl 1: 2 teeth | slvl 10: 11 teeth | slvl 20: 21 teeth | Capped at 24 teeth (slvl 23)
  • Damage: Magic damage (descdam: 5, eType: mag, HitShift: 8)
    • slvl 1: 2-4 | slvl 10: 11-14 | slvl 20: 23-31
  • Synergies Received: +15% Magic Damage per hard point (blvl) from Bone Wall (78), Bone Prison (88), Bone Spear (84), Bone Spirit (93)
  • Synergies Given: +7% to Bone Spear (84); +6% to Bone Spirit (93)

Skill 68: Bone Armor (白骨裝甲)

  • ID: 68 | Tree: Poison & Bone | ReqLevel: 1 | Prerequisites: None
  • Mana Cost: Base 11, lvlmana 1, manashift 8 (slvl 1: 11, slvl 10: 20, slvl 20: 30)
  • Functions: srvdofunc: 18 (SKILLS_SrvDo018_DefensiveBuff), event handler auraeventfunc: 22
  • Overlays: bonearmor_cast (Overlay 140), bonearmor_front (Overlay 141), bonearmor_back (Overlay 142)
  • Absorption Capacity: ln12 (par1=20, par2=10) + (BoneWall.blvl + BonePrison.blvl) * 15:
    • slvl 1: 20 Physical Damage absorbed | slvl 10: 110 | slvl 20: 210
  • Synergies Received: +15 Physical Damage absorbed per hard point from Bone Wall (78), Bone Prison (88)
  • 1.13c Mechanical Invariant: Absorbs PHYSICAL melee and missile damage ONLY. Pure elemental, poison, and magic damage bypass the armor pool completely. Shield pool resets on recast. Overlays stripped immediately when pool reaches 0.

Skill 73: Poison Dagger (淬毒匕首)

  • ID: 73 | Tree: Poison & Bone | ReqLevel: 6 | Prerequisites: None
  • Mana Cost: Base 3, lvlmana 0.25 (slvl 1: 3, slvl 10: 5.3, slvl 20: 7.8)
  • Animation: A1 (Melee Attack) | Functions: srvstfunc: 16, srvdofunc: 32
  • Attack Rating: ln12 (par1=30, par2=20): slvl 1: +30% | slvl 10: +210% | slvl 20: +410%
  • Duration: ELen: 50, ELevLen1-3: [10, 10, 10]: slvl 1: 50 frames (2.0s) | slvl 10: 140 frames (5.6s) | slvl 20: 240 frames (9.6s)
  • Poison Bitrate: HitShift: 1: slvl 1: 7-15 dmg over 2s | slvl 10: 129-153 dmg over 5.6s | slvl 20: 540-581 dmg over 9.6s
  • Synergies Received: +20% Poison Damage per hard point from Poison Explosion (83), Poison Nova (92)
  • Synergies Given: +15% to Poison Explosion (83); +10% to Poison Nova (92)
  • Requirement Invariant: Can ONLY be executed with a dagger-class weapon (itemtype = dagg / bld, knif). Weapon validation prevents execution if non-dagger equipped.

Skill 74: Corpse Explosion (屍體爆炸)

  • ID: 74 | Tree: Poison & Bone | ReqLevel: 6 | Prerequisites: Teeth (67)
  • Mana Cost: Base 15, lvlmana 1 (slvl 1: 15, slvl 10: 24, slvl 20: 34)
  • Functions: srvstfunc: 17, srvdofunc: 55 (SKILLS_SrvDo055_CorpseExplosion)
  • Missile: corpseexplosion (ID 116, Range: 13)
  • Damage: 70% to 120% of target monster base hit points.
    • Split: Strictly 50% Physical, 50% Fire.
  • Blast Radius: ln34 (par3=4, par4=1 sub-tiles):
    • slvl 1: 4 sub-tiles (5.3 yards) | slvl 10: 13 sub-tiles (11.3 yards) | slvl 20: 23 sub-tiles (18.0 yards)
  • 1.13c Mechanical Invariants:
    1. Base HP is derived strictly from Normal difficulty 1-player monster stats; does NOT scale with multiplayer player-count bonus.
    2. The corpse is completely destroyed and consumed synchronously upon detonation.
    3. Cannot detonate Act Boss corpses.

Skill 78: Bone Wall (骨牆)

  • ID: 78 | Tree: Poison & Bone | ReqLevel: 12 | Prerequisites: Bone Armor (68)
  • Mana Cost: 17 (Constant) | Functions: srvdofunc: 60 (SKILLS_SrvDo060_BoneWall)
  • Missile: bonewallmaker (ID 208) spawning 5 destructible bonewall segment units
  • Duration: par2 = 600 frames = Fixed 24.0 seconds
  • Wall HP: Base 19 HP + 4.6 HP/lvl + (BoneArmor.blvl + BonePrison.blvl) * 10%:
    • slvl 1: 19 Life | slvl 10: 61 Life | slvl 20: 109 Life (Base)
  • Synergies Given: +15 Absorb to Bone Armor (68), +15% Magic Dmg to Teeth (67), +7% to Bone Spear (84), +6% to Bone Spirit (93)

Skill 83: Poison Explosion (毒爆)

  • ID: 83 | Tree: Poison & Bone | ReqLevel: 18 | Prerequisites: Poison Dagger (73), Corpse Explosion (74)
  • Mana Cost: 8 (Constant) | Functions: srvstfunc: 17, srvdofunc: 63
  • Missiles: poisoncorpseexplosion (ID 117) spawning persistent cloud poisonexplosioncloud (ID 218)
  • Duration: ELen: 50, ELevLen: [10, 10, 10]: slvl 1: 50 frames (2.0s) | slvl 10: 140 frames (5.6s) | slvl 20: 240 frames (9.6s)
  • Poison Bitrate: HitShift: 4: slvl 1: 25-75 poison dmg | slvl 10: 262-402 | slvl 20: 1170-1410
  • Synergies Received: +15% Poison Dmg from Poison Dagger (73), Poison Nova (92)
  • Synergies Given: +20% to Poison Dagger (73); +10% to Poison Nova (92)

Skill 84: Bone Spear (骨矛)

  • ID: 84 | Tree: Poison & Bone | ReqLevel: 18 | Prerequisites: Corpse Explosion (74)
  • Mana Cost: Base 7, lvlmana 0.25 (slvl 1: 7, slvl 10: 9.3, slvl 20: 11.8)
  • Functions: srvdofunc: 1, Missile: bonespear (ID 193, Vel: 24, Range: 40, Piercing)
  • Damage: Magic damage (descdam: 5, eType: mag): slvl 1: 16-24 | slvl 10: 90-98 | slvl 20: 192-204
  • Synergies Received: +7% Magic Damage per hard point from Teeth (67), Bone Wall (78), Bone Prison (88), Bone Spirit (93)
  • Synergies Given: +15% to Teeth (67); +6% to Bone Spirit (93)
  • Kinematic Invariant: Linear piercing projectile that penetrates all valid hostile units along its vector without early termination until max range (40 sub-tiles) or obstacle collision.

Skill 88: Bone Prison (骨牢)

  • ID: 88 | Tree: Poison & Bone | ReqLevel: 24 | Prerequisites: Bone Wall (78), Bone Spear (84)
  • Mana Cost: Base 27, lvlmana -1 (cost = max(1, 27 - (lvl-1)): slvl 1: 27, slvl 10: 18, slvl 20: 8)
  • Functions: srvstfunc: 19, srvdofunc: 62, spawns circular ring of destructible bonewall units encircling target
  • Duration: par2 = 600 frames = Fixed 24.0 seconds
  • Prison HP: Base 19 HP + 4.6 HP/lvl + (BoneArmor.blvl + BoneWall.blvl) * 8%
  • Synergies Given: +15 Absorb to Bone Armor (68), +15% Magic Dmg to Teeth (67), +7% to Bone Spear (84), +6% to Bone Spirit (93)

Skill 92: Poison Nova (劇毒新星)

  • ID: 92 | Tree: Poison & Bone | ReqLevel: 30 | Prerequisites: Poison Explosion (83)
  • Mana Cost: 20 (Constant) | Functions: srvdofunc: 22 (SKILLS_SrvDo022_NovaAttack)
  • Missile: poisonnova (ID 119, Vel: 12, Range: 30) -> Exactly 64 missiles emitted radially (360 degrees, 5.625° spacing)
  • Duration: ELen: 50, ELevLen: [0, 0, 0] -> Strictly FIXED at 50 frames (2.0 seconds) for all skill levels!
  • Poison Bitrate: HitShift: 4: slvl 1: 50-90 dmg over 2s | slvl 10: 175-215 dmg | slvl 20: 400-440 dmg
  • Synergies Received: +10% Poison Dmg from Poison Dagger (73), Poison Explosion (83)
  • Synergies Given: +20% to Poison Dagger (73); +15% to Poison Explosion (83)

Skill 93: Bone Spirit (白骨之魂)

  • ID: 93 | Tree: Poison & Bone | ReqLevel: 30 | Prerequisites: Bone Spear (84)
  • Mana Cost: Base 12, lvlmana 0.5 (slvl 1: 12, slvl 10: 16.5, slvl 20: 21.5)
  • Functions: srvdofunc: 10 (SKILLS_SrvDo010_GuidedArrow_BoneSpirit)
  • Missile: bonespirit (ID 194, Vel: 12, Range: 128, Homing)
  • Damage: Magic damage (descdam: 5, eType: mag): slvl 1: 20-30 | slvl 10: 166-185 | slvl 20: 340-369
  • Synergies Received: +6% Magic Damage per hard point from Teeth (67), Bone Wall (78), Bone Spear (84), Bone Prison (88)
  • Synergies Given: +15% to Teeth (67); +7% to Bone Spear (84)
  • Homing Kinematics: Continuously reorients velocity vector toward nearest hostile target over 128 frames. Retargets new nearest hostile if initial target dies mid-flight.

2. Kinematics & Stability Remediations

  1. Dagger Classification Fix: Fixed getAttackWeaponInfo so authentic 1.13c daggers (Blade, item codes bld, knif) are properly classified as daggers instead of swords, enabling Poison Dagger execution.
  2. Sub-Missile Explosion Cascade Prevention: Guarded against runaway recursive sub-missile explosion loops on piercing and multi-projectiles (Bone Spear, Teeth, Bone Spirit).
  3. Bone Spirit Homing Scalar Velocity Invariance: Normalized homing direction vectors to guarantee scalar speed remains strictly invariant to homing angle, preventing velocity inflation on non-horizontal angles.
  4. Poison Nova Exact 50-Frame TTL: Calibrated poisonnova projectile TTL to strictly 50 frames (2.0 seconds) conforming to 1.13c ground truth.

3. Synergies Matrix

  • Base-points-only synergy calculation (STAT_SKILLPTS / blvl) strictly adhering to 1.13c Marrowwalk fix invariant.
## Milestone M2: Necromancer Poison & Bone Spells Tree (10 Skills) ### Overview Implementation and ground truth verification for all 10 Necromancer Poison & Bone skills according to Diablo II v1.13c binary assembly (`D2Game.dll`, `D2Common.dll`) and MPQ authoritative tables (`Skills.txt`, `SkillDesc.txt`, `Missiles.txt`, `Overlay.txt`). --- ### 1. Skill Specifications (IDs 67, 68, 73, 74, 78, 83, 84, 88, 92, 93) #### Skill 67: Teeth (牙) - **ID**: 67 | **Tree**: Poison & Bone (Tab 1, Index 1) | **ReqLevel**: 1 | **Prerequisites**: None - **Mana Cost**: Base 3, lvlmana 0.5, manashift 8 (`cost = max(3, 3 + (lvl-1)*0.5)`) - **Functions**: `srvdofunc: 8` (`SKILLS_SrvDo008_MultipleShot_Teeth_ShockWave`), Cast Delay: 0 - **Missile**: `teeth` (ID 115, Vel: 16, Range: 50, HitSubMissile: `teethexplode` ID 205) - **Projectile Count**: `min(ln12, 24)` where par1=2, par2=1: - slvl 1: 2 teeth | slvl 10: 11 teeth | slvl 20: 21 teeth | Capped at 24 teeth (slvl 23) - **Damage**: Magic damage (`descdam: 5`, `eType: mag`, HitShift: 8) - slvl 1: 2-4 | slvl 10: 11-14 | slvl 20: 23-31 - **Synergies Received**: +15% Magic Damage per hard point (`blvl`) from Bone Wall (78), Bone Prison (88), Bone Spear (84), Bone Spirit (93) - **Synergies Given**: +7% to Bone Spear (84); +6% to Bone Spirit (93) #### Skill 68: Bone Armor (白骨裝甲) - **ID**: 68 | **Tree**: Poison & Bone | **ReqLevel**: 1 | **Prerequisites**: None - **Mana Cost**: Base 11, lvlmana 1, manashift 8 (slvl 1: 11, slvl 10: 20, slvl 20: 30) - **Functions**: `srvdofunc: 18` (`SKILLS_SrvDo018_DefensiveBuff`), event handler `auraeventfunc: 22` - **Overlays**: `bonearmor_cast` (Overlay 140), `bonearmor_front` (Overlay 141), `bonearmor_back` (Overlay 142) - **Absorption Capacity**: `ln12` (par1=20, par2=10) + `(BoneWall.blvl + BonePrison.blvl) * 15`: - slvl 1: 20 Physical Damage absorbed | slvl 10: 110 | slvl 20: 210 - **Synergies Received**: +15 Physical Damage absorbed per hard point from Bone Wall (78), Bone Prison (88) - **1.13c Mechanical Invariant**: Absorbs PHYSICAL melee and missile damage ONLY. Pure elemental, poison, and magic damage bypass the armor pool completely. Shield pool resets on recast. Overlays stripped immediately when pool reaches 0. #### Skill 73: Poison Dagger (淬毒匕首) - **ID**: 73 | **Tree**: Poison & Bone | **ReqLevel**: 6 | **Prerequisites**: None - **Mana Cost**: Base 3, lvlmana 0.25 (slvl 1: 3, slvl 10: 5.3, slvl 20: 7.8) - **Animation**: `A1` (Melee Attack) | **Functions**: `srvstfunc: 16`, `srvdofunc: 32` - **Attack Rating**: `ln12` (par1=30, par2=20): slvl 1: +30% | slvl 10: +210% | slvl 20: +410% - **Duration**: `ELen: 50`, `ELevLen1-3: [10, 10, 10]`: slvl 1: 50 frames (2.0s) | slvl 10: 140 frames (5.6s) | slvl 20: 240 frames (9.6s) - **Poison Bitrate**: `HitShift: 1`: slvl 1: 7-15 dmg over 2s | slvl 10: 129-153 dmg over 5.6s | slvl 20: 540-581 dmg over 9.6s - **Synergies Received**: +20% Poison Damage per hard point from Poison Explosion (83), Poison Nova (92) - **Synergies Given**: +15% to Poison Explosion (83); +10% to Poison Nova (92) - **Requirement Invariant**: Can ONLY be executed with a dagger-class weapon (`itemtype = dagg` / `bld`, `knif`). Weapon validation prevents execution if non-dagger equipped. #### Skill 74: Corpse Explosion (屍體爆炸) - **ID**: 74 | **Tree**: Poison & Bone | **ReqLevel**: 6 | **Prerequisites**: Teeth (67) - **Mana Cost**: Base 15, lvlmana 1 (slvl 1: 15, slvl 10: 24, slvl 20: 34) - **Functions**: `srvstfunc: 17`, `srvdofunc: 55` (`SKILLS_SrvDo055_CorpseExplosion`) - **Missile**: `corpseexplosion` (ID 116, Range: 13) - **Damage**: 70% to 120% of target monster base hit points. - Split: Strictly 50% Physical, 50% Fire. - **Blast Radius**: `ln34` (par3=4, par4=1 sub-tiles): - slvl 1: 4 sub-tiles (5.3 yards) | slvl 10: 13 sub-tiles (11.3 yards) | slvl 20: 23 sub-tiles (18.0 yards) - **1.13c Mechanical Invariants**: 1. Base HP is derived strictly from Normal difficulty 1-player monster stats; does NOT scale with multiplayer player-count bonus. 2. The corpse is completely destroyed and consumed synchronously upon detonation. 3. Cannot detonate Act Boss corpses. #### Skill 78: Bone Wall (骨牆) - **ID**: 78 | **Tree**: Poison & Bone | **ReqLevel**: 12 | **Prerequisites**: Bone Armor (68) - **Mana Cost**: 17 (Constant) | **Functions**: `srvdofunc: 60` (`SKILLS_SrvDo060_BoneWall`) - **Missile**: `bonewallmaker` (ID 208) spawning 5 destructible `bonewall` segment units - **Duration**: `par2 = 600` frames = Fixed 24.0 seconds - **Wall HP**: Base 19 HP + 4.6 HP/lvl + `(BoneArmor.blvl + BonePrison.blvl) * 10%`: - slvl 1: 19 Life | slvl 10: 61 Life | slvl 20: 109 Life (Base) - **Synergies Given**: +15 Absorb to Bone Armor (68), +15% Magic Dmg to Teeth (67), +7% to Bone Spear (84), +6% to Bone Spirit (93) #### Skill 83: Poison Explosion (毒爆) - **ID**: 83 | **Tree**: Poison & Bone | **ReqLevel**: 18 | **Prerequisites**: Poison Dagger (73), Corpse Explosion (74) - **Mana Cost**: 8 (Constant) | **Functions**: `srvstfunc: 17`, `srvdofunc: 63` - **Missiles**: `poisoncorpseexplosion` (ID 117) spawning persistent cloud `poisonexplosioncloud` (ID 218) - **Duration**: `ELen: 50`, `ELevLen: [10, 10, 10]`: slvl 1: 50 frames (2.0s) | slvl 10: 140 frames (5.6s) | slvl 20: 240 frames (9.6s) - **Poison Bitrate**: `HitShift: 4`: slvl 1: 25-75 poison dmg | slvl 10: 262-402 | slvl 20: 1170-1410 - **Synergies Received**: +15% Poison Dmg from Poison Dagger (73), Poison Nova (92) - **Synergies Given**: +20% to Poison Dagger (73); +10% to Poison Nova (92) #### Skill 84: Bone Spear (骨矛) - **ID**: 84 | **Tree**: Poison & Bone | **ReqLevel**: 18 | **Prerequisites**: Corpse Explosion (74) - **Mana Cost**: Base 7, lvlmana 0.25 (slvl 1: 7, slvl 10: 9.3, slvl 20: 11.8) - **Functions**: `srvdofunc: 1`, Missile: `bonespear` (ID 193, Vel: 24, Range: 40, Piercing) - **Damage**: Magic damage (`descdam: 5`, `eType: mag`): slvl 1: 16-24 | slvl 10: 90-98 | slvl 20: 192-204 - **Synergies Received**: +7% Magic Damage per hard point from Teeth (67), Bone Wall (78), Bone Prison (88), Bone Spirit (93) - **Synergies Given**: +15% to Teeth (67); +6% to Bone Spirit (93) - **Kinematic Invariant**: Linear piercing projectile that penetrates all valid hostile units along its vector without early termination until max range (40 sub-tiles) or obstacle collision. #### Skill 88: Bone Prison (骨牢) - **ID**: 88 | **Tree**: Poison & Bone | **ReqLevel**: 24 | **Prerequisites**: Bone Wall (78), Bone Spear (84) - **Mana Cost**: Base 27, lvlmana -1 (`cost = max(1, 27 - (lvl-1))`: slvl 1: 27, slvl 10: 18, slvl 20: 8) - **Functions**: `srvstfunc: 19`, `srvdofunc: 62`, spawns circular ring of destructible `bonewall` units encircling target - **Duration**: `par2 = 600` frames = Fixed 24.0 seconds - **Prison HP**: Base 19 HP + 4.6 HP/lvl + `(BoneArmor.blvl + BoneWall.blvl) * 8%` - **Synergies Given**: +15 Absorb to Bone Armor (68), +15% Magic Dmg to Teeth (67), +7% to Bone Spear (84), +6% to Bone Spirit (93) #### Skill 92: Poison Nova (劇毒新星) - **ID**: 92 | **Tree**: Poison & Bone | **ReqLevel**: 30 | **Prerequisites**: Poison Explosion (83) - **Mana Cost**: 20 (Constant) | **Functions**: `srvdofunc: 22` (`SKILLS_SrvDo022_NovaAttack`) - **Missile**: `poisonnova` (ID 119, Vel: 12, Range: 30) -> Exactly 64 missiles emitted radially (360 degrees, 5.625° spacing) - **Duration**: `ELen: 50`, `ELevLen: [0, 0, 0]` -> Strictly FIXED at 50 frames (2.0 seconds) for all skill levels! - **Poison Bitrate**: `HitShift: 4`: slvl 1: 50-90 dmg over 2s | slvl 10: 175-215 dmg | slvl 20: 400-440 dmg - **Synergies Received**: +10% Poison Dmg from Poison Dagger (73), Poison Explosion (83) - **Synergies Given**: +20% to Poison Dagger (73); +15% to Poison Explosion (83) #### Skill 93: Bone Spirit (白骨之魂) - **ID**: 93 | **Tree**: Poison & Bone | **ReqLevel**: 30 | **Prerequisites**: Bone Spear (84) - **Mana Cost**: Base 12, lvlmana 0.5 (slvl 1: 12, slvl 10: 16.5, slvl 20: 21.5) - **Functions**: `srvdofunc: 10` (`SKILLS_SrvDo010_GuidedArrow_BoneSpirit`) - **Missile**: `bonespirit` (ID 194, Vel: 12, Range: 128, Homing) - **Damage**: Magic damage (`descdam: 5`, `eType: mag`): slvl 1: 20-30 | slvl 10: 166-185 | slvl 20: 340-369 - **Synergies Received**: +6% Magic Damage per hard point from Teeth (67), Bone Wall (78), Bone Spear (84), Bone Prison (88) - **Synergies Given**: +15% to Teeth (67); +7% to Bone Spear (84) - **Homing Kinematics**: Continuously reorients velocity vector toward nearest hostile target over 128 frames. Retargets new nearest hostile if initial target dies mid-flight. --- ### 2. Kinematics & Stability Remediations 1. **Dagger Classification Fix**: Fixed `getAttackWeaponInfo` so authentic 1.13c daggers (`Blade`, item codes `bld`, `knif`) are properly classified as daggers instead of swords, enabling Poison Dagger execution. 2. **Sub-Missile Explosion Cascade Prevention**: Guarded against runaway recursive sub-missile explosion loops on piercing and multi-projectiles (`Bone Spear`, `Teeth`, `Bone Spirit`). 3. **Bone Spirit Homing Scalar Velocity Invariance**: Normalized homing direction vectors to guarantee scalar speed remains strictly invariant to homing angle, preventing velocity inflation on non-horizontal angles. 4. **Poison Nova Exact 50-Frame TTL**: Calibrated `poisonnova` projectile TTL to strictly 50 frames (2.0 seconds) conforming to 1.13c ground truth. --- ### 3. Synergies Matrix - Base-points-only synergy calculation (`STAT_SKILLPTS` / `blvl`) strictly adhering to 1.13c Marrowwalk fix invariant.
Author
Owner

Verification Report: Milestone M2 (Poison & Bone Spells Tree)

  • Verification Commit: 29a5323 (fix(necro): remediate challenger findings for Poison & Bone spells)
  • Test Suite Results:
    • Total Test Files Passed: 36/36
    • Total Tests Passed: 194/194
    • Key Test Suites:
      • tests/skills/nec/poison-bone.test.ts
      • tests/skills/nec/adv-pnb-kinematics-stress.test.ts
      • tests/skills/nec/adv-pnb-synergy-stress.test.ts
      • tests/skills/nec/skill-067-teeth.test.ts through skill-093-bone-spirit.test.ts
  • Kinematics & Parity:
    • All 10 PnB skills verified against 1.13c assembly and table ground truths.
    • Dagger validation, piercing mechanics, and homing kinematics stress tested with 0 regressions.

Milestone M2 is verified complete and closed.

### Verification Report: Milestone M2 (Poison & Bone Spells Tree) - **Verification Commit**: `29a5323` (`fix(necro): remediate challenger findings for Poison & Bone spells`) - **Test Suite Results**: - Total Test Files Passed: 36/36 - Total Tests Passed: 194/194 - Key Test Suites: * `tests/skills/nec/poison-bone.test.ts` * `tests/skills/nec/adv-pnb-kinematics-stress.test.ts` * `tests/skills/nec/adv-pnb-synergy-stress.test.ts` * `tests/skills/nec/skill-067-teeth.test.ts` through `skill-093-bone-spirit.test.ts` - **Kinematics & Parity**: * All 10 PnB skills verified against 1.13c assembly and table ground truths. * Dagger validation, piercing mechanics, and homing kinematics stress tested with 0 regressions. Milestone M2 is verified complete and closed.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#442
No description provided.