From 02440eaa106834edbf36cedad13a3badc6a09abe Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 25 Mar 2009 16:04:08 -0600 Subject: [7538] Hide some implementation details for reputation/forced faction reaction. Author: VladimirMangos --HG-- branch : trunk --- src/game/Unit.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'src/game/Unit.cpp') diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index c32004d647e..3f628146607 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7875,9 +7875,8 @@ bool Unit::IsHostileTo(Unit const* unit) const // forced reaction if(target_faction->faction) { - ForcedReactions::const_iterator forceItr = ((Player*)tester)->m_forcedReactions.find(target_faction->faction); - if(forceItr!=((Player*)tester)->m_forcedReactions.end()) - return forceItr->second <= REP_HOSTILE; + if(ReputationRank const* force =((Player*)tester)->GetForcedRankIfAny(target_faction)) + return *force <= REP_HOSTILE; // if faction have reputation then hostile state for tester at 100% dependent from at_war state if(FactionEntry const* raw_target_faction = sFactionStore.LookupEntry(target_faction->faction)) @@ -7892,9 +7891,8 @@ bool Unit::IsHostileTo(Unit const* unit) const // forced reaction if(tester_faction->faction) { - ForcedReactions::const_iterator forceItr = ((Player const*)target)->m_forcedReactions.find(tester_faction->faction); - if(forceItr!=((Player const*)target)->m_forcedReactions.end()) - return forceItr->second <= REP_HOSTILE; + if(ReputationRank const* force = ((Player*)target)->GetForcedRankIfAny(tester_faction)) + return *force <= REP_HOSTILE; // apply reputation state FactionEntry const* raw_tester_faction = sFactionStore.LookupEntry(tester_faction->faction); @@ -7990,9 +7988,8 @@ bool Unit::IsFriendlyTo(Unit const* unit) const // forced reaction if(target_faction->faction) { - ForcedReactions::const_iterator forceItr = ((Player const*)tester)->m_forcedReactions.find(target_faction->faction); - if(forceItr!=((Player const*)tester)->m_forcedReactions.end()) - return forceItr->second >= REP_FRIENDLY; + if(ReputationRank const* force =((Player*)tester)->GetForcedRankIfAny(target_faction)) + return *force >= REP_FRIENDLY; // if faction have reputation then friendly state for tester at 100% dependent from at_war state if(FactionEntry const* raw_target_faction = sFactionStore.LookupEntry(target_faction->faction)) @@ -8007,9 +8004,8 @@ bool Unit::IsFriendlyTo(Unit const* unit) const // forced reaction if(tester_faction->faction) { - ForcedReactions::const_iterator forceItr = ((Player const*)target)->m_forcedReactions.find(tester_faction->faction); - if(forceItr!=((Player const*)target)->m_forcedReactions.end()) - return forceItr->second >= REP_FRIENDLY; + if(ReputationRank const* force =((Player*)target)->GetForcedRankIfAny(tester_faction)) + return *force >= REP_FRIENDLY; // apply reputation state if(FactionEntry const* raw_tester_faction = sFactionStore.LookupEntry(tester_faction->faction)) -- cgit v1.2.3