Core/Spells: let all periodic effects roll over their timers on refresh
* renamed SPELL_ATTR0_CU_DONT_RESET_PERIODIC to SPELL_ATTR0_CU_RESET_PERIODIC_TIMER and changed functionality to prevent described behavior from happening
This commit is contained in:
1 parent
1149fbce3d
commit
0aa9129c3b
3 files changed
+2
-12
No files matched your search
@@ -769,7 +769,7 @@ void Aura::RefreshTimers()
|
||||
{
|
||||
m_maxDuration = CalcMaxDuration();
|
||||
|
||||
bool resetPeriodicTimer = !m_spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_RESET_PERIODIC);
|
||||
bool resetPeriodicTimer = m_spellInfo->HasAttribute(SPELL_ATTR0_CU_RESET_PERIODIC_TIMER);
|
||||
if (!resetPeriodicTimer)
|
||||
{
|
||||
int32 minAmplitude = m_maxDuration;
|
||||
|
||||
@@ -200,7 +200,7 @@ enum SpellCustomAttributes
|
||||
SPELL_ATTR0_CU_BINARY_SPELL = 0x00100000,
|
||||
SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC = 0x00200000,
|
||||
SPELL_ATTR0_CU_LIQUID_AURA = 0x00400000,
|
||||
SPELL_ATTR0_CU_DONT_RESET_PERIODIC = 0x00800000,
|
||||
SPELL_ATTR0_CU_RESET_PERIODIC_TIMER = 0x00800000,
|
||||
|
||||
SPELL_ATTR0_CU_NEGATIVE = SPELL_ATTR0_CU_NEGATIVE_EFF0 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | SPELL_ATTR0_CU_NEGATIVE_EFF2
|
||||
};
|
||||
|
||||
@@ -4771,16 +4771,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->Effects[EFFECT_0].MaxRadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_45_YARDS);
|
||||
});
|
||||
|
||||
// Reverberating Hymn
|
||||
ApplySpellFix({
|
||||
75323,
|
||||
90008
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
// Aura is refreshed at 3 seconds, and the tick should happen at the fourth.
|
||||
spellInfo->AttributesEx8 |= SPELL_ATTR0_CU_DONT_RESET_PERIODIC;
|
||||
});
|
||||
|
||||
// Destruction Protocoll
|
||||
ApplySpellFix({ 77437 }, [](SpellInfo* spellInfo)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user