diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-03-23 18:01:40 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-03-23 18:01:40 +0100 |
commit | 92773e207c94e355fd37b266a219aad977cce9e2 (patch) | |
tree | 1898012463da0496166bde2c141135304d2ccf77 /src/server/game/Spells/Spell.cpp | |
parent | 87933987874e3a310d0d74c369e5986e242013f1 (diff) |
Core/Auras: Fixed SPELL_ATTR13_PERIODIC_REFRESH_EXTENDS_DURATION
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 0e4678bad96..2d9a97ae0de 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3267,6 +3267,12 @@ void Spell::DoSpellEffectHit(Unit* unit, SpellEffectInfo const& spellEffectInfo, if (!hitInfo.AuraDuration) hitInfo.AuraDuration = int32(origDuration * m_originalCaster->m_unitData->ModCastingSpeed); } + + if (refresh && m_spellInfo->HasAttribute(SPELL_ATTR13_PERIODIC_REFRESH_EXTENDS_DURATION)) + { + int32 newDuration = hitInfo.AuraDuration + hitInfo.HitAura->GetDuration(); + hitInfo.AuraDuration = std::min(newDuration, CalculatePct(hitInfo.AuraDuration, 130)); + } } } else |