diff --git a/lava_titan.lua b/lava_titan.lua index ac64c9b..46e1cb5 100644 --- a/lava_titan.lua +++ b/lava_titan.lua @@ -14,7 +14,7 @@ nssm:register_mob("nssm:lava_titan", { walk_velocity = 1, run_velocity = 2, floats = 1, - sounds = { + sounds = { random = "lava_titan", }, damage = 7, @@ -37,7 +37,7 @@ nssm:register_mob("nssm:lava_titan", { armor = 40, drawtype = "front", water_damage = 4, - rotate = 270, + rotate = 270, melter = true, light_damage = 0, lava_damage = 0, @@ -45,10 +45,10 @@ nssm:register_mob("nssm:lava_titan", { floats = 1, attack_type = "dogshoot", dogshoot_stop = true, - arrow = "nssm:lava_arrow", - reach = 3, - shoot_interval = 2, - shoot_offset = -1, + arrow = "nssm:lava_arrow", + reach = 3, + shoot_interval = 2, + shoot_offset = -1, true_dist_attack = true, on_dist_attack = function(self, player) local pos = player:getpos() @@ -57,7 +57,7 @@ nssm:register_mob("nssm:lava_titan", { for dz=-1, 1, 2 do local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} local n = minetest.env:get_node(p).name - if n~="default:lava_flowing" then + if n~="default:lava_flowing" and not minetest.is_protected(p, "") then minetest.set_node(p, {name="default:lava_flowing"}) end end @@ -75,38 +75,11 @@ nssm:register_mob("nssm:lava_titan", { run_end = 110, punch_start = 301, punch_end = 340, - dattack_start =340, - dattack_end=400, + dattack_start =340, + dattack_end=400, }, do_custom = function (self) - - --Digging ability: - --[[ - local v = self.object:getvelocity() - local pos = self.object:getpos() - local c=3 - for dx = -c*(math.abs(v.x))-1 , c*(math.abs(v.x))+1 do - for dy=0,5 do - for dz = -c*(math.abs(v.z))-1 , c*(math.abs(v.z))+1 do - local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz} - local t = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} - local n = minetest.env:get_node(p).name - if (n~="default:water_source" and n~="default:water_flowing") then - minetest.env:set_node(t, {name="air"}) - end - end - end - end - ]]-- - nssm:digging_ability(self, nil, self.run_velocity, {x=0, y=5, z=0}) - - --Melting ability (puts lava where he passes) - --[[pos.y=pos.y-1 - local n = minetest.env:get_node(pos).name - if n~="default:lava_source" then - minetest.env:set_node(pos, {name="default:lava_source"}) - end - ]] - + nssm:digging_ability(self, "sand", self.run_velocity, {x=0, y=5, z=0}) + nssm:putting_ability(self, "default:lava_source", self.run_velocity) end, })