Add goo block

master
Lean Rada 2015-01-23 11:46:32 +08:00
parent 902cb8c566
commit f92259eac7
4 changed files with 56 additions and 3 deletions

View File

@ -57,8 +57,9 @@ director.spawn_list = {
intensity_min = 0,
intensity_max = 0.3,
group_min = 1,
group_max = 1,
--
probability = 0.2,
group_max = 1,
day_start = 1,
spawn_time = 21.0,
spawn_location = "air",

View File

@ -69,20 +69,72 @@ defense.mobs.register_mob("defense:botete", {
end,
})
-- Botete's projectile
-- Goo projectile
minetest.register_entity("defense:gooball", {
physical = false,
visual = "sprite",
visual_size = {x=1, y=1},
textures = {"defense_gooball.png"},
on_activate = function(self, staticdata)
self.object:setacceleration({x=0, y=defense.mobs.gravity, z=0})
end,
on_step = function(self, dtime)
local pos = self.object:getpos()
if minetest.get_node(pos).name ~= "air" then
-- self:on_hit()
local space = pos
local back = vector.multiply(vector.normalize(self.object:getvelocity()), -1)
local node
repeat
space = vector.add(space, back)
node = minetest.get_node_or_nil(space)
until not node or node.name == "air" or node.name == "defense:goo"
self:hit(space)
self.object:remove()
end
end,
hit = function(self, pos)
minetest.set_node(pos, {name="defense:goo"})
end,
})
-- Goo node
minetest.register_node("defense:goo", {
description = "Caustic Goo",
tiles = {"defense_goo.png"},
inventory_image = "defense_gooball.png",
drop = "",
groups = {crumbly=3},
walkable = false,
buildable_to = false,
damage_per_second = 1,
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5},
},
})
minetest.register_node("defense:goo_block", {
description = "Caustic Goo Block",
tiles = {"defense_goo.png"},
-- inventory_image = "defense_goo.png",
drop = "",
groups = {crumbly=3},
walkable = false,
buildable_to = false,
damage_per_second = 1,
})
minetest.register_abm({
nodenames = {"defense:goo", "defense:goo_block"},
interval = 1,
chance = 30,
action = function(pos, node)
minetest.remove_node(pos)
end,
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 403 B