Añadido rango de "Magic source"

- Añadida función a la api "is_near_to_magic(pos, radius)" que comprueba que
	  la posición dada tenga en un radio dado al menos un bloque de Magical Cobble
	  o Magical Water.

	- La runa "Home_Stone" requiere estar cerca de una fuente de magia.

	- El altar también lo requere.

-- Yawin
master
Yawin 2017-02-07 14:05:20 +01:00
parent 031d91b51b
commit ef2ce7c9d5
4 changed files with 21 additions and 5 deletions

@ -1 +0,0 @@
Subproject commit 78e4ba828ebe19dc80977ce53ce301d63230b8b8

View File

@ -238,9 +238,9 @@ function magic.warp(player)
player:set_look_yaw(0)
end
------------------------------------------------------------------------------
-- TIER REGISTERING UTILS ----------------------------------------------------
------------------------------------------------------------------------------
-----------------------------------------------------------------
-- TIER REGISTERING UTILS ---------------------------------------
-----------------------------------------------------------------
function magic.add_group_to_node(n, group)
local def = minetest.registered_items[n]
@ -265,4 +265,11 @@ function magic.add_group(group, node_list)
for i in ipairs(node_list) do
magic.add_group_to_node(node_list[i], group)
end
end
-----------------------------------------------------------------
-- OTHER UTILITIES ----------------------------------------------
-----------------------------------------------------------------
function magic.is_near_to_magic(pos, radius)
return minetest.find_node_near(pos, radius, {"magic:magicalcobble", "magic:magicalwater_source", "magic:magicalwater_flowing"})
end

View File

@ -62,6 +62,11 @@ magic.register_recipe("altar",
},
},
function(node, player)
if not magic.is_near_to_magic(node.under, 10) then
minetest.chat_send_player(player:get_player_name(), "[Mod Magic] Needs to be near to a magic source")
return
end
magic.do_ritual(node, player)
end
)

View File

@ -51,7 +51,12 @@ magic.register_recipe("home_stone",
},
},
function(node)
function(node, player)
if not magic.is_near_to_magic(node.under, 10) then
minetest.chat_send_player(player:get_player_name(), "[Mod Magic] Needs to be near to a magic source")
return
end
minetest.set_node(node.under, {name="magic:magicalobsidian"})
minetest.env:add_item({x = node.under.x, y = node.under.y + 1, z = node.under.z}, "magic:home_stone")
end