modified: lava_titan.lua

Integrated new functions and controls of protections
This commit is contained in:
npx 2016-04-24 15:37:08 +02:00
parent 33ffc699b7
commit c453f86828

View File

@ -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,
})