# Enemy weapon utilities — 2026-10-05 ## Scope This continuation implements the authorized Bloodlust, Disarm/Infected Wound and Dual Wield/Thrash groups. Separate GPT-6 Luna extra-high subprocesses own their source helpers and tests; shared runtime and catalog integration preserve the existing level-80 cap, loot scope and Ready-five certification. Routine browser proof uses Stormwind Stockade: Cellblock Rush and records the actual seeded boss. Full Stockade campaigns remain separately selected. ## Source contracts | Mechanic | Verified behavior | | --- | --- | | Bloodlust 6742 | One selected friendly creature, 30 seconds, +30% melee haste, Magic dispel. No party-wide aura radius. Separate source haste factors multiply: Bloodlust and Enrage give interval factor 100/169. | | Disarm 6713, Ascension | Five seconds; main-hand and ranged channels. Offhand and casting remain available subject to exact equipped-item requirements. | | Disarm 6713, Epoch | Five seconds; main-hand channel only. | | Infected Wound 17230 | Five minutes; Disease dispel; +6 flat physical damage taken before armor, block and absorbs. Its own Nature school does not determine the damage modifier's school. | | Dual Wield 674/29651 | Non-damaging persistent creature capability. Explicit enabled mode uses the source creature baseline for an independent offhand, with the core's 0.5 damage factor. | | Thrash 3391 | Two queued main-hand extra swings on the next unit update, separate ordinary hit/mitigation results. The spell itself is not a direct-damage packet. | The pinned Ascension and Epoch rows, shared support tables, core consumers and source limitations are in the subprocess audits: - [Bloodlust](ENEMY_BLOODLUST_2026-10-05.md) - [Disarm and Infected Wound](ENEMY_WEAPON_DEBUFFS_2026-10-05.md) - [Dual Wield and Thrash](ENEMY_EXTRA_ATTACKS_2026-10-05.md) Hamhock's raw SmartAI has a five-second, one-time self Bloodlust event with `SMARTCAST_AURA_NOT_PRESENT`, plus an independent event-16 missing-buff check within 30 yards and ten-second repeat. The latter selects one engaged living friendly creature. Targorr's raw Dual Wield event is in combat; Bazil's is out of combat, despite conflicting SQL comments. Numeric event IDs are authoritative. Targorr's template lists Thrash but this source set does not supply a SmartAI Thrash cast schedule. Any retained generic template cadence is simulator policy, not a recovered source schedule. ## Integration The compiler emits source-bound utility effects instead of false direct hits. It retains both sourced Hamhock Bloodlust rules while suppressing the duplicate template fallback. Ordinary source auras use the shared authoritative aura array. Disarm state uses explicit channel tags; it does not become a blanket crowd-control state or remove equipped items. Weapon damage masking is temporary; non-weapon item stats and persisted equipment remain intact. The WotLK ability importer had exported equipment metadata from fields 67/68. Independent raw Spell.dbc probes establish fields 68/69/70 for item class, subclass mask and inventory mask. The scoped refresh must preserve all other rank fields, including costs, effects, progression and spell-defense metadata. Classic Ascension equipment metadata requires the same field correction. The metadata-only CoA refresh compares parsed current input/output before its write, allowing only the three equipment fields and synchronization timestamp. No persistent pre-refresh snapshot was retained; the former dirty working tree cannot now be independently reconstructed from HEAD. The final formatting-only rewrite was separately checked for parsed equality. Timed direct Bloodlust, Disarm and Infected Wound auras on another actor survive caster death/removal or return-home cleanup. Removing the recipient and resetting the encounter still clears them. Existing cleanup for other aura families stays outside this change. Disarm target eligibility uses currently usable resolved weapons, so an unavailable weapon cannot refresh the debuff. WoW-ruleset unarmed main-hand autos retain the core's 1–2 base, two-second delay, AP and other item stats. This includes RoM characters using WoW compatibility. Native RoM unarmed amounts, complete weapon-dependent aura removal and permitted generic weapon formulas remain source/runtime limits. Explicit source utility support does not supply missing automatic/flag-driven virtual equipment. The existing enemy-team simulation does not model core faction hostility, map phase or object-size-expanded range. Selected friendly recipients therefore use the represented enemy team, engaged/living state, point distance and LOS. This is an explicit simulator boundary rather than an exact faction search. ## Validation Completed focused checks cover 360 distinct Vitest cases, five Node cases and twenty Python cases. Repeated regression runs do not inflate these totals. | Scope | Result | | --- | --- | | Shared aura/source contracts, imported aura execution and Bloodlust (six files) | 32 Vitest | | Selected source/Stockade campaign assertions | 11 Vitest; 22 unrelated cases skipped | | Avatar and equipment rendering invariants | 56 Vitest | | Shared combat results, stance/block/spell metadata and native exclusions (eight files) | 57 Vitest | | Actual imported Disarm application, unusable reapplication and expiry | 2 Vitest | | Dual Wield/Thrash helpers and imported runtime | 14 Vitest | | Disarm contracts/runtime/player-party execution plus affected party/combat files | 171 Vitest | | Actual imported Wound, physical packet kinds, mitigation, Cure Disease and caster removal | 10 Vitest | | Ready-five | 7 Vitest + 20 Python | | Equipment-column parser and pinned utility drift | 5 Node | The standard 8GB TypeScript compilation passes. A default-output build reached Vite but hit Windows `EPERM` clearing the shared `dist/assets` folder. The same 8GB TypeScript/Vite pipeline succeeds with the isolated output `artifacts/enemy-weapon-utilities-2026-10-05/production-dist`; standard prebuild asset audits, precompression and release-bundle verification pass. The shared build already had a restored index when checked and was preserved. Earlier test-fixture seed/timestamp type errors were corrected before this build. The validated output is copied and checked before/after freezing. Its 5,964-file aggregate SHA-256 is `58dfe50765b0635caeae50bd3eca2fd079cd69cce0e571ff6cb2dd5aeec77b39`. Entry is `index-nDB7zewy.js`; combat is `combatStore-NW7YcPHP.js`. Frozen build/content live under `artifacts/enemy-weapon-utilities-2026-10-05/frozen-20261006-011726964/`. Content version is `content-62324661bc5f7a0e`, manifest SHA-256 `36614a23f3b98b4289bc3726c8a9bdb075445ada50dfce6504ade4e36325be1f`. All 27,571 referenced objects (6,489,458,993 bytes; 21,597 logical files) were copied and independently verified against their manifest hashes. The final Luna review found missing attribute pins for 674/29651/3391. The compiler now rejects profile-specific attribute drift and Thrash die-roll drift; its three tests pass. Regeneration validates both clients and leaves campaign JSON and compressed TypeScript byte-identical. Source spell availability does not establish missing Thrash timing. Frozen Cellblock Rush run `20261006-012123000` selects Hamhock (`entry-1717`, `creature-79098`) and verifies its native 1/1 clear in 3:14.6. The level-30 Discipline player and four Ready companions enter normally; there are no observed player or party deaths. The build and content manifest remain unchanged, and all 2,124 served manifest-referenced objects were independently rehashed by root. The roster, dungeon equipment silhouettes and results capture were visually inspected. There are no page exceptions; the console records one `favicon.ico` 404. This first run's checkpoint projection omits the new weapon fields even though the live-state reader captures them. All-null summarized weapon state therefore establishes a harness gap, not an absent game mechanic. The recorder now retains those fields through the checkpoint reducer and captures the three direct utility aura IDs globally, including player and party recipients. Corrected run `20261006-013934624` uses the same frozen inputs and selects Bazil Thredd (`entry-1716`, `creature-79124`). It verifies the native 1/1 clear in 3:20.7 without player or party deaths. All 328 mob snapshots retain weapon fields; 35 show Bazil's Dual Wield capability enabled. All captured offhand timers are zero, no hand-specific swing is captured, and no nonempty extra queue is observed. Capability evidence does not establish an offhand hit. The global aura store supplies 26 snapshots of the tank's single Wound instance, with four distinct source/application-time tuples. Each is one stack, Disease, and exactly 300,000 ms; these are four observed applications/refreshes, not 26 applications. Bloodlust and Disarm auras remain unobserved in this retest. Deterministic imported-runtime tests cover those mechanics and queued Thrash. Root independently verifies unchanged build/content inputs, all 2,124 served objects and the actual entry/combat/runtime chunks again, and inspects the new roster, dungeon and native results captures. No page exceptions; one favicon 404. Both runs' `root-evidence-audit.json` files retain the audit scope. Final release hygiene passes, including untracked files; game and vault changes are reviewed separately. No full-source campaign or readiness promotion is inferred from these two ordinary one-boss routes. See [the scoped live report](STOCKADE_WEAPON_UTILITIES_PLAYTEST_2026-10-05.md).