node resilience wip

This commit is contained in:
NatureFreshMilk
2019-07-29 13:37:56 +02:00
parent dc598bb21c
commit 373d1b2033
3 changed files with 20 additions and 8 deletions

View File

@ -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
View File

@ -0,0 +1,8 @@
-- default = 1
-- >1 = stronger
-- <1 = weaker
spacecannon.node_resilience["default:obsidian"] = 3
spacecannon.node_resilience["default:obsidian_glass"] = 3

View File

@ -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