aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-07-26 20:55:24 +0200
committerShauren <shauren.trinity@gmail.com>2016-07-26 20:55:24 +0200
commit83555367a786230fcd5ed3672e1ff3eac42c6f68 (patch)
treeb199412f587a5207ea44c4d9623a4d3a5e9f6f1a /src/server/game/Server
parent060256000b1a553a21581b9b65e12f7cb034e148 (diff)
Core/Auras: Visibility changes
* Changed max visible aura amount to 255 * All auras are now sent to clients, many passives that client needed to see were incorrectly hidden (also client properly filters aura bar by itself)
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp64
1 files changed, 29 insertions, 35 deletions
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index 91b6ca4e18d..686123de4d6 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -600,30 +600,27 @@ void WorldPackets::Party::PartyMemberState::Initialize(Player const* player)
MemberStats.VehicleSeat = player->GetVehicle()->GetVehicleInfo()->SeatID[player->m_movementInfo.transport.seat];
// Auras
- for (uint8 i = 0; i < MAX_AURAS; ++i)
+ for (AuraApplication const* aurApp : player->GetVisibleAuras())
{
- if (AuraApplication const* aurApp = player->GetVisibleAura(i))
- {
- WorldPackets::Party::PartyMemberAuraStates aura;
+ WorldPackets::Party::PartyMemberAuraStates aura;
- aura.SpellID = aurApp->GetBase()->GetId();
- aura.ActiveFlags = aurApp->GetEffectMask();
- aura.Flags = aurApp->GetFlags();
+ aura.SpellID = aurApp->GetBase()->GetId();
+ aura.ActiveFlags = aurApp->GetEffectMask();
+ aura.Flags = aurApp->GetFlags();
- if (aurApp->GetFlags() & AFLAG_SCALABLE)
+ if (aurApp->GetFlags() & AFLAG_SCALABLE)
+ {
+ for (AuraEffect const* aurEff : aurApp->GetBase()->GetAuraEffects())
{
- for (AuraEffect const* aurEff : aurApp->GetBase()->GetAuraEffects())
- {
- if (!aurEff)
- continue;
+ if (!aurEff)
+ continue;
- if (aurApp->HasEffect(aurEff->GetEffIndex()))
- aura.Points.push_back(float(aurEff->GetAmount()));
- }
+ if (aurApp->HasEffect(aurEff->GetEffIndex()))
+ aura.Points.push_back(float(aurEff->GetAmount()));
}
-
- MemberStats.Auras.push_back(aura);
}
+
+ MemberStats.Auras.push_back(aura);
}
// Phases
@@ -652,30 +649,27 @@ void WorldPackets::Party::PartyMemberState::Initialize(Player const* player)
MemberStats.PetStats->CurrentHealth = pet->GetHealth();
MemberStats.PetStats->MaxHealth = pet->GetMaxHealth();
- for (uint8 i = 0; i < MAX_AURAS; ++i)
+ for (AuraApplication const* aurApp : pet->GetVisibleAuras())
{
- if (AuraApplication const* aurApp = pet->GetVisibleAura(i))
- {
- WorldPackets::Party::PartyMemberAuraStates aura;
+ WorldPackets::Party::PartyMemberAuraStates aura;
- aura.SpellID = aurApp->GetBase()->GetId();
- aura.ActiveFlags = aurApp->GetEffectMask();
- aura.Flags = aurApp->GetFlags();
+ aura.SpellID = aurApp->GetBase()->GetId();
+ aura.ActiveFlags = aurApp->GetEffectMask();
+ aura.Flags = aurApp->GetFlags();
- if (aurApp->GetFlags() & AFLAG_SCALABLE)
+ if (aurApp->GetFlags() & AFLAG_SCALABLE)
+ {
+ for (AuraEffect const* aurEff : aurApp->GetBase()->GetAuraEffects())
{
- for (AuraEffect const* aurEff : aurApp->GetBase()->GetAuraEffects())
- {
- if (!aurEff)
- continue;
-
- if (aurApp->HasEffect(aurEff->GetEffIndex()))
- aura.Points.push_back(float(aurEff->GetAmount()));
- }
- }
+ if (!aurEff)
+ continue;
- MemberStats.PetStats->Auras.push_back(aura);
+ if (aurApp->HasEffect(aurEff->GetEffIndex()))
+ aura.Points.push_back(float(aurEff->GetAmount()));
+ }
}
+
+ MemberStats.PetStats->Auras.push_back(aura);
}
}
}