aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Reputation/ReputationMgr.cpp
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2011-09-15 17:44:03 +0200
committerQAston <qaston@gmail.com>2011-09-15 17:44:03 +0200
commite07535c3e3b9df05c894557b675ccf95bf7a622b (patch)
tree69af39ede1eb45c822abd0a293b281192208962b /src/server/game/Reputation/ReputationMgr.cpp
parentaf05915b9e36497eda8f2f061c29ffee0c8042b6 (diff)
Core/Entities: Add new functions: Unit::GetReactionTo and Unit::GetFactionReactionTo for more direct reaction checks than Unit::IsFriendly/HostileTo (those functions have many duplicated code and have many checks unrelated to unit reaction).
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.cpp')
-rwxr-xr-xsrc/server/game/Reputation/ReputationMgr.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index 0aaa3da0a38..a82764c62f9 100755
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -39,6 +39,29 @@ ReputationRank ReputationMgr::ReputationToRank(int32 standing)
return MIN_REPUTATION_RANK;
}
+bool ReputationMgr::IsAtWar(uint32 faction_id) const
+{
+ FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id);
+
+ if (!factionEntry)
+ {
+ sLog->outError("ReputationMgr::IsAtWar: Can't get AtWat flag of %s for unknown faction (faction id) #%u.", m_player->GetName(), faction_id);
+ return 0;
+ }
+
+ return IsAtWar(factionEntry);
+}
+
+bool ReputationMgr::IsAtWar(FactionEntry const* factionEntry) const
+{
+ if (!factionEntry)
+ return false;
+
+ if (FactionState const* factionState = GetState(factionEntry))
+ return (factionState->Flags & FACTION_FLAG_AT_WAR);
+ return false;
+}
+
int32 ReputationMgr::GetReputation(uint32 faction_id) const
{
FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id);