summaryrefslogtreecommitdiff
path: root/builtin/game/register.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/game/register.lua')
-rw-r--r--builtin/game/register.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/builtin/game/register.lua b/builtin/game/register.lua
index bed269dbb..bfad6845c 100644
--- a/builtin/game/register.lua
+++ b/builtin/game/register.lua
@@ -256,6 +256,18 @@ function core.register_tool(name, tooldef)
end
-- END Legacy stuff
+ -- This isn't just legacy, but more of a convenience feature
+ local toolcaps = tooldef.tool_capabilities
+ if toolcaps and toolcaps.punch_attack_uses == nil then
+ for _, cap in pairs(toolcaps.groupcaps or {}) do
+ local level = (cap.maxlevel or 0) - 1
+ if (cap.uses or 0) ~= 0 and level >= 0 then
+ toolcaps.punch_attack_uses = cap.uses * (3 ^ level)
+ break
+ end
+ end
+ end
+
core.register_item(name, tooldef)
end