diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 9fdedb6f43..9e56b7e2bd 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1085,6 +1085,8 @@ void Aura::SetStackAmount(uint8 stackAmount) void Aura::InitStackAmount(uint8 stackAmount) { m_stackAmount = stackAmount; + Modifier* mod = GetModifier(); + mod->m_amount*=m_stackAmount; } bool Aura::modStackAmount(int32 num) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 09557e9310..9bf6b86e51 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -13251,10 +13251,15 @@ void Unit::GetRaidMember(std::list &nearMembers, float radius) { Player* Target = itr->getSource(); - // IsHostileTo check duel and controlled by enemy - if( Target && Target != this && Target->isAlive() - && IsWithinDistInMap(Target, radius) && !IsHostileTo(Target) ) - nearMembers.push_back(Target); + if( Target && !IsHostileTo(Target) ) + { + if(Target->isAlive() && IsWithinDistInMap(Target, radius) ) + nearMembers.push_back(Target); + + if(Pet* pet = Target->GetPet()) + if(pet->isAlive() && IsWithinDistInMap(pet, radius) ) + nearMembers.push_back(pet); + } } } else