removed legacy stuff and made tnt have no damage when near water
This commit is contained in:
parent
23d0f62241
commit
94cf84f732
@ -830,15 +830,24 @@ minetest.register_tool(
|
||||
if pointed_thing.type ~= "node" then return end
|
||||
|
||||
local pos = pointed_thing.under
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
local nodename = node.name
|
||||
|
||||
if minetest.get_node(pointed_thing.under).name == "default:torch_weak" then
|
||||
local n = minetest.get_node(pointed_thing.under)
|
||||
if nodename == "default:torch_weak" then
|
||||
local n = minetest.get_node(pos)
|
||||
minetest.set_node(pos, {name = "default:torch", param = n.param, param2 = n.param2})
|
||||
itemstack:add_wear(800)
|
||||
elseif minetest.get_node(pointed_thing.under).name == "default:torch_dead" then
|
||||
local n = minetest.get_node(pointed_thing.under)
|
||||
elseif nodename == "default:torch_dead" then
|
||||
local n = minetest.get_node(pos)
|
||||
minetest.set_node(pos, {name = "default:torch_weak", param = n.param, param2 = n.param2})
|
||||
itemstack:add_wear(1300)
|
||||
itemstack:add_wear(800)
|
||||
elseif nodename == "tnt:tnt" then
|
||||
local y = minetest.registered_nodes["tnt:tnt"]
|
||||
if y ~= nil then
|
||||
y.on_punch(pos, node, user)
|
||||
|
||||
itemstack:add_wear(800)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
|
@ -58,7 +58,6 @@ minetest.register_node(
|
||||
"default_furnace_sides.png", "default_furnace_sides.png", "default_furnace_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = function(pos)
|
||||
@ -95,7 +94,6 @@ minetest.register_node(
|
||||
light_source = 8,
|
||||
drop = "default:furnace",
|
||||
groups = {cracky = 2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = function(pos)
|
||||
|
@ -704,7 +704,58 @@ minetest.register_node(
|
||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||
},
|
||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(
|
||||
"default:torch_weak",
|
||||
{
|
||||
description = "Weak Torch",
|
||||
drawtype = "nodebox",
|
||||
tiles ={
|
||||
{
|
||||
name = "default_torch_3d_ends.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "default_torch_3d_ends.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "default_torch_3d.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
inventory_image = "default_torch.png",
|
||||
wield_image = "default_torch.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
node_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-2/16, 0, -2/16, 2/16, 0.5, 2/16},
|
||||
wall_bottom = {-2/16, -0.5, -2/16, 2/16, 0, 2/16},
|
||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||
},
|
||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
@ -757,59 +808,6 @@ minetest.register_node(
|
||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||
},
|
||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
minetest.register_node(
|
||||
"default:torch_weak",
|
||||
{
|
||||
description = "Weak Torch",
|
||||
drawtype = "nodebox",
|
||||
tiles ={
|
||||
{
|
||||
name = "default_torch_3d_ends.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "default_torch_3d_ends.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "default_torch_3d.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
inventory_image = "default_torch.png",
|
||||
wield_image = "default_torch.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
node_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-2/16, 0, -2/16, 2/16, 0.5, 2/16},
|
||||
wall_bottom = {-2/16, -0.5, -2/16, 2/16, 0, 2/16},
|
||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||
},
|
||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
@ -833,7 +831,6 @@ minetest.register_node(
|
||||
wall_side = {-0.5, -0.5+(4/16), -0.5+(1/16), -0.5+(1/16), 0.5-(4/16), 0.5-(1/16)},
|
||||
},
|
||||
groups = {choppy=2,dig_immediate=2,attached_node=1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
on_construct = function(pos)
|
||||
--local n = minetest.get_node(pos)
|
||||
@ -939,7 +936,6 @@ minetest.register_node(
|
||||
"default_chest_sides.png", "default_chest_sides.png", "default_chest_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
|
@ -111,6 +111,9 @@ end
|
||||
local function entity_physics(pos, radius)
|
||||
-- Make the damage radius larger than the destruction radius
|
||||
radius = radius * 2
|
||||
|
||||
local no_water = (minetest.find_node_near(pos, 2, {"default:water_source"}) == nil)
|
||||
|
||||
local objs = minetest.get_objects_inside_radius(pos, radius)
|
||||
for _, obj in pairs(objs) do
|
||||
local obj_pos = obj:getpos()
|
||||
@ -122,9 +125,11 @@ local function entity_physics(pos, radius)
|
||||
obj_vel, radius * 10))
|
||||
end
|
||||
|
||||
if no_water then
|
||||
local damage = (4 / dist) * radius
|
||||
obj:set_hp(obj:get_hp() - damage)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function add_effects(pos, radius)
|
||||
@ -151,7 +156,7 @@ local function burn(pos)
|
||||
if name == "tnt:tnt" then
|
||||
minetest.sound_play("tnt_ignite", {pos=pos})
|
||||
minetest.set_node(pos, {name="tnt:tnt_burning"})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
minetest.get_node_timer(pos):start(2)
|
||||
end
|
||||
end
|
||||
|
||||
@ -195,8 +200,7 @@ end
|
||||
|
||||
local function boom(pos)
|
||||
minetest.sound_play("tnt_explode", {pos=pos, gain=1.5, max_hear_distance=2*64})
|
||||
minetest.set_node(pos, {name="air"})
|
||||
minetest.get_node_timer(pos):start(0.5)
|
||||
minetest.remove_node(pos)
|
||||
|
||||
local drops = explode(pos, radius)
|
||||
entity_physics(pos, radius)
|
||||
@ -215,16 +219,15 @@ minetest.register_node(
|
||||
on_punch = function(pos, node, puncher)
|
||||
local itemname = puncher:get_wielded_item():get_name()
|
||||
|
||||
if itemname == "default:torch" or itemname == "default:torch_weak" or itemname == "default:flint_and_steel" then
|
||||
minetest.sound_play("tnt_ignite", {pos=pos})
|
||||
minetest.set_node(pos, {name="tnt:tnt_burning"})
|
||||
minetest.get_node_timer(pos):start(4)
|
||||
if itemname == "default:torch"
|
||||
or itemname == "default:torch_weak"
|
||||
or itemname == "default:flint_and_steel" then
|
||||
burn(pos)
|
||||
end
|
||||
end,
|
||||
on_blast = function(pos, intensity)
|
||||
burn(pos)
|
||||
end,
|
||||
mesecons = {effector = {action_on = boom}},
|
||||
})
|
||||
|
||||
minetest.register_node(
|
||||
@ -254,7 +257,7 @@ minetest.register_craft(
|
||||
output = "tnt:tnt",
|
||||
recipe = {
|
||||
{"", "group:planks", ""},
|
||||
{"group:planks", "default:torch", "group:planks"},
|
||||
{"group:planks", "default:flint_and_steel", "group:planks"},
|
||||
{"", "group:planks", ""}
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user