modified: lava_titan.lua
Integrated new functions and controls of protections
This commit is contained in:
parent
33ffc699b7
commit
c453f86828
@ -14,7 +14,7 @@ nssm:register_mob("nssm:lava_titan", {
|
|||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
run_velocity = 2,
|
run_velocity = 2,
|
||||||
floats = 1,
|
floats = 1,
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "lava_titan",
|
random = "lava_titan",
|
||||||
},
|
},
|
||||||
damage = 7,
|
damage = 7,
|
||||||
@ -37,7 +37,7 @@ nssm:register_mob("nssm:lava_titan", {
|
|||||||
armor = 40,
|
armor = 40,
|
||||||
drawtype = "front",
|
drawtype = "front",
|
||||||
water_damage = 4,
|
water_damage = 4,
|
||||||
rotate = 270,
|
rotate = 270,
|
||||||
melter = true,
|
melter = true,
|
||||||
light_damage = 0,
|
light_damage = 0,
|
||||||
lava_damage = 0,
|
lava_damage = 0,
|
||||||
@ -45,10 +45,10 @@ nssm:register_mob("nssm:lava_titan", {
|
|||||||
floats = 1,
|
floats = 1,
|
||||||
attack_type = "dogshoot",
|
attack_type = "dogshoot",
|
||||||
dogshoot_stop = true,
|
dogshoot_stop = true,
|
||||||
arrow = "nssm:lava_arrow",
|
arrow = "nssm:lava_arrow",
|
||||||
reach = 3,
|
reach = 3,
|
||||||
shoot_interval = 2,
|
shoot_interval = 2,
|
||||||
shoot_offset = -1,
|
shoot_offset = -1,
|
||||||
true_dist_attack = true,
|
true_dist_attack = true,
|
||||||
on_dist_attack = function(self, player)
|
on_dist_attack = function(self, player)
|
||||||
local pos = player:getpos()
|
local pos = player:getpos()
|
||||||
@ -57,7 +57,7 @@ nssm:register_mob("nssm:lava_titan", {
|
|||||||
for dz=-1, 1, 2 do
|
for dz=-1, 1, 2 do
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
local n = minetest.env:get_node(p).name
|
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"})
|
minetest.set_node(p, {name="default:lava_flowing"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -75,38 +75,11 @@ nssm:register_mob("nssm:lava_titan", {
|
|||||||
run_end = 110,
|
run_end = 110,
|
||||||
punch_start = 301,
|
punch_start = 301,
|
||||||
punch_end = 340,
|
punch_end = 340,
|
||||||
dattack_start =340,
|
dattack_start =340,
|
||||||
dattack_end=400,
|
dattack_end=400,
|
||||||
},
|
},
|
||||||
do_custom = function (self)
|
do_custom = function (self)
|
||||||
|
nssm:digging_ability(self, "sand", self.run_velocity, {x=0, y=5, z=0})
|
||||||
--Digging ability:
|
nssm:putting_ability(self, "default:lava_source", self.run_velocity)
|
||||||
--[[
|
|
||||||
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
|
|
||||||
]]
|
|
||||||
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user