diff options
author | Rat <none@none> | 2010-09-30 22:41:19 +0200 |
---|---|---|
committer | Rat <none@none> | 2010-09-30 22:41:19 +0200 |
commit | 0857c18af8d189c953295dbc1cb481eb00b70232 (patch) | |
tree | 6db1d0a8e5c40639eb7c716860ab7cc38f0cc035 /src/server/game/Conditions/ConditionMgr.cpp | |
parent | 84a29b2d351c07868ec150efcf15263f373fe9d7 (diff) |
Code/ConditionMgr: added condition_NOITEM (26) value1: item.entry value2: 0/1 if 1 it searches player's bank too
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index ea4f49767f9..567653f2be7 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -165,6 +165,9 @@ bool Condition::Meets(Player * player, Unit* invoker) case CONDITION_SPELL: condMeets = player->HasSpell(mConditionValue1); break; + case CONDITION_NOITEM: + condMeets = !player->HasItemCount(mConditionValue1, 1, mConditionValue2 ? true : false); + break; default: condMeets = false; refId = 0; @@ -1249,6 +1252,16 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) sLog.outErrorDb("Spell condition has useless data in value2 (%u)!", cond->mConditionValue2); break; } + case CONDITION_NOITEM: + { + ItemPrototype const *proto = sObjectMgr.GetItemPrototype(cond->mConditionValue1); + if (!proto) + { + sLog.outErrorDb("NoItem condition has non existing item (%u), skipped", cond->mConditionValue1); + return false; + } + break; + } case CONDITION_AREAID: case CONDITION_INSTANCE_DATA: break; |