]> git.lizzy.rs Git - minetest.git/blobdiff - src/tool.h
Menu tuning WIP
[minetest.git] / src / tool.h
index cc2401a0d49637e043396798d7f6d7112677bb53..35b05f04188cda6393a4c35e78bf199204a3f0d1 100644 (file)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 #include <iostream>
 #include <map>
+#include "itemgroup.h"
 
 struct ToolGroupCap
 {
@@ -55,7 +56,7 @@ struct ToolCapabilities
        std::map<std::string, ToolGroupCap> groupcaps;
 
        ToolCapabilities(
-                       float full_punch_interval_=3.0,
+                       float full_punch_interval_=1.4,
                        int max_drop_level_=1,
                        std::map<std::string, ToolGroupCap> groupcaps_ =
                                        std::map<std::string, ToolGroupCap>()
@@ -84,10 +85,10 @@ struct DigParams
        {}
 };
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch);
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp);
 
 struct HitParams
@@ -101,11 +102,33 @@ struct HitParams
        {}
 };
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch);
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp);
 
+struct PunchDamageResult
+{
+       bool did_punch;
+       int damage;
+       int wear;
+
+       PunchDamageResult():
+               did_punch(false),
+               damage(0),
+               wear(0)
+       {}
+};
+
+struct ItemStack;
+
+PunchDamageResult getPunchDamage(
+               const ItemGroupList &armor_groups,
+               const ToolCapabilities *toolcap,
+               const ItemStack *punchitem,
+               float time_from_last_punch
+);
+
 #endif