Fix incorrect `tool_capabilities` (#44)

Fixes incorrectly defined damage_groups in the tool_capabilities of all tools, and full_punch_interval of shovels.

Also fixes crash happening after a9bd9dc when toolranks mod is used.
This commit is contained in:
OgelGames 2021-10-04 02:03:29 +11:00 committed by GitHub
parent a9bd9dc84a
commit cad7278522
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 26 deletions

View File

@ -178,32 +178,26 @@ local function add_ore(modname, description, mineral_name, oredef)
inventory_image = toolimg_base .. tool_name .. ".png", inventory_image = toolimg_base .. tool_name .. ".png",
tool_capabilities = { tool_capabilities = {
max_drop_level = 3, max_drop_level = 3,
groupcaps = tooldef, groupcaps = tooldef.groupcaps,
damage_groups = tooldef.damage_groups,
full_punch_interval = oredef.full_punch_interval,
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
} }
if tool_name == "sword" then if tool_name == "sword" then
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.tools.sword.damage_groups
tdef.description = S("@1 Sword", S(description)) tdef.description = S("@1 Sword", S(description))
end end
if tool_name == "pick" then if tool_name == "pick" then
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.tools.pick.damage_groups
tdef.description = S("@1 Pickaxe", S(description)) tdef.description = S("@1 Pickaxe", S(description))
end end
if tool_name == "axe" then if tool_name == "axe" then
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.tools.axe.damage_groups
tdef.description = S("@1 Axe", S(description)) tdef.description = S("@1 Axe", S(description))
end end
if tool_name == "shovel" then if tool_name == "shovel" then
tdef.full_punch_interval = oredef.full_punch_interval
tdef.tool_capabilities.damage_groups = oredef.tools.shovel.damage_groups
tdef.description = S("@1 Shovel", S(description)) tdef.description = S("@1 Shovel", S(description))
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90" tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
end end
@ -211,7 +205,7 @@ local function add_ore(modname, description, mineral_name, oredef)
local fulltool_name = tool_base .. tool_name .. tool_post local fulltool_name = tool_base .. tool_name .. tool_post
if tool_name == "hoe" and minetest.get_modpath("farming") then if tool_name == "hoe" and minetest.get_modpath("farming") then
tdef.max_uses = tooldef.uses tdef.max_uses = tooldef.max_uses
tdef.description = S("@1 Hoe", S(description)) tdef.description = S("@1 Hoe", S(description))
farming.register_hoe(fulltool_name, tdef) farming.register_hoe(fulltool_name, tdef)
end end
@ -259,25 +253,33 @@ local oredefs = {
}, },
tools = { tools = {
pick = { pick = {
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel = 1}, groupcaps = {
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 4}, damage_groups = {fleshy = 4},
}, },
hoe = { hoe = {
uses = 300, max_uses = 300,
}, },
shovel = { shovel = {
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1}, groupcaps = {
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 3}, damage_groups = {fleshy = 3},
}, },
axe = { axe = {
choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 100, maxlevel = 1}, groupcaps = {
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel = 1}, choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 100, maxlevel = 1},
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel = 1},
},
damage_groups = {fleshy = 5}, damage_groups = {fleshy = 5},
}, },
sword = { sword = {
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1}, groupcaps = {
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1}, fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1},
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel = 0}, snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1},
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel = 0},
},
damage_groups = {fleshy = 6}, damage_groups = {fleshy = 6},
}, },
}, },
@ -295,25 +297,33 @@ local oredefs = {
}, },
tools = { tools = {
pick = { pick = {
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 3}, groupcaps = {
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 3},
},
damage_groups = {fleshy = 6}, damage_groups = {fleshy = 6},
}, },
hoe = { hoe = {
uses = 1000, max_uses = 1000,
}, },
shovel = { shovel = {
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 3}, groupcaps = {
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 3},
},
damage_groups = {fleshy = 5}, damage_groups = {fleshy = 5},
}, },
axe = { axe = {
choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel = 3}, groupcaps = {
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel = 2}, choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel = 3},
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel = 2},
},
damage_groups = {fleshy = 8}, damage_groups = {fleshy = 8},
}, },
sword = { sword = {
fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel = 2}, groupcaps = {
snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.25}, uses = 200, maxlevel = 3}, fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel = 2},
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel = 0}, snappy = {times = {[1] = 1.70, [2] = 0.70, [3] = 0.25}, uses = 200, maxlevel = 3},
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel = 0},
},
damage_groups = {fleshy = 10}, damage_groups = {fleshy = 10},
}, },
}, },