diff --git a/AxoItemImpl.cpp b/AxoItemImpl.cpp index d9c1b95..ac1204a 100644 --- a/AxoItemImpl.cpp +++ b/AxoItemImpl.cpp @@ -90,6 +90,18 @@ public: return mMiningSpeed; return 1.0f; } + + bool canDestroySpecial(Tile* tile) override { + if (tile == nullptr) return false; + Material* mat = tile->material; + if (mIsPickaxe && (mat == Material::stone || mat == Material::metal || mat == Material::heavyMetal)) + return true; + if (mIsAxe && mat == Material::wood) + return true; + if (mIsShovel && (mat == Material::dirt || mat == Material::sand)) + return true; + return false; + } }; class AxoFoodItem : public FoodItem { @@ -158,6 +170,18 @@ public: return mMiningSpeed; return 1.0f; } + + bool canDestroySpecial(Tile* tile) override { + if (tile == nullptr) return false; + Material* mat = tile->material; + if (mIsPickaxe && (mat == Material::stone || mat == Material::metal || mat == Material::heavyMetal)) + return true; + if (mIsAxe && mat == Material::wood) + return true; + if (mIsShovel && (mat == Material::dirt || mat == Material::sand)) + return true; + return false; + } }; bool AxoItem_CreateFromDef(const AxoItemDef& def) {