fix(Core/Spells): Fully absorbed periodic damage should not break stealth (#24975)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
Co-authored-by: Ariel Silva <ariel-@users.noreply.github.com>
This commit is contained in:
blinkysc
2026-03-02 19:57:45 -06:00
committed by GitHub
parent e471087652
commit 1fc4781306
3 changed files with 162 additions and 4 deletions

View File

@@ -6756,7 +6756,9 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const
// Set trigger flag
uint32 procAttacker = PROC_FLAG_DONE_PERIODIC;
uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC;
uint32 procEx = (crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT) | PROC_EX_INTERNAL_DOT;
uint32 procEx = PROC_EX_INTERNAL_DOT;
if (damage)
procEx |= crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT;
if (absorb > 0)
procEx |= PROC_EX_ABSORB;
@@ -6843,7 +6845,9 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c
// Set trigger flag
uint32 procAttacker = PROC_FLAG_DONE_PERIODIC;
uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC;
uint32 procEx = (crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT) | PROC_EX_INTERNAL_DOT;
uint32 procEx = PROC_EX_INTERNAL_DOT;
if (dmgInfo.GetDamage())
procEx |= crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT;
if (absorb > 0)
procEx |= PROC_EX_ABSORB;