diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-04-09 00:05:31 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-04-09 00:05:31 +0200 |
commit | 3e063be39987c4f02addca580cef775fa24506be (patch) | |
tree | 6b7cb014b8e672e1ec3619b036019b5da988fff2 /src/server/game/Reputation/ReputationMgr.cpp | |
parent | e651dbec0ebb7e864c837741977f0412ec068281 (diff) |
Core/PacketIO: Reimplemented SMSG_SET_FORCED_REACTIONS as a response to client request instead of sending it automatically during map change
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.cpp')
-rw-r--r-- | src/server/game/Reputation/ReputationMgr.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index d2fdc9b1da8..48f3bf79088 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -157,15 +157,18 @@ uint32 ReputationMgr::GetDefaultStateFlags(FactionEntry const* factionEntry) con void ReputationMgr::SendForceReactions() { - WorldPacket data; - data.Initialize(SMSG_SET_FORCED_REACTIONS, 4+_forcedReactions.size()*(4+4)); - data << uint32(_forcedReactions.size()); + WorldPackets::Reputation::SetForcedReactions setForcedReactions; + setForcedReactions.Reactions.resize(_forcedReactions.size()); + + std::size_t i = 0; for (ForcedReactions::const_iterator itr = _forcedReactions.begin(); itr != _forcedReactions.end(); ++itr) { - data << uint32(itr->first); // faction_id (Faction.dbc) - data << uint32(itr->second); // reputation rank + WorldPackets::Reputation::ForcedReaction& forcedReaction = setForcedReactions.Reactions[i++]; + forcedReaction.Faction = int32(itr->first); + forcedReaction.Reaction = int32(itr->second); } - _player->SendDirectMessage(&data); + + _player->SendDirectMessage(setForcedReactions.Write()); } void ReputationMgr::SendState(FactionState const* faction) |