summaryrefslogtreecommitdiffstats
path: root/source/Item.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/Item.cpp34
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;