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

4.4 KiB
Raw Permalink Blame History

Ascension stance and Targorr Thrash source audit — 2026-10-06

This follow-up checks only the unsupported Ascension Defensive Stance Passive 7376 DUMMY amount and whether the exact pinned Targorr source supplies a Thrash cast cadence. It does not change runtime behavior.

Source pins

The active world SQL snapshot is AzerothCore commit 4d9d1d4b5723e819c5c390f6ca1177283dbfb8e3. The four input files used here match both source.lock.json in the active pipeline workspace and src/game/generated/azerothCoreSourceLock.json by SHA-256 and row count:

Active table Rows SHA-256
creature_template 29,947 0066e4fd35b809986dd325487515087f5a95f4ffe50ea03846c8d8bf5196870a
creature_template_spell 9,556 faf36f9ad1936470b545383e68db44d58b11fd51191f2fed3237971b12d8e86d
smart_scripts 52,768 622b5865f171b0b7a4dd93ecba55afd673c393c579485c17f827b31cb6e47dd2
creature 149,879 f54ddfe7ee00080b4b0bc970a809d6f947f6fb2627dbcd67e92b402fb34cb701

The Ascension client source is the pinned patch-D Spell.dbc, SHA-256 2f77f18b91ffbae32a19568e4bc05ec78ee384b6ba8dd2a6e05f0e97abbb2dce. The read-only historical core checkout is at e822d718322289dd036fb2daf8867ba41283bf9a. That core commit is a behavior reference; it is not the world SQL commit.

Ascension DUMMY +42

The client row for spell 7376 has three self-targeted Apply Aura effects. The third uses aura type 4 (DUMMY), raw BasePoints=41, and DieSides=1. The pinned core's SpellEffectInfo::CalcValue turns the one-sided die into +1, so the applied amount is exactly +42. Its trigger spell is zero.

The core's shapeshift handler links Defensive Stance form to passive 7376 at SpellAuraEffects.cpp:1378-1379. That establishes why the passive is present, but it does not assign meaning to the DUMMY amount. The pinned AuraEffect::HandleAuraDummy has no case 7376; the base spell_script_names.sql has no 7376 registration. SpellInfoCorrections.cpp includes 7376 in the warrior-stance group at line 4745, then only adds SPELL_ATTR3_SUPPRESS_CASTER_PROCS at line 4748. None of these is a +42 stat/effect consumer.

Keep the DUMMY effect as source metadata and leave its behavior gated. Do not apply +42 to a stat or invent another mechanic without the custom-server consumer that defines it.

Private Ascension server patches or data overlays were not available in this source set, so any private override of the DUMMY row remains unknown.

Targorr Thrash timing

The pinned creature_template.sql:1485 row names entry 1696 as Targorr the Dread and sets AIName='SmartAI'. The spell-list rows at creature_template_spell.sql:618-619 list 8599 in slot 0 and 3391 in slot 1. They establish spell availability in the template list, not when 3391 is cast.

Targorr has exactly three active SmartAI rows at smart_scripts.sql:5784-5786:

  • Row 5784 casts 674 on raw event type 0 with a 1,000 ms initial update; the SQL comment calls this out-of-combat, while the pinned SmartScript enum maps event 0 to update-in-combat.
  • Row 5785 casts 8599 for the 0–30% health event and links to row 5786.
  • Row 5786 is the linked talk action. No Targorr SmartAI row casts 3391.

In the pinned core, SmartAI::UpdateAI calls the SmartScript update and then melee at SmartAI.cpp:562; it has no generic creature-template spell scheduler. CombatAI is a separate AI path: it loads template spells and schedules them through its event map in CombatAI.cpp:50-100. Targorr's explicit AIName='SmartAI' does not establish the CombatAI path or its cooldown behavior. No exact Targorr source row supplies a Thrash cadence.

Preserve the existing simulator timing policy. Spell 3391's separately verified effect remains two queued main-hand attacks when cast; that effect contract does not prove a cast time or repeat interval for Targorr. Do not borrow another creature's 3391 schedule or apply generic CombatAI timing. Any private Targorr script or override not present in the pinned world snapshot also remains unknown.

Reproduction

Run node artifacts/enemy-utility-control-2026-10-06/audit-stance-thrash-source.mjs to recheck the pinned world hashes and row counts, extract the Targorr rows, and inspect the Ascension DBC effect. It writes audit-stance-thrash-source.json. The script and JSON are audit artifacts only; no runtime or generated content was changed and no build, test suite, or live run was performed.