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,
|
||||
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,
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user