diff options
-rwxr-xr-x | src/server/game/Conditions/ConditionMgr.cpp | 10 |
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; } |