diff options
Diffstat (limited to 'source/cItem.h')
-rw-r--r-- | source/cItem.h | 53 |
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 |