From 9e1c3717a00377612756d44f801fffb460a40ca8 Mon Sep 17 00:00:00 2001 From: Ginger88895 Date: Tue, 22 Sep 2015 07:13:57 +0000 Subject: [PATCH] Blaze! --- bettertnt/init.lua | 43 +++++++++++++++++++++---------------------- checkertnt/init.lua | 1 + napalmtnt/init.lua | 22 +++++++++------------- 3 files changed, 31 insertions(+), 35 deletions(-) diff --git a/bettertnt/init.lua b/bettertnt/init.lua index f5bce29..77a9bdd 100644 --- a/bettertnt/init.lua +++ b/bettertnt/init.lua @@ -179,33 +179,32 @@ function boom_bettertnt_id(pos, time, player, id) end local storedPoses = {} + local ts = tnt_range * tnt_range if id~="bettertnt:tnt1" then for dx=-tnt_range,tnt_range do - for dz=-tnt_range,tnt_range do - for dy=-tnt_range,tnt_range do + local zm=(ts-dx*dx)^(1/2.0) + 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 dist = (dx^2) + (dy^2) + (dz^2) - dist = dist^(1/2.0) - if dist <= tnt_range then - --local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} - --vector.add(p, dir) - ---------------------------------------- - -- local p_node = area:index(p.x, p.y, p.z) - -- local d_p_node = nodes[p_node] - local node = minetest.get_node(p) - local nodename = node.name - if is_tnt(nodename)==true then - minetest.remove_node(p) - boom_bettertnt_id(p, 0.5, player, nodename) -- was {x=p.x, y=p.y, z=p.z} - elseif nodename~="air" then - --if math.abs(dx)