aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRat <none@none>2010-10-24 21:44:58 +0200
committerRat <none@none>2010-10-24 21:44:58 +0200
commit5eb8ea2a5d20982a8847933b98d60270292f38d7 (patch)
tree74d2c6ec167a63588ea4ec42663b76d921a6941e /src
parent88ae092744c265155e4f9cb792804f06e87aec36 (diff)
Core/ConditionMgr: added CONDITION_QUEST_COMPLETE, conditionValue1: questiID, true if player has the quest in the questlog as 'completed'
--HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp7
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 5dc60f909f0..ebfdb2914cc 100755
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -90,6 +90,12 @@ bool Condition::Meets(Player * player, Unit* invoker)
condMeets = (status == QUEST_STATUS_INCOMPLETE);
break;
}
+ case CONDITION_QUEST_COMPLETE:
+ {
+ QuestStatus status = player->GetQuestStatus(mConditionValue1);
+ condMeets = (status == QUEST_STATUS_COMPLETE);
+ break;
+ }
case CONDITION_QUEST_NONE:
{
QuestStatus status = player->GetQuestStatus(mConditionValue1);
@@ -1116,6 +1122,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
case CONDITION_QUESTREWARDED:
case CONDITION_QUESTTAKEN:
case CONDITION_QUEST_NONE:
+ case CONDITION_QUEST_COMPLETE:
{
Quest const *Quest = sObjectMgr.GetQuestTemplate(cond->mConditionValue1);
if (!Quest)
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index da3aa308c9e..5e670f882dd 100755
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -55,7 +55,8 @@ enum ConditionType
CONDITION_SPELL = 25, // spell_id 0 +referenceID true if knows spell
CONDITION_NOITEM = 26, // item_id bank +referenceID true if player does not have any of the item (if 'bank' is set it searches in bank slots too)
CONDITION_LEVEL = 27, // level opt +referenceID true if player's level is equal to param1 (param2 can modify the statement)
- CONDITION_MAX = 28 // MAX
+ CONDITION_QUEST_COMPLETE = 28, // quest_id 0 +referenceID true if player has quest_id with all objectives complete, but not yet rewarded
+ CONDITION_MAX = 29 // MAX
};
enum LevelConditionType