mirror of
https://github.com/pandorabox-io/spacecannon.git
synced 2025-03-09 11:52:29 +01:00
node resilience wip
This commit is contained in:
5
init.lua
5
init.lua
@ -6,13 +6,14 @@ spacecannon = {
|
|||||||
|
|
||||||
-- charge value in EU
|
-- charge value in EU
|
||||||
powerrequirement = 2500
|
powerrequirement = 2500
|
||||||
|
},
|
||||||
}
|
node_resilience = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
local MP = minetest.get_modpath("spacecannon")
|
local MP = minetest.get_modpath("spacecannon")
|
||||||
|
|
||||||
dofile(MP.."/util.lua")
|
dofile(MP.."/util.lua")
|
||||||
dofile(MP.."/cannon.lua")
|
dofile(MP.."/cannon.lua")
|
||||||
|
dofile(MP.."/node_resilience.lua")
|
||||||
|
|
||||||
print("[OK] Spacecannon")
|
print("[OK] Spacecannon")
|
8
node_resilience.lua
Normal file
8
node_resilience.lua
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
-- default = 1
|
||||||
|
-- >1 = stronger
|
||||||
|
-- <1 = weaker
|
||||||
|
|
||||||
|
|
||||||
|
spacecannon.node_resilience["default:obsidian"] = 3
|
||||||
|
spacecannon.node_resilience["default:obsidian_glass"] = 3
|
15
util.lua
15
util.lua
@ -77,12 +77,15 @@ spacecannon.destroy = function(pos, range, intensity)
|
|||||||
|
|
||||||
else
|
else
|
||||||
-- default behavior
|
-- default behavior
|
||||||
minetest.set_node(np, {name="air"})
|
local resilience = spacecannon.node_resilience[n.name] or 1
|
||||||
local itemstacks = minetest.get_node_drops(n.name)
|
if resilience <= 1 or math.random(resilience) == resilience then
|
||||||
for _, itemname in ipairs(itemstacks) do
|
minetest.set_node(np, {name="air"})
|
||||||
if math.random(5) == 5 then
|
local itemstacks = minetest.get_node_drops(n.name)
|
||||||
-- chance drop
|
for _, itemname in ipairs(itemstacks) do
|
||||||
minetest.add_item(np, itemname)
|
if math.random(5) == 5 then
|
||||||
|
-- chance drop
|
||||||
|
minetest.add_item(np, itemname)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user