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

86 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`](../artifacts/enemy-utility-control-2026-10-06/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.