Files
healer-man/docs/ENEMY_WEAPON_UTILITIES_2026-10-05.md
2026-10-06 22:25:34 -04:00

9.4 KiB
Raw Permalink Blame History

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:

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.