aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Reputation/ReputationMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-03-07 23:26:54 +0100
committerShauren <shauren.trinity@gmail.com>2016-03-07 23:26:54 +0100
commit95d3156f950c49998b63bd42db55121db3123315 (patch)
tree8a645ba2d88e901857a88c80004bdc3b61861162 /src/server/game/Reputation/ReputationMgr.cpp
parent9c454385c304186a411732ae14cab9e0f22a1ce5 (diff)
Core/PacketIO: Updated and enabled SMSG_SET_FACTION_STANDING
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.cpp')
-rw-r--r--src/server/game/Reputation/ReputationMgr.cpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index 463a7783970..be0714b2747 100644
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -174,35 +174,24 @@ void ReputationMgr::SendForceReactions()
void ReputationMgr::SendState(FactionState const* faction)
{
- uint32 count = 1;
-
- WorldPacket data(SMSG_SET_FACTION_STANDING, 17);
- data << float(0);
- data << uint8(_sendFactionIncreased);
- _sendFactionIncreased = false; // Reset
-
- size_t p_count = data.wpos();
- data << uint32(count);
-
- data << uint32(faction->ReputationListID);
- data << uint32(faction->Standing);
-
+ WorldPackets::Reputation::SetFactionStanding setFactionStanding;
+ setFactionStanding.ReferAFriendBonus = 0.0f;
+ setFactionStanding.BonusFromAchievementSystem = 0.0f;
+ setFactionStanding.Faction.emplace_back(int32(faction->ReputationListID), faction->Standing);
for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr)
{
if (itr->second.needSend)
{
itr->second.needSend = false;
if (itr->second.ReputationListID != faction->ReputationListID)
- {
- data << uint32(itr->second.ReputationListID);
- data << uint32(itr->second.Standing);
- ++count;
- }
+ setFactionStanding.Faction.emplace_back(int32(itr->second.ReputationListID), itr->second.Standing);
}
}
- data.put<uint32>(p_count, count);
- _player->SendDirectMessage(&data);
+ setFactionStanding.ShowVisual = _sendFactionIncreased;
+ _player->SendDirectMessage(setFactionStanding.Write());
+
+ _sendFactionIncreased = false; // Reset
}
void ReputationMgr::SendInitialReputations()