aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp2
-rw-r--r--src/game/Unit.cpp13
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