aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/GroupHandler.cpp10
-rw-r--r--src/game/SpellAuras.cpp4
-rw-r--r--src/game/Unit.cpp12
-rw-r--r--src/game/Unit.h2
4 files changed, 14 insertions, 14 deletions
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp
index 3890a9f77a6..e2a575162f6 100644
--- a/src/game/GroupHandler.cpp
+++ b/src/game/GroupHandler.cpp
@@ -720,8 +720,11 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player *player, WorldPacke
{
if(auramask & (uint64(1) << i))
{
- *data << uint16(player->GetUInt32Value(UNIT_FIELD_AURA + i));
+ uint32 updatedAura=player->GetUInt32Value(UNIT_FIELD_AURA + i);
+ *data << uint16(updatedAura);
*data << uint8(1);
+ if(!updatedAura)
+ player->UnsetAuraUpdateMask(i);
}
}
}
@@ -801,8 +804,11 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player *player, WorldPacke
{
if(auramask & (uint64(1) << i))
{
- *data << uint16(pet->GetUInt32Value(UNIT_FIELD_AURA + i));
+ uint32 updatedAura=pet->GetUInt32Value(UNIT_FIELD_AURA + i);
+ *data << uint16(updatedAura);
*data << uint8(1);
+ if(!updatedAura)
+ pet->UnsetAuraUpdateMask(i);
}
}
}
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index d22266f2e15..36e62831f61 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -886,7 +886,7 @@ void Aura::_AddAura()
UpdateAuraCharges();
// update for out of range group members
- m_target->UpdateAuraForGroup(slot, true);
+ m_target->UpdateAuraForGroup(slot);
}
}
else // use found slot
@@ -973,7 +973,7 @@ void Aura::_RemoveAura()
SetAuraApplication(slot, 0);
// update for out of range group members
- m_target->UpdateAuraForGroup(slot, false);
+ m_target->UpdateAuraForGroup(slot);
if( IsSealSpell(GetSpellProto()) )
m_target->ModifyAuraState(AURA_STATE_JUDGEMENT,false);
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index b830b7b4c7e..3f8eb4ac447 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -12286,7 +12286,7 @@ uint32 Unit::GetCastingTimeForBonus( SpellEntry const *spellProto, DamageEffectT
return CastingTime;
}
-void Unit::UpdateAuraForGroup(uint8 slot, bool apply)
+void Unit::UpdateAuraForGroup(uint8 slot)
{
if(GetTypeId() == TYPEID_PLAYER)
{
@@ -12294,10 +12294,7 @@ void Unit::UpdateAuraForGroup(uint8 slot, bool apply)
if(player->GetGroup())
{
player->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_AURAS);
- if(apply)
- player->SetAuraUpdateMask(slot);
- else
- player->UnsetAuraUpdateMask(slot);
+ player->SetAuraUpdateMask(slot);
}
}
else if(GetTypeId() == TYPEID_UNIT && ((Creature*)this)->isPet())
@@ -12309,10 +12306,7 @@ void Unit::UpdateAuraForGroup(uint8 slot, bool apply)
if(owner && (owner->GetTypeId() == TYPEID_PLAYER) && ((Player*)owner)->GetGroup())
{
((Player*)owner)->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_AURAS);
- if(apply)
- pet->SetAuraUpdateMask(slot);
- else
- pet->UnsetAuraUpdateMask(slot);
+ pet->SetAuraUpdateMask(slot);
}
}
}
diff --git a/src/game/Unit.h b/src/game/Unit.h
index 2f1af0c32d8..c3f5be3adb1 100644
--- a/src/game/Unit.h
+++ b/src/game/Unit.h
@@ -1392,7 +1392,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
void UpdateReactives(uint32 p_time);
// group updates
- void UpdateAuraForGroup(uint8 slot, bool apply);
+ void UpdateAuraForGroup(uint8 slot);
// pet auras
typedef std::set<PetAura const*> PetAuraSet;