diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 9fdedb6f430..9e56b7e2bdb 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 09557e93108..9bf6b86e513 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -13251,10 +13251,15 @@ void Unit::GetRaidMember(std::list<Unit*> &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 |