1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-11-18 00:08:25 +01:00
server-nalc/mods/runes/amulets.lua

82 lines
2.4 KiB
Lua
Raw Normal View History

-- Amulets
runes.functions.register_amulet("silver_cross", "Silver Cross", 1, 25 )
runes.functions.register_amulet("minotaur_eye", "Minotaur Eye", 1, 50 )
runes.functions.register_amulet("hellfire", "Hellfire Amulet", 1, 75 )
runes.functions.register_amulet("grim_reaper", "Grim Reaper's Amulet", 1, 100)
-- Recipes
minetest.register_craft({
output = "runes:silver_cross_amulet",
recipe = {
{"", "farming:cotton", ""},
{"moreores:silver_ingot", "moreores:silver_ingot", "moreores:silver_ingot"},
{"", "moreores:silver_ingot", ""},
}
})
minetest.register_craft({
output = "runes:minotaur_eye_amulet",
recipe = {
{"", "darkage:chain", ""},
{"technic:brass_ingot", "mobs:minotaur_eye", "technic:brass_ingot"},
{"", "mesecons_materials:glue", ""},
}
})
minetest.register_craft({
output = "runes:hellfire_amulet",
recipe = {
{"", "darkage:chain", ""},
{"mobs:lava_orb", "default:diamondblock", "mobs:lava_orb"},
{"default:obsidian", "bucket:bucket_lava", "default:obsidian"},
}
})
minetest.register_craft({
output = "runes:grim_reaper_amulet",
recipe = {
{"", "runes:hellfire_amulet", ""},
{"nether:white", "runes:black_magic_block", "nether:white"},
{"", "moreores:mithril_block", ""},
}
})
minetest.register_craft({
output = "runes:black_magic_block",
recipe = {
{"nether:white", "runes:hellfire_amulet", "default:obsidian"},
{"default:nyancat", "nether:tree", "default:mese"},
{"default:obsidian", "moreores:mithril_block", "nether:white"},
}
})
-- Nodes
minetest.register_node("runes:black_magic_block", {
description = "Black Magic Block",
tiles = {"runes_black_magic_block.png"},
is_ground_content = true,
paramtype2 = "facedir",
groups = {crumbly=3},
sounds = default.node_sound_sand_defaults(),
})
-- Globalstep checking for the amulets
minetest.register_globalstep(function(dtime)
for _, player in pairs(minetest.get_connected_players()) do
local inv = player:get_inventory()
local basemana = mana.settings.default_max
for index, item in pairs(inv:get_list("main")) do
local itemname = item:get_name()
local itemcount = item:get_count()
for name, manadiff in pairs(runes.datas.amulets) do
if itemname == "runes:" .. name .. "_amulet" then
basemana = basemana + (manadiff * itemcount)
end
end
end
if basemana ~= mana.settings.default_max then
mana.setmax(player:get_player_name(), basemana)
end
end
end)