Introduce Thirst and Pruner buffs; Debug Buff buff now does nothing
parent
c9d59a25fc
commit
02240ed601
|
@ -28,8 +28,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
coal_lump = {
|
||||
axe = "debug",
|
||||
|
@ -37,8 +37,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
iron_lump = {
|
||||
axe = "debug",
|
||||
|
@ -46,8 +46,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
sapling = {
|
||||
axe = "debug",
|
||||
|
@ -55,8 +55,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
mese_crystal = {
|
||||
axe = "debug",
|
||||
|
@ -64,8 +64,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
copper_lump = {
|
||||
axe = "debug",
|
||||
|
@ -73,8 +73,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
diamond = {
|
||||
axe = "debug",
|
||||
|
@ -82,8 +82,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
gold_lump = {
|
||||
axe = "debug",
|
||||
|
@ -91,8 +91,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
junglesapling = {
|
||||
axe = "debug",
|
||||
|
@ -100,8 +100,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
seed_cotton = {
|
||||
axe = "debug",
|
||||
|
@ -109,8 +109,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
seed_wheat = {
|
||||
axe = "debug",
|
||||
|
@ -118,8 +118,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
string = {
|
||||
axe = "debug",
|
||||
|
@ -127,8 +127,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
wheat = {
|
||||
axe = "debug",
|
||||
|
@ -136,8 +136,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
cotton = {
|
||||
axe = "debug",
|
||||
|
@ -145,8 +145,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
pine_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -154,8 +154,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
acacia_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -163,8 +163,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
mushroom_brown = {
|
||||
axe = "debug",
|
||||
|
@ -172,8 +172,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
mushroom_red = {
|
||||
axe = "debug",
|
||||
|
@ -181,8 +181,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
mushroom_spores_brown = {
|
||||
axe = "debug",
|
||||
|
@ -190,8 +190,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
mushroom_spores_red = {
|
||||
axe = "debug",
|
||||
|
@ -199,8 +199,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
aspen_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -208,8 +208,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
flint = {
|
||||
axe = "debug",
|
||||
|
@ -217,8 +217,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
coral_skeleton = {
|
||||
axe = "debug",
|
||||
|
@ -226,8 +226,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
acacia_bush_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -235,8 +235,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
bush_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -244,8 +244,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
tin_lump = {
|
||||
axe = "debug",
|
||||
|
@ -253,8 +253,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
blueberries = {
|
||||
axe = "debug",
|
||||
|
@ -262,8 +262,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
blueberry_bush_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -271,8 +271,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
ice = {
|
||||
axe = "debug",
|
||||
|
@ -280,8 +280,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
pine_bush_sapling = {
|
||||
axe = "debug",
|
||||
|
@ -289,8 +289,8 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "thirst",
|
||||
sword = "thirst",
|
||||
},
|
||||
dry_dirt = {
|
||||
axe = "debug",
|
||||
|
@ -298,7 +298,7 @@ return {
|
|||
pick = "debug",
|
||||
hoe = "debug",
|
||||
screwdriver = "debug",
|
||||
shovel = "debug",
|
||||
sword = "debug",
|
||||
shovel = "pruner",
|
||||
sword = "pruner",
|
||||
},
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ liblevelup.register.startup_function(function()
|
|||
if drops.node_dug and force_drop[drops.node_dug] then
|
||||
local tool = digger:get_wielded_item()
|
||||
if force_drop[drops.node_dug].tool == tool:get_name()
|
||||
and tool:get_meta():get("debug") then
|
||||
and tool:get_meta():get("thirst") then
|
||||
drops[1] = force_drop[drops.node_dug].drop
|
||||
end
|
||||
end
|
|
@ -0,0 +1,37 @@
|
|||
minetest.register_chatcommand("updatetool", {
|
||||
description = "Fix a shovel or sword that has the debug buff.",
|
||||
func = function(name, arg)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local tool = player:get_wielded_item()
|
||||
local tool_type = tool:get_name()
|
||||
local meta = tool:get_meta()
|
||||
-- Currently, a feature in the stable version but not the development
|
||||
-- version of Minetest prevents setting the value to integer zero from
|
||||
-- working correctly, but setting to string zero should work just fine.
|
||||
local debug_level = tonumber(meta:get_string("debug"))
|
||||
if debug_level then
|
||||
if tool_type == "runes:shovel" then
|
||||
meta:set_string("thirst", debug_level)
|
||||
meta:set_string("debug") -- set to nil to remove key/value pair
|
||||
local description = minetest.registered_tools["runes:shovel"].description.."\nRepair count: "..meta:get_int("repair").."\nThirst ("..debug_level..")"
|
||||
meta:set_string("description", description)
|
||||
player:set_wielded_item(tool)
|
||||
elseif tool_type == "runes:sword" then
|
||||
local thirst = math.ceil((debug_level - 1) / 2)
|
||||
local pruner = math.floor((debug_level - 1) / 2)
|
||||
local description = minetest.registered_tools["runes:shovel"].description.."\nRepair count: "..meta:get_int("repair")
|
||||
if thirst > -1 then
|
||||
meta:set_string("thirst", thirst)
|
||||
description = description.."\nThirst ("..thirst..")"
|
||||
end
|
||||
if pruner > -1 then
|
||||
meta:set_string("pruner", pruner)
|
||||
description = description.."\nPruner ("..pruner..")"
|
||||
end
|
||||
meta:set_string("debug") -- set to nil to remove key/value pair
|
||||
meta:set_string("description", description)
|
||||
player:set_wielded_item(tool)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
|
@ -18,4 +18,5 @@
|
|||
dofile(minetest.get_modpath("runes").."/runes.lua")
|
||||
dofile(minetest.get_modpath("runes").."/tools.lua")
|
||||
dofile(minetest.get_modpath("runes").."/tool_crafting.lua")
|
||||
dofile(minetest.get_modpath("runes").."/debug_buff.lua")
|
||||
dofile(minetest.get_modpath("runes").."/buffs/thirst.lua")
|
||||
dofile(minetest.get_modpath("runes").."/debug.lua")
|
||||
|
|
|
@ -48,6 +48,8 @@ local rune_and_tool_to_buff = dofile(minetest.get_modpath("runes").."/buff_table
|
|||
|
||||
local buff_name = {
|
||||
debug = S("Debug Buff"),
|
||||
thirst = S("Thirst"),
|
||||
pruner = S("Pruner"),
|
||||
}
|
||||
|
||||
local rune_element_modname = {
|
||||
|
@ -140,7 +142,11 @@ local function generate_tool(tool_name, player_name, runes)
|
|||
end
|
||||
for buff, strength in next, buffs do
|
||||
if strength > -1 then
|
||||
meta:set_int(buff, strength)
|
||||
-- Currently, a feature in the stable version but not the development
|
||||
-- version of Minetest prevents setting the value to integer zero from
|
||||
-- working correctly, but setting to string zero should work just fine.
|
||||
-- meta:set_int(buff, strength)
|
||||
meta:set_string(buff, strength)
|
||||
description = description.."\n"..buff_name[buff].." ("..strength..")"
|
||||
end
|
||||
end
|
||||
|
@ -300,7 +306,11 @@ local function calculate_craft_result(itemstack, player, old_craft_grid, craft_i
|
|||
strength = strength + 1 + meta1:get_int(buff)
|
||||
end
|
||||
if strength > -1 then
|
||||
meta:set_int(buff, strength)
|
||||
-- Currently, a feature in the stable version but not the development
|
||||
-- version of Minetest prevents setting the value to integer zero from
|
||||
-- working correctly, but setting to string zero should work just fine.
|
||||
-- meta:set_int(buff, strength)
|
||||
meta:set_string(buff, strength)
|
||||
description = description.."\n"..name.." ("..strength..")"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -220,7 +220,7 @@ minetest.register_tool("runes:sword", {
|
|||
and minetest.registered_nodes[potential_log.name].on_rightclick then
|
||||
return minetest.registered_nodes[potential_log.name].on_rightclick(pointed_thing.under, potential_log, user, itemstack, pointed_thing)
|
||||
elseif prunable_trunk[potential_log.name] then
|
||||
if user:get_wielded_item():get_meta():get("debug") then
|
||||
if user:get_wielded_item():get_meta():get("pruner") then
|
||||
-- This is done in a minetest.after() callback because otherwise, the
|
||||
-- tool wear gets reverted if no return value is provided. The return
|
||||
-- value would need to be the post-wear tool, meaning that either tool
|
||||
|
|
Loading…
Reference in New Issue