Skip to content

Commit 373d1b2

Browse files
author
NatureFreshMilk
committed
node resilience wip
1 parent dc598bb commit 373d1b2

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

init.lua

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ spacecannon = {
66

77
-- charge value in EU
88
powerrequirement = 2500
9-
10-
}
9+
},
10+
node_resilience = {}
1111
}
1212

1313
local MP = minetest.get_modpath("spacecannon")
1414

1515
dofile(MP.."/util.lua")
1616
dofile(MP.."/cannon.lua")
17+
dofile(MP.."/node_resilience.lua")
1718

1819
print("[OK] Spacecannon")

node_resilience.lua

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
-- default = 1
3+
-- >1 = stronger
4+
-- <1 = weaker
5+
6+
7+
spacecannon.node_resilience["default:obsidian"] = 3
8+
spacecannon.node_resilience["default:obsidian_glass"] = 3

util.lua

+9-6
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,15 @@ spacecannon.destroy = function(pos, range, intensity)
7777

7878
else
7979
-- default behavior
80-
minetest.set_node(np, {name="air"})
81-
local itemstacks = minetest.get_node_drops(n.name)
82-
for _, itemname in ipairs(itemstacks) do
83-
if math.random(5) == 5 then
84-
-- chance drop
85-
minetest.add_item(np, itemname)
80+
local resilience = spacecannon.node_resilience[n.name] or 1
81+
if resilience <= 1 or math.random(resilience) == resilience then
82+
minetest.set_node(np, {name="air"})
83+
local itemstacks = minetest.get_node_drops(n.name)
84+
for _, itemname in ipairs(itemstacks) do
85+
if math.random(5) == 5 then
86+
-- chance drop
87+
minetest.add_item(np, itemname)
88+
end
8689
end
8790
end
8891
end

0 commit comments

Comments
 (0)