diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-03-07 23:26:54 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-03-07 23:26:54 +0100 |
commit | 95d3156f950c49998b63bd42db55121db3123315 (patch) | |
tree | 8a645ba2d88e901857a88c80004bdc3b61861162 /src/server/game/Reputation/ReputationMgr.cpp | |
parent | 9c454385c304186a411732ae14cab9e0f22a1ce5 (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.cpp | 29 |
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() |