From 3e063be39987c4f02addca580cef775fa24506be Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 9 Apr 2015 00:05:31 +0200 Subject: Core/PacketIO: Reimplemented SMSG_SET_FORCED_REACTIONS as a response to client request instead of sending it automatically during map change --- src/server/game/Reputation/ReputationMgr.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/server/game/Reputation/ReputationMgr.cpp') 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) -- cgit v1.2.3