aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-08 15:32:12 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-08 15:32:12 +0100
commit5bf9a016480c22278beec2620743a664ede3773f (patch)
tree9f43de829d2a581ef2bb23d18851fe1410ece7d1 /src/server/game/Conditions/ConditionMgr.cpp
parent7efc3df8150859519968740f265d9ba4b456beb7 (diff)
Core/Conditions: Add missing null checks for PlayerCondition
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index a444c379bee..dd3f03090ae 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -2879,7 +2879,7 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio
if (*forcedRank > ReputationRank(condition->MaxReputation))
return false;
}
- else if (player->GetReputationRank(condition->MaxFactionID) > ReputationRank(condition->MaxReputation))
+ else if (sFactionStore.HasRecord(condition->MaxReputation) && player->GetReputationRank(condition->MaxFactionID) > ReputationRank(condition->MaxReputation))
return false;
}
else
@@ -2888,7 +2888,7 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio
results.fill(true);
for (std::size_t i = 0; i < condition->MinFactionID.size(); ++i)
{
- if (condition->MinFactionID[i])
+ if (sFactionStore.HasRecord(condition->MinFactionID[i]))
{
if (ReputationRank const* forcedRank = player->GetReputationMgr().GetForcedRankIfAny(condition->MinFactionID[i]))
results[i] = *forcedRank >= ReputationRank(condition->MinReputation[i]);
@@ -2899,7 +2899,7 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio
if (ReputationRank const* forcedRank = player->GetReputationMgr().GetForcedRankIfAny(condition->MaxFactionID))
results[3] = *forcedRank <= ReputationRank(condition->MaxReputation);
- else
+ else if (sFactionStore.HasRecord(condition->MaxReputation))
results[3] = player->GetReputationRank(condition->MaxFactionID) <= ReputationRank(condition->MaxReputation);
if (!PlayerConditionLogic(condition->ReputationLogic, results))