diff options
Diffstat (limited to 'src/Items/ItemSword.h')
-rw-r--r-- | src/Items/ItemSword.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/Items/ItemSword.h b/src/Items/ItemSword.h index 44feb2d83..2b2dbfc0d 100644 --- a/src/Items/ItemSword.h +++ b/src/Items/ItemSword.h @@ -12,18 +12,24 @@ class cItemSwordHandler : public cItemHandler { + typedef cItemHandler super; public: cItemSwordHandler(int a_ItemType) : cItemHandler(a_ItemType) { - } - + + virtual bool CanHarvestBlock(BLOCKTYPE a_BlockType) override { - return (a_BlockType == E_BLOCK_COBWEB); + if (a_BlockType == E_BLOCK_COBWEB) + { + return true; + } + return super::CanHarvestBlock(a_BlockType); } + virtual bool CanRepairWithRawMaterial(short a_ItemType) override { switch (m_ItemType) @@ -36,6 +42,17 @@ public: } return false; } + + + virtual short GetDurabilityLossByAction(eDurabilityLostAction a_Action) override + { + switch ((int)a_Action) + { + case dlaAttackEntity: return 1; + case dlaBreakBlock: return 2; + } + return 0; + } } ; |