summaryrefslogtreecommitdiffstats
path: root/source/cItem.h
diff options
context:
space:
mode:
authorlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-28 22:00:35 +0100
committerlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-28 22:00:35 +0100
commitc6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66 (patch)
treef223c11d65a1b0983651c7a2644149219b5f3617 /source/cItem.h
parent - Fixed too fast actions kick for real (diff)
downloadcuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar.gz
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar.bz2
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar.lz
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar.xz
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.tar.zst
cuberite-c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66.zip
Diffstat (limited to 'source/cItem.h')
-rw-r--r--source/cItem.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/source/cItem.h b/source/cItem.h
index c58079e87..c1b62495e 100644
--- a/source/cItem.h
+++ b/source/cItem.h
@@ -33,6 +33,58 @@ public:
return ( (m_ItemID == a_Item.m_ItemID) && (m_ItemHealth == a_Item.m_ItemHealth) );
} //tolua_export
+ //TODO Sorry for writing the functions in the header. But somehow it doesn´t worked when I put them into the cpp File :s
+
+ inline int GetMaxDuration()
+ {
+ switch(m_ItemID)
+ {
+ case 256: return 251;
+ case 257: return 251;
+ case 258: return 251;
+ case 259: return 65; //Lighter / Flint and Steel
+ case 267: return 251;
+ case 268: return 60;
+ case 269: return 60;
+ case 270: return 60;
+ case 271: return 60;
+ case 272: return 132;
+ case 273: return 132;
+ case 274: return 132;
+ case 275: return 132;
+ case 276: return 1563;
+ case 277: return 1563;
+ case 278: return 1563;
+ case 279: return 1563;
+ case 283: return 32;
+ case 284: return 32;
+ case 285: return 32;
+ case 286: return 32;
+ case 290: return 60;
+ case 291: return 132;
+ case 292: return 251;
+ case 293: return 1563;
+ case 294: return 32;
+ case 359: return 251;
+ default: return 0;
+ }
+ }
+
+ //Damages a weapon. Returns true when destroyed
+ inline bool DamageItem() {
+ if(HasDuration())
+ {
+ m_ItemHealth++;
+
+ if(m_ItemHealth >= GetMaxDuration())
+ return true;
+
+ }
+ return false;
+ }
+
+ inline bool HasDuration() { return GetMaxDuration() > 0; }
+
void GetJson( Json::Value & a_OutValue ); //tolua_export
void FromJson( const Json::Value & a_Value ); //tolua_export
@@ -41,4 +93,5 @@ public:
ENUM_ITEM_ID m_ItemID; //tolua_export
char m_ItemCount; //tolua_export
short m_ItemHealth; //tolua_export
+
}; //tolua_export \ No newline at end of file