From 6b5f2b63bd6cdf5b384bfc2cfd97de62e04e4283 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sun, 31 Jan 2010 22:07:30 +0300 Subject: [PATCH] [9278] Prevent reapply charged/noaffect spellmod to persistent auras. --- src/game/SpellAuras.cpp | 18 ++++++++++++++++++ src/shared/revision_nr.h | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 616df5822..2fa35e122 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1424,6 +1424,24 @@ void Aura::HandleAddModifier(bool apply, bool Real) ((Player*)m_target)->AddSpellMod(m_spellmod, apply); + // not reapply spell mods with charges (use original value because processed and at remove) + if (m_spellProto->procCharges) + return; + + // not reapply some spell mods ops (mostly speedup case) + switch (m_modifier.m_miscvalue) + { + case SPELLMOD_DURATION: + case SPELLMOD_CHARGES: + case SPELLMOD_NOT_LOSE_CASTING_TIME: + case SPELLMOD_CASTING_TIME: + case SPELLMOD_COOLDOWN: + case SPELLMOD_COST: + case SPELLMOD_ACTIVATION_TIME: + case SPELLMOD_CASTING_TIME_OLD: + return; + } + // reapply talents to own passive persistent auras ReapplyAffectedPassiveAuras(m_target, true); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 2bdd8c009..c4f65741d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9277" + #define REVISION_NR "9278" #endif // __REVISION_NR_H__ -- 2.11.4.GIT