diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index 06d048ab7..ab9c911c0 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -1253,9 +1253,9 @@ void Pet::_SaveAuras() } } - //skip all holders from spells that are passive + //skip all holders from spells that are passive or channeled //do not save single target holders (unless they were cast by the player) - if (save && !holder->IsPassive() && (holder->GetCasterGUID() == GetGUID() || !holder->IsSingleTarget())) + if (save && !holder->IsPassive() && !IsChanneledSpell(holder->GetSpellProto()) && (holder->GetCasterGUID() == GetGUID() || !holder->IsSingleTarget())) { int32 damage[MAX_EFFECT_INDEX]; int32 remaintime[MAX_EFFECT_INDEX]; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index fd9690a6e..0e07aa41b 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -16969,9 +16969,9 @@ void Player::_SaveAuras() for(SpellAuraHolderMap::const_iterator itr = auraHolders.begin(); itr != auraHolders.end(); ++itr) { SpellAuraHolder *holder = itr->second; - //skip all holders from spells that are passive + //skip all holders from spells that are passive or channeled //do not save single target holders (unless they were cast by the player) - if (!holder->IsPassive() && (holder->GetCasterGUID() == GetGUID() || !holder->IsSingleTarget())) + if (!holder->IsPassive() && !IsChanneledSpell(holder->GetSpellProto()) && (holder->GetCasterGUID() == GetGUID() || !holder->IsSingleTarget())) { int32 damage[MAX_EFFECT_INDEX]; int32 remaintime[MAX_EFFECT_INDEX]; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 4105bd5fb..b5d2f135e 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 "10568" + #define REVISION_NR "10569" #endif // __REVISION_NR_H__