Blaze!
parent
973ea584a6
commit
9e1c3717a0
|
@ -179,33 +179,32 @@ function boom_bettertnt_id(pos, time, player, id)
|
||||||
end
|
end
|
||||||
|
|
||||||
local storedPoses = {}
|
local storedPoses = {}
|
||||||
|
local ts = tnt_range * tnt_range
|
||||||
|
|
||||||
if id~="bettertnt:tnt1" then
|
if id~="bettertnt:tnt1" then
|
||||||
for dx=-tnt_range,tnt_range do
|
for dx=-tnt_range,tnt_range do
|
||||||
for dz=-tnt_range,tnt_range do
|
local zm=(ts-dx*dx)^(1/2.0)
|
||||||
for dy=-tnt_range,tnt_range do
|
for dz=-zm,zm do
|
||||||
|
local ym=(ts-dx*dx-dz*dz)^(1/2.0)
|
||||||
|
for dy=-ym,ym do
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
local dist = (dx^2) + (dy^2) + (dz^2)
|
--local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
dist = dist^(1/2.0)
|
--vector.add(p, dir)
|
||||||
if dist <= tnt_range then
|
----------------------------------------
|
||||||
--local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
-- local p_node = area:index(p.x, p.y, p.z)
|
||||||
--vector.add(p, dir)
|
-- local d_p_node = nodes[p_node]
|
||||||
----------------------------------------
|
local node = minetest.get_node(p)
|
||||||
-- local p_node = area:index(p.x, p.y, p.z)
|
local nodename = node.name
|
||||||
-- local d_p_node = nodes[p_node]
|
if is_tnt(nodename)==true then
|
||||||
local node = minetest.get_node(p)
|
minetest.remove_node(p)
|
||||||
local nodename = node.name
|
boom_bettertnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
||||||
if is_tnt(nodename)==true then
|
elseif nodename~="air" then
|
||||||
minetest.remove_node(p)
|
--if math.abs(dx)<tnt_range and math.abs(dy)<tnt_range and math.abs(dz)<tnt_range then
|
||||||
boom_bettertnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
minetest.remove_node(p)
|
||||||
elseif nodename~="air" then
|
--elseif pr:next(1,5) <= 4 then
|
||||||
--if math.abs(dx)<tnt_range and math.abs(dy)<tnt_range and math.abs(dz)<tnt_range then
|
-- destroy(p, player, ents)
|
||||||
minetest.remove_node(p)
|
--end
|
||||||
--elseif pr:next(1,5) <= 4 then
|
|
||||||
-- destroy(p, player, ents)
|
|
||||||
--end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -185,6 +185,7 @@ function boom_checkertnt_id(pos, time, player, id)
|
||||||
for dz=-tnt_range,tnt_range do
|
for dz=-tnt_range,tnt_range do
|
||||||
for dy=-tnt_range,tnt_range do
|
for dy=-tnt_range,tnt_range do
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
|
local nodename = minetest.get_node(p).name
|
||||||
if is_tnt(nodename)==true then
|
if is_tnt(nodename)==true then
|
||||||
minetest.remove_node(p)
|
minetest.remove_node(p)
|
||||||
boom_checkertnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
boom_checkertnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
||||||
|
|
|
@ -165,22 +165,18 @@ function boom_napalmtnt_id(pos, time, player, id)
|
||||||
|
|
||||||
local storedPoses = {}
|
local storedPoses = {}
|
||||||
local dy = 0
|
local dy = 0
|
||||||
|
local ts = tnt_range * tnt_range
|
||||||
|
|
||||||
for dx=-tnt_range,tnt_range do
|
for dx=-tnt_range,tnt_range do
|
||||||
for dz=-tnt_range,tnt_range do
|
local zm=(ts-dx*dx)^(1/2.0)
|
||||||
|
for dz=-zm,zm do
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
----------------------------------------
|
local nodename = minetest.get_node(p).name
|
||||||
local dist = (dx^2) + (dy^2) + (dz^2)
|
if is_tnt(nodename)==true then
|
||||||
dist = dist^(1/2.0)
|
minetest.set_node(p,{name="fire:basic_flame"})
|
||||||
if dist <= tnt_range then
|
boom_napalmtnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
||||||
local node = minetest.get_node(p)
|
else
|
||||||
local nodename = node.name
|
minetest.set_node(p,{name="fire:basic_flame"})
|
||||||
if is_tnt(nodename)==true then
|
|
||||||
minetest.set_node(p,{name="fire:basic_flame"})
|
|
||||||
boom_napalmtnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z}
|
|
||||||
else
|
|
||||||
minetest.set_node(p,{name="fire:basic_flame"})
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue