43 lines
1.3 KiB
Lua

PyuTest.make_upgrade_rune = function (name, desc, stat, increase, max, color, craftitem)
PyuTest.make_item(name, desc, {
upgrade_rune = 1,
}, "pyutest-rune.png", {
color = color,
on_use = function (itemstack, user, pointed_thing)
if not user then return end
if not user:is_player() then return end
local value = PyuTest.get_player_stat(user, stat)
if value == max then
return
end
-- Stat value below 1 causes problems
if (value + increase) < 1 then
return
end
PyuTest.set_player_stat(user, stat, value + increase)
minetest.sound_play({name = "spellbook_action", gain = 0.75}, {pos = user:get_pos()})
itemstack:take_item()
return itemstack
end
})
if craftitem ~= nil then
minetest.register_craft({
output = name,
recipe = {
{"", "pyutest_ores:emerald_shard", ""},
{"pyutest_ores:emerald_shard", craftitem, "pyutest_ores:emerald_shard"},
{"", "pyutest_ores:emerald_shard", ""},
}
})
end
end
PyuTest.make_upgrade_rune("pyutest_upgrades:defense", "Defense Upgrade Rune", "defense", 0.5, 5, "green", "pyutest_ores:diamond_shard")
PyuTest.make_upgrade_rune("pyutest_upgrades:attack", "Attack Upgrade Rune", "attack", 0.5, 3, "red", "pyutest_ores:gold_ingot")