From c6b4ee8c9fb597b6f87f4cb756f43d5548ab2d66 Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Wed, 28 Dec 2011 21:00:35 +0000 Subject: - implemented the fire simulation in native c++ (cFireSimulator) - Changed the Durationsystem for Items. cPlayer::UseEquippedItem calls cItem::DamageItem this function damages the item if it has a duration. (needed the duration also in another place so this saves code ;)) - added some other burning blocks - the mobtypes for the settings.ini which i must have forgotten in the last commit git-svn-id: http://mc-server.googlecode.com/svn/trunk@150 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cItem.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'source/cItem.h') 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 -- cgit v1.2.3