#include <string>
#include <iostream>
#include <map>
+#include "itemgroup.h"
struct ToolGroupCap
{
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>()
{}
};
-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
{}
};
-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