aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Reputation/ReputationMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-09 00:05:31 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-09 00:05:31 +0200
commit3e063be39987c4f02addca580cef775fa24506be (patch)
tree6b7cb014b8e672e1ec3619b036019b5da988fff2 /src/server/game/Reputation/ReputationMgr.cpp
parente651dbec0ebb7e864c837741977f0412ec068281 (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.cpp15
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)