![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Tests for SpellTypeMask calculation based on proc phase. More...
Protected Member Functions | |
| void | SetUp () override |
Protected Member Functions inherited from AuraScriptProcTestFixture | |
| void | SetUp () override |
| void | TearDown () override |
| ProcTestContext & | Context () |
| SpellInfo * | CreateSpellInfo (uint32_t id, uint32_t familyName=0, uint32_t familyFlags0=0, uint32_t familyFlags1=0, uint32_t familyFlags2=0) |
| SpellProcEntry | CreateProcEntry () |
| ProcEventInfo | CreateEventInfo (uint32_t typeMask, uint32_t hitMask, uint32_t spellTypeMask=PROC_SPELL_TYPE_MASK_ALL, uint32_t spellPhaseMask=PROC_SPELL_PHASE_HIT) |
| bool | TestCanProc (SpellProcEntry const &procEntry, uint32_t typeMask, uint32_t hitMask, SpellInfo const *triggerSpell=nullptr) |
| bool | TestSpellFamilyMatch (uint32_t procFamilyName, flag96 const &procFamilyMask, SpellInfo const *triggerSpell) |
Static Protected Member Functions | |
| static uint32 | CalculateSpellTypeMask (uint32 procPhase, DamageInfo *damageInfo, HealInfo *healInfo, bool hasSpellInfo) |
| Calculate spellTypeMask the same way ProcSkillsAndAuras does. | |
Tests for SpellTypeMask calculation based on proc phase.
These tests verify that the proc system correctly calculates SpellTypeMask for different proc phases. This is critical because:
Regression test for: FINISH phase was incorrectly using NO_DMG_HEAL when damageInfo was null, breaking procs like Killing Machine (51124) that require SpellTypeMask=DAMAGE and SpellPhaseMask=FINISH.
|
inlinestaticprotected |
Calculate spellTypeMask the same way ProcSkillsAndAuras does.
This mirrors the logic in Unit::ProcSkillsAndAuras to allow unit testing of the spellTypeMask calculation without needing full Unit objects.
References DamageInfo::GetDamage(), HealInfo::GetHeal(), PROC_SPELL_PHASE_CAST, PROC_SPELL_PHASE_FINISH, PROC_SPELL_TYPE_DAMAGE, PROC_SPELL_TYPE_HEAL, PROC_SPELL_TYPE_MASK_ALL, PROC_SPELL_TYPE_NO_DMG_HEAL, and spellTypeMask.
|
inlineoverrideprotected |
References AuraScriptProcTestFixture::SetUp().