diff options
Diffstat (limited to '')
-rw-r--r-- | source/Item.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/source/Item.cpp b/source/Item.cpp index fce4a431b..31a09a608 100644 --- a/source/Item.cpp +++ b/source/Item.cpp @@ -3,6 +3,7 @@ #include "Item.h" #include <json/json.h> +#include "Items/ItemHandler.h" @@ -19,6 +20,20 @@ cItem cItem::CopyOne(void) const +cItem & cItem::AddCount(char a_AmountToAdd) +{ + m_ItemCount += a_AmountToAdd; + if (m_ItemCount <= 0) + { + Empty(); + } + return *this; +} + + + + + short cItem::GetMaxDamage(void) const { switch (m_ItemType) @@ -97,6 +112,25 @@ bool cItem::IsStackableWith(const cItem & a_OtherStack) const +bool cItem::IsFullStack(void) const +{ + return (m_ItemCount >= ItemHandler(m_ItemType)->GetMaxStackSize()); +} + + + + + +/// Returns the cItemHandler responsible for this item type +cItemHandler * cItem::GetHandler(void) const +{ + return ItemHandler(m_ItemType); +} + + + + + void cItem::GetJson(Json::Value & a_OutValue) const { a_OutValue["ID"] = m_ItemType; |