aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 3c084f47b05..b6792a80f4e 100755
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -85,24 +85,24 @@ bool Condition::Meets(Player * player, Unit* invoker)
condMeets = player->HasSkill(mConditionValue1) && player->GetBaseSkillValue(mConditionValue1) >= mConditionValue2;
break;
case CONDITION_QUESTREWARDED:
- condMeets = player->GetQuestRewardStatus(mConditionValue1);
+ condMeets = (player->GetQuestRewardStatus(mConditionValue1) == !mConditionValue2);
break;
case CONDITION_QUESTTAKEN:
{
QuestStatus status = player->GetQuestStatus(mConditionValue1);
- condMeets = (status == QUEST_STATUS_INCOMPLETE);
+ condMeets = ((status == QUEST_STATUS_INCOMPLETE) == !mConditionValue2);
break;
}
case CONDITION_QUEST_COMPLETE:
{
QuestStatus status = player->GetQuestStatus(mConditionValue1);
- condMeets = (status == QUEST_STATUS_COMPLETE && !player->GetQuestRewardStatus(mConditionValue1));
+ condMeets = ((status == QUEST_STATUS_COMPLETE && !player->GetQuestRewardStatus(mConditionValue1)) == !mConditionValue2);
break;
}
case CONDITION_QUEST_NONE:
{
QuestStatus status = player->GetQuestStatus(mConditionValue1);
- condMeets = (status == QUEST_STATUS_NONE);
+ condMeets = ((status == QUEST_STATUS_NONE) == !mConditionValue2);
break;
}
case CONDITION_NO_AURA:
@@ -1145,7 +1145,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
return false;
}
- if (cond->mConditionValue2)
+ if (cond->mConditionValue2 > 1)
sLog->outErrorDb("Quest condition has useless data in value2 (%u)!", cond->mConditionValue2);
break;
}