aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Reputation/ReputationMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.cpp')
-rw-r--r--src/server/game/Reputation/ReputationMgr.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index b0c7538da05..9b290df79ee 100644
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -168,7 +168,7 @@ void ReputationMgr::SendForceReactions()
void ReputationMgr::SendState(FactionState const* faction)
{
- uint32 count = 1;
+ uint32 count = faction ? 1 : 0;
WorldPacket data(SMSG_SET_FACTION_STANDING, 17);
data << float(0);
@@ -178,15 +178,18 @@ void ReputationMgr::SendState(FactionState const* faction)
size_t p_count = data.wpos();
data << uint32(count);
- data << uint32(faction->ReputationListID);
- data << uint32(faction->Standing);
+ if (faction)
+ {
+ data << uint32(faction->ReputationListID);
+ data << uint32(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)
+ if (!faction || itr->second.ReputationListID != faction->ReputationListID)
{
data << uint32(itr->second.ReputationListID);
data << uint32(itr->second.Standing);
@@ -235,12 +238,6 @@ void ReputationMgr::SendInitialReputations()
_player->SendDirectMessage(&data);
}
-void ReputationMgr::SendStates()
-{
- for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr)
- SendState(&(itr->second));
-}
-
void ReputationMgr::SendVisible(FactionState const* faction) const
{
if (_player->GetSession()->PlayerLoading())