aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2012-02-10 16:47:22 +0100
committerQAston <qaston@gmail.com>2012-02-10 16:47:58 +0100
commit586a76e3a0345a86f0e372f59aef082580bd266a (patch)
tree5f03891228bcdba9c6986a49c0a81f540a894568 /src/server/game/Conditions/ConditionMgr.cpp
parent05b18ca9ba81c9a6a656e4476e132807489894bf (diff)
Core/Db/Conditions: Add 3rd parameter to CONDITION_ITEM so it can now perform a check if item exists in bank aswell as in equipment.
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index e2027e8884e..9391636c619 100755
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -61,7 +61,12 @@ bool Condition::Meets(WorldObject* object, WorldObject* invoker)
case CONDITION_ITEM:
{
if (Player* player = object->ToPlayer())
- condMeets = (mConditionValue2 && player->HasItemCount(mConditionValue1, mConditionValue2)) || (!mConditionValue2 && !player->HasItemCount(mConditionValue1, mConditionValue2));//HasItemCount returns false if 0 count is used
+ {
+ // don't allow 0 items (it's checked during table load)
+ ASSERT(mConditionValue2);
+ bool checkBank = mConditionValue3 ? true : false;
+ condMeets = player->HasItemCount(mConditionValue1, mConditionValue2, checkBank);
+ }
break;
}
case CONDITION_ITEM_EQUIPPED:
@@ -1142,8 +1147,6 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
sLog->outErrorDb("Item condition has 0 set for item count in value2 (%u), skipped", cond->mConditionValue2);
return false;
}
- if (cond->mConditionValue3)
- sLog->outErrorDb("Item condition has useless data in value3 (%u)!", cond->mConditionValue3);
break;
}
case CONDITION_ITEM_EQUIPPED: