Merge pull request #8 from FaceDeer/master
updating various deprecated functions
This commit is contained in:
commit
4f6cc3f91e
10
api/abms.lua
10
api/abms.lua
@ -10,7 +10,7 @@ minetest.register_abm({
|
||||
return
|
||||
end
|
||||
--local under = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
--local n = minetest.env:get_node(under).name
|
||||
--local n = minetest.get_node(under).name
|
||||
--if n~= "air" then
|
||||
minetest.set_node({x=pos.x+1, y=pos.y, z=pos.z}, {name = "fire:basic_flame"})
|
||||
minetest.set_node({x=pos.x-1, y=pos.y, z=pos.z}, {name = "fire:basic_flame"})
|
||||
@ -27,7 +27,7 @@ minetest.register_abm({
|
||||
interval = 20.0,
|
||||
chance = 20,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n== "air" then
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "nssm:web"})
|
||||
end
|
||||
@ -40,7 +40,7 @@ minetest.register_abm({
|
||||
interval = 20.0,
|
||||
chance = 20,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n== "air" then
|
||||
minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = "nssm:web"})
|
||||
end
|
||||
@ -53,7 +53,7 @@ minetest.register_abm({
|
||||
interval = 20.0,
|
||||
chance = 20,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n == "air" then
|
||||
minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = "nssm:web"})
|
||||
end
|
||||
@ -89,7 +89,7 @@ minetest.register_abm({
|
||||
action =
|
||||
function(pos, node)
|
||||
local pos1 = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local n = minetest.env:get_node(pos1).name
|
||||
local n = minetest.get_node(pos1).name
|
||||
if n ~= "air" then
|
||||
return
|
||||
end
|
||||
|
@ -6,12 +6,12 @@ mobs:register_arrow("nssm:duck_father", {
|
||||
velocity = 8,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
duck_explosion(pos)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
duck_explosion(pos)
|
||||
end,
|
||||
|
||||
@ -76,12 +76,12 @@ mobs:register_arrow("nssm:snow_arrow", {
|
||||
velocity =20,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
ice_explosion(pos)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
ice_explosion(pos)
|
||||
end,
|
||||
hit_node = function(self, pos, node)
|
||||
@ -94,7 +94,7 @@ function ice_explosion(pos)
|
||||
for j=pos.y-1, pos.y+4, 1 do
|
||||
for k=pos.z-math.random(0, 1), pos.z+math.random(0, 1), 1 do
|
||||
local p = {x=i, y=j, z=k}
|
||||
local n = minetest.env:get_node(p).name
|
||||
local n = minetest.get_node(p).name
|
||||
if not nssm.unswappable_node(p) then
|
||||
minetest.set_node(p, {name="default:ice"})
|
||||
end
|
||||
@ -152,7 +152,7 @@ mobs:register_arrow("nssm:webball", {
|
||||
velocity = 8,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local p = player:getpos()
|
||||
local p = player:get_pos()
|
||||
explosion_web(p, "nssm:web")
|
||||
end,
|
||||
|
||||
@ -176,8 +176,8 @@ function explosion_web(pos, webtype)
|
||||
-- TODO 0 check, why are we operating on two positions?
|
||||
local p = {x=i,y=j,z=k}
|
||||
local k = {x=i,y=j+1,z=k}
|
||||
local current = minetest.env:get_node(p).name
|
||||
local ontop = minetest.env:get_node(k).name
|
||||
local current = minetest.get_node(p).name
|
||||
local ontop = minetest.get_node(k).name
|
||||
if current == "air" then
|
||||
--if not nssm.unswappable_node(p) then -- replaces to many nodes
|
||||
minetest.set_node(p, {name=webtype})
|
||||
@ -196,7 +196,7 @@ mobs:register_arrow("nssm:thickwebball", {
|
||||
velocity = 8,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local p = player:getpos()
|
||||
local p = player:get_pos()
|
||||
explosion_web(p, "nssm:thick_web")
|
||||
end,
|
||||
|
||||
@ -224,12 +224,12 @@ mobs:register_arrow("nssm:phoenix_arrow", {
|
||||
|
||||
on_step = function(self, dtime)
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if minetest.is_protected(pos, "") then
|
||||
return
|
||||
end
|
||||
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
|
||||
if self.timer == 0 then
|
||||
self.timer = os.time()
|
||||
@ -243,7 +243,7 @@ mobs:register_arrow("nssm:phoenix_arrow", {
|
||||
-- Randomly decide to place phoenix fire at current location
|
||||
if math.random(1,2)==2 then
|
||||
if not nssm.unswappable_node(pos) then
|
||||
minetest.env:set_node(pos, {name="nssm:phoenix_fire"})
|
||||
minetest.set_node(pos, {name="nssm:phoenix_fire"})
|
||||
end
|
||||
end
|
||||
|
||||
@ -253,9 +253,9 @@ mobs:register_arrow("nssm:phoenix_arrow", {
|
||||
dy = math.random(-1,1)
|
||||
dz = math.random(-1,1)
|
||||
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.get_node(p).name
|
||||
if n=="air" and not nssm.unswappable_node(p) then
|
||||
minetest.env:set_node(p, {name="nssm:phoenix_fire"})
|
||||
minetest.set_node(p, {name="nssm:phoenix_fire"})
|
||||
end
|
||||
end
|
||||
|
||||
@ -271,7 +271,7 @@ mobs:register_arrow("nssm:super_gas", {
|
||||
velocity = 8,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local p = player:getpos()
|
||||
local p = player:get_pos()
|
||||
gas_explosion(p)
|
||||
end,
|
||||
|
||||
@ -292,7 +292,7 @@ function gas_explosion(pos)
|
||||
if minetest.is_protected(p, "") then
|
||||
return
|
||||
end
|
||||
local n = minetest.env:get_node(p).name
|
||||
local n = minetest.get_node(p).name
|
||||
if n == "air" and not nssm.unswappable_node(p) then
|
||||
minetest.set_node(p, {name="nssm:venomous_gas"})
|
||||
end
|
||||
@ -310,9 +310,9 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
|
||||
|
||||
on_step = function(self, dtime)
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
|
||||
if self.timer == 0 then
|
||||
self.timer = os.time()
|
||||
@ -322,7 +322,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
|
||||
self.object:remove()
|
||||
end
|
||||
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 1)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 1)
|
||||
for _,obj in ipairs(objects) do
|
||||
local name = obj:get_entity_name()
|
||||
if name ~= "nssm:roar_of_the_dragon" and name ~= "nssm:mese_dragon" then
|
||||
@ -335,7 +335,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
|
||||
end
|
||||
end
|
||||
|
||||
minetest.env:set_node(pos, {name="air"})
|
||||
minetest.set_node(pos, {name="air"})
|
||||
if math.random(1,2)==1 then
|
||||
dx = math.random(-1,1)
|
||||
dy = math.random(-1,1)
|
||||
@ -344,7 +344,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
|
||||
return
|
||||
end
|
||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
minetest.env:set_node(p, {name="air"})
|
||||
minetest.set_node(p, {name="air"})
|
||||
end
|
||||
end
|
||||
})
|
||||
@ -357,7 +357,7 @@ mobs:register_arrow("nssm:lava_arrow", {
|
||||
velocity = 10,
|
||||
-- direct hit
|
||||
hit_player = function(self, player)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if minetest.is_protected(pos, "") then
|
||||
return
|
||||
end
|
||||
@ -365,7 +365,7 @@ mobs:register_arrow("nssm:lava_arrow", {
|
||||
for dx=-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 n = minetest.env:get_node(p).name
|
||||
local n = minetest.get_node(p).name
|
||||
if n~="default:lava_flowing" and not nssm.unswappable_node(p) then
|
||||
minetest.set_node(p, {name="default:lava_flowing"})
|
||||
end
|
||||
|
@ -19,7 +19,7 @@ end
|
||||
-- Return true if the original_node should not be swapped
|
||||
nssm.unswappable_node = function (pos, node_list)
|
||||
local _, node, original_node
|
||||
original_node = minetest.env:get_node(pos).name
|
||||
original_node = minetest.get_node(pos).name
|
||||
|
||||
if original_node ~= "air" and not minetest.registered_nodes[original_node] then
|
||||
-- remnant unknown block
|
||||
@ -55,7 +55,7 @@ end
|
||||
|
||||
nssm.drops = function(drop)
|
||||
if drop then
|
||||
drop:setvelocity({
|
||||
drop:set_velocity({
|
||||
x = math.random(-10, 10) / 9,
|
||||
y = 5,
|
||||
z = math.random(-10, 10) / 9,
|
||||
@ -153,8 +153,8 @@ function digging_attack(
|
||||
)
|
||||
|
||||
if self.attack and self.attack:is_player() then
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
local dir = vector.subtract(p,s)
|
||||
dir = vector.normalize(dir)
|
||||
@ -172,9 +172,9 @@ function digging_attack(
|
||||
local pos_to_dig = posp
|
||||
|
||||
for i = 0,dim.y do -- from 0 to dy between mob and player altitude?
|
||||
local target_node = minetest.env:get_node(pos_to_dig).name
|
||||
local target_node = minetest.get_node(pos_to_dig).name
|
||||
if not nssm.unswappable_node(pos_to_dig) then
|
||||
local nodename = minetest.env:get_node(posp).name
|
||||
local nodename = minetest.get_node(posp).name
|
||||
local nodedef = minetest.registered_nodes[nodename]
|
||||
if nodedef.groups and nodedef.groups[group] then
|
||||
minetest.remove_node(pos_to_dig)
|
||||
@ -202,11 +202,11 @@ local function safely_put_block(self, pos_under_mob, original_node, putting_bloc
|
||||
minetest.registered_nodes[original_node].drawtype == "liquid"
|
||||
or minetest.registered_nodes[original_node].drawtype == "flowingliquid"
|
||||
) then
|
||||
minetest.env:set_node(pos_under_mob, {name = putting_block})
|
||||
minetest.set_node(pos_under_mob, {name = putting_block})
|
||||
|
||||
-- buildable to (snow, torch)
|
||||
elseif minetest.registered_nodes[original_node].buildable_to then
|
||||
minetest.env:set_node(pos_under_mob, {name = "air"})
|
||||
minetest.set_node(pos_under_mob, {name = "air"})
|
||||
minetest.add_item(pos_under_mob, {name = original_node})
|
||||
|
||||
end
|
||||
@ -219,7 +219,7 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
|
||||
max_vel -- max velocity of the mob
|
||||
)
|
||||
|
||||
local v = self.object:getvelocity()
|
||||
local v = self.object:get_velocity()
|
||||
|
||||
local dx = 0
|
||||
local dz = 0
|
||||
@ -238,7 +238,7 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
|
||||
end
|
||||
end
|
||||
|
||||
local pos_under_mob = self.object:getpos()
|
||||
local pos_under_mob = self.object:get_pos()
|
||||
local pos_under_frontof_mob
|
||||
|
||||
pos_under_mob.y=pos_under_mob.y - 1
|
||||
@ -248,8 +248,8 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
|
||||
z = pos_under_mob.z + dz
|
||||
}
|
||||
|
||||
local node_under_mob = minetest.env:get_node(pos_under_mob).name
|
||||
local node_under_frontof_mob = minetest.env:get_node(pos_under_frontof_mob).name
|
||||
local node_under_mob = minetest.get_node(pos_under_mob).name
|
||||
local node_under_frontof_mob = minetest.get_node(pos_under_frontof_mob).name
|
||||
|
||||
local oldmetainf = {
|
||||
minetest.get_meta(pos_under_mob):to_table(),
|
||||
@ -266,16 +266,16 @@ function webber_ability( --puts randomly around the block defined as w_bl
|
||||
radius --max distance the block can be put
|
||||
)
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if (math.random(1,55)==1) then
|
||||
local dx=math.random(1,radius)
|
||||
local dz=math.random(1,radius)
|
||||
--local p = {x=pos.x+dx, y=pos.y-1, z=pos.z+dz}
|
||||
local t = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
||||
--local n = minetest.env:get_node(p).name
|
||||
local k = minetest.env:get_node(t).name
|
||||
--local n = minetest.get_node(p).name
|
||||
local k = minetest.get_node(t).name
|
||||
if k == "air" and not nssm.unswappable_node(t) then
|
||||
minetest.env:set_node(t, {name=w_block})
|
||||
minetest.set_node(t, {name=w_block})
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -288,15 +288,15 @@ function midas_ability( --ability to transform every blocks it touches in
|
||||
height --height of the mob
|
||||
)
|
||||
|
||||
local v = self.object:getvelocity()
|
||||
local pos = self.object:getpos()
|
||||
local v = self.object:get_velocity()
|
||||
local pos = self.object:get_pos()
|
||||
--[[
|
||||
if minetest.is_protected(pos, "") then
|
||||
return
|
||||
end
|
||||
--]]
|
||||
local max = 0
|
||||
local yaw = (self.object:getyaw() + self.rotate) or 0
|
||||
local yaw = (self.object:get_yaw() + self.rotate) or 0
|
||||
local x = math.sin(yaw)*-1
|
||||
local z = math.cos(yaw)
|
||||
|
||||
@ -323,10 +323,10 @@ function midas_ability( --ability to transform every blocks it touches in
|
||||
for dy = -1, height do
|
||||
for dz = k1, k do
|
||||
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.get_node(p).name
|
||||
|
||||
if not nssm.unswappable_node(p, {"air"}) then
|
||||
minetest.env:set_node(p, {name=m_block})
|
||||
minetest.set_node(p, {name=m_block})
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -449,7 +449,7 @@ local function eject_drops(drops, pos, radius)
|
||||
if obj then
|
||||
obj:get_luaentity().collect = true
|
||||
obj:setacceleration({x = 0, y = -10, z = 0})
|
||||
obj:setvelocity({x = math.random(-3, 3),
|
||||
obj:set_velocity({x = math.random(-3, 3),
|
||||
y = math.random(0, 10),
|
||||
z = math.random(-3, 3)})
|
||||
end
|
||||
@ -494,7 +494,7 @@ end
|
||||
local function entity_physics(pos, radius, drops)
|
||||
local objs = minetest.get_objects_inside_radius(pos, radius)
|
||||
for _, obj in pairs(objs) do
|
||||
local obj_pos = obj:getpos()
|
||||
local obj_pos = obj:get_pos()
|
||||
local dist = math.max(1, vector.distance(pos, obj_pos))
|
||||
|
||||
local damage = (4 / dist) * radius
|
||||
@ -527,8 +527,8 @@ local function entity_physics(pos, radius, drops)
|
||||
end
|
||||
|
||||
if do_knockback then
|
||||
local obj_vel = obj:getvelocity()
|
||||
obj:setvelocity(calc_velocity(pos, obj_pos,
|
||||
local obj_vel = obj:get_velocity()
|
||||
obj:set_velocity(calc_velocity(pos, obj_pos,
|
||||
obj_vel, radius * 10))
|
||||
end
|
||||
if do_damage then
|
||||
|
@ -174,7 +174,7 @@ minetest.register_node("nssm:pumpbomb", {
|
||||
drop = "",
|
||||
on_timer = function(pos, elapsed)
|
||||
tnt_boom_nssm(pos, {damage_radius=4,radius=3,ignore_protection=false})
|
||||
minetest.env:set_node(pos, {name="air"})
|
||||
minetest.set_node(pos, {name="air"})
|
||||
end,
|
||||
})
|
||||
|
||||
|
@ -70,8 +70,8 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
|
||||
self.ant_queen_counter = 0
|
||||
local counter = 0
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
p.y = p.y + 1.5
|
||||
s.y = s.y + 1.5
|
||||
@ -85,7 +85,7 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
|
||||
end
|
||||
local pos1 = {x=s.x+math.random(-3,3), y=s.y-1, z=s.z+math.random(-3,3)}
|
||||
|
||||
local objects = minetest.env:get_objects_inside_radius(s, 10)
|
||||
local objects = minetest.get_objects_inside_radius(s, 10)
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:get_luaentity() and obj:get_luaentity().name == "nssm:ant_soldier") then
|
||||
counter = counter + 1
|
||||
@ -93,7 +93,7 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
|
||||
end
|
||||
|
||||
if ((pos1.x~=s.x) and (pos1.z~=s.z))
|
||||
and (minetest.env:get_node(pos1).name == "air")
|
||||
and (minetest.get_node(pos1).name == "air")
|
||||
and (counter < 4)
|
||||
then
|
||||
explosion_particles(pos1, 1)
|
||||
|
@ -58,7 +58,7 @@ nssm:register_mob("nssm:larva", "Mantis Larva", {
|
||||
if os.time() - self.metatimer >20 then
|
||||
minetest.log("action",
|
||||
"metatimer expired, metamorphosis! ")
|
||||
local pos=self.object:getpos()
|
||||
local pos=self.object:get_pos()
|
||||
self.object:remove()
|
||||
minetest.add_particlespawner({
|
||||
amount = 200,
|
||||
|
@ -52,12 +52,12 @@ nssm:register_mob("nssm:lava_titan", "Lava Titan", {
|
||||
shoot_offset = 0,
|
||||
--[[
|
||||
on_dist_attack = function(self, player)
|
||||
local pos = player:getpos()
|
||||
local pos = player:get_pos()
|
||||
for dy=-1, 6, 1 do
|
||||
for dx=-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 n = minetest.env:get_node(p).name
|
||||
local n = minetest.get_node(p).name
|
||||
if n~="default:lava_flowing" and not minetest.is_protected(p, "") then
|
||||
minetest.set_node(p, {name="default:lava_flowing"})
|
||||
end
|
||||
|
@ -84,7 +84,7 @@ nssm:register_mob("nssm:masticone", "Masticone", {
|
||||
local chance = math.random(1,math.ceil(respawn_count * 1.5))
|
||||
if chance == 1 then
|
||||
local pos = {x=pos.x+math.random(-1,1), y=pos.y+0.5, z=pos.z+math.random(-1,1)}
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n == "air" then
|
||||
minetest.add_entity(pos, "nssm:masticone")
|
||||
end
|
||||
@ -94,8 +94,8 @@ nssm:register_mob("nssm:masticone", "Masticone", {
|
||||
end,
|
||||
|
||||
do_custom = function (self)
|
||||
local pos = self.object:getpos()
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local pos = self.object:get_pos()
|
||||
local n = minetest.get_node(pos).name
|
||||
|
||||
if n == "default:lava_source" or n == "default:lava_flowing" then
|
||||
self.object:set_hp(self.object:get_hp()-5)
|
||||
@ -111,7 +111,7 @@ nssm:register_mob("nssm:masticone", "Masticone", {
|
||||
|
||||
if obj then
|
||||
|
||||
obj:setvelocity({
|
||||
obj:set_velocity({
|
||||
x = math.random(-1, 1),
|
||||
y = 6,
|
||||
z = math.random(-1, 1)
|
||||
|
@ -74,11 +74,11 @@ nssm:register_mob("nssm:mese_dragon", "Mese Dragon", {
|
||||
self.timer = 0
|
||||
self.attack_rip = self.attack_rip+1
|
||||
|
||||
local s = self.object:getpos()
|
||||
local s = self.object:get_pos()
|
||||
if minetest.is_protected(s, "") then
|
||||
return
|
||||
end
|
||||
local p = self.attack:getpos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
p.y = p.y + 1.5
|
||||
s.y = s.y + 1.5
|
||||
@ -103,9 +103,9 @@ nssm:register_mob("nssm:mese_dragon", "Mese Dragon", {
|
||||
for dx = -17,17 do
|
||||
for dz= -17,17 do
|
||||
local k = {x = s.x+dx, y=s.y+20, z=s.z+dz}
|
||||
local n = minetest.env:get_node(k).name
|
||||
local n = minetest.get_node(k).name
|
||||
if n=="air" and math.random(1,23)==1 then
|
||||
minetest.env:set_node(k, {name="nssm:mese_meteor"})
|
||||
minetest.set_node(k, {name="nssm:mese_meteor"})
|
||||
nodeupdate(k)
|
||||
end
|
||||
end
|
||||
|
@ -57,8 +57,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
|
||||
self.mordain_timer = (self.mordain_timer or os.time())
|
||||
if (os.time() - self.mordain_timer) > 1 then
|
||||
self.mordain_timer = os.time()
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -89,8 +89,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
|
||||
|
||||
for j = -3,3 do
|
||||
ty = d.y + j
|
||||
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
if up == "air" and current ~= "air" then
|
||||
d.y = d.y + j+1.5
|
||||
flag = 1
|
||||
@ -106,8 +106,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
|
||||
if dist>=2 then
|
||||
for j = -3,3 do
|
||||
ty = d.y + j
|
||||
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
if up == "air" and current ~= "air" then
|
||||
d.y = d.y + j+1.5
|
||||
flag = 1
|
||||
|
@ -59,8 +59,8 @@ nssm:register_mob("nssm:morde", "Morde", {
|
||||
if (os.time() - self.morde_timer) > 1 then
|
||||
self.morde_timer = os.time()
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -101,7 +101,7 @@ nssm:register_mob("nssm:morde", "Morde", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
minetest.add_entity(pos, "nssm:mortick")
|
||||
end,
|
||||
@ -122,7 +122,7 @@ minetest.register_entity("nssm:mortick", {
|
||||
self.mortick_timer = self.mortick_timer or os.time()
|
||||
self.timer = self.timer or 0
|
||||
self.timer = self.timer+dtime
|
||||
local s = self.object:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local s1 = {x=s.x, y = s.y-1, z = s.z}
|
||||
|
||||
--[[
|
||||
@ -131,7 +131,7 @@ minetest.register_entity("nssm:mortick", {
|
||||
end
|
||||
]]
|
||||
--The mortick dies when he finds himself in fire
|
||||
local name = minetest.env:get_node(s1).name
|
||||
local name = minetest.get_node(s1).name
|
||||
if name == "fire:basic_flame" or
|
||||
name == "fire:permanent_flame" or
|
||||
name == "nssm:phoenix_fire" or
|
||||
@ -145,7 +145,7 @@ minetest.register_entity("nssm:mortick", {
|
||||
--Find player to attack:
|
||||
self.attack = (self.attack or 0)
|
||||
|
||||
local objects = minetest.env:get_objects_inside_radius(s, 8)
|
||||
local objects = minetest.get_objects_inside_radius(s, 8)
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:is_player()) then
|
||||
self.attack = obj
|
||||
@ -154,7 +154,7 @@ minetest.register_entity("nssm:mortick", {
|
||||
|
||||
--If found a player follow him
|
||||
if self.attack ~= 0 then
|
||||
local p = self.attack:getpos()
|
||||
local p = self.attack:get_pos()
|
||||
local yawp = self.attack:get_look_horizontal()+math.pi/2
|
||||
local pi = math.pi
|
||||
|
||||
@ -166,7 +166,7 @@ minetest.register_entity("nssm:mortick", {
|
||||
local yaws = yawp +pi
|
||||
|
||||
--stay attached to players back:
|
||||
self.object:setvelocity(v)
|
||||
self.object:set_velocity(v)
|
||||
self.object:setyaw(yaws)
|
||||
|
||||
--damage player every ten seconds:
|
||||
|
@ -87,8 +87,8 @@ nssm:register_mob("nssm:morgut", "Morgut", {
|
||||
self.dir = (self.dir or 0)
|
||||
if (os.time() - self.morgut_timer) > 1 then
|
||||
if self.attack then
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
mobs:set_animation(self, "punch")
|
||||
local m = 2
|
||||
|
||||
@ -167,14 +167,14 @@ nssm:register_mob("nssm:morgut", "Morgut", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if (self.inventory ~= nil) then
|
||||
local elem
|
||||
for i = 1,32 do
|
||||
if self.inventory[i].num~=0 then
|
||||
local items = ItemStack(self.inventory[i].name.." "..self.inventory[i].num)
|
||||
local obj = minetest.add_item(pos, items)
|
||||
obj:setvelocity({
|
||||
obj:set_velocity({
|
||||
x = math.random(-1, 1),
|
||||
y = 6,
|
||||
z = math.random(-1, 1)
|
||||
|
@ -89,8 +89,8 @@ nssm:register_mob("nssm:morlu", "Morlu", {
|
||||
self.dir = (self.dir or 0)
|
||||
if (os.time() - self.morlu_timer) > 1 then
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
mobs:set_animation(self, "punch")
|
||||
local m = 1
|
||||
|
||||
@ -201,8 +201,8 @@ nssm:register_mob("nssm:morlu", "Morlu", {
|
||||
end
|
||||
end
|
||||
else
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -225,13 +225,13 @@ nssm:register_mob("nssm:morlu", "Morlu", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if (self.inventory ~= nil) then
|
||||
if self.invnum > 0 then
|
||||
for i=1,self.invnum do
|
||||
local items = ItemStack(self.inventory[i].name.." 1")
|
||||
local obj = minetest.add_item(pos, items)
|
||||
obj:setvelocity({
|
||||
obj:set_velocity({
|
||||
x = math.random(-1, 1),
|
||||
y = 6,
|
||||
z = math.random(-1, 1)
|
||||
|
@ -14,7 +14,7 @@ local function initiation_timeout(self)
|
||||
if os.time() - self.stop_timer > first_hit_timelimit then
|
||||
local shout_distance = 64
|
||||
local message = "Summon me ... when you are ready to fight ..."
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
local objs = minetest.get_objects_inside_radius(pos, shout_distance)
|
||||
|
||||
for k, obj in pairs(objs) do
|
||||
@ -91,8 +91,8 @@ mobs:register_mob("nssm:morvalar", {
|
||||
self.dir = (self.dir or 0)
|
||||
if (os.time() - self.morvalar_timer) > 2 then
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
mobs:set_animation(self, "punch")
|
||||
local m = 1
|
||||
|
||||
@ -168,8 +168,8 @@ mobs:register_mob("nssm:morvalar", {
|
||||
end
|
||||
end
|
||||
else
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -192,7 +192,7 @@ mobs:register_mob("nssm:morvalar", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar6", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -252,8 +252,8 @@ mobs:register_mob("nssm:morvalar6", {
|
||||
self.dir = (self.dir or 0)
|
||||
if (os.time() - self.morvalar6_timer) > 1 then
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
mobs:set_animation(self, "punch")
|
||||
local m = 2
|
||||
|
||||
@ -312,7 +312,7 @@ mobs:register_mob("nssm:morvalar6", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar5", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -373,8 +373,8 @@ mobs:register_mob("nssm:morvalar5", {
|
||||
self.dir = (self.dir or 0)
|
||||
if (os.time() - self.morvalar5_timer) > 2 then
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
minetest.after(2, function(self)
|
||||
mobs:set_animation(self, "punch")
|
||||
tnt_boom_nssm(p, {damage_radius=6,radius=5,ignore_protection=false})
|
||||
@ -383,7 +383,7 @@ mobs:register_mob("nssm:morvalar5", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar4", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -442,8 +442,8 @@ mobs:register_mob("nssm:morvalar4", {
|
||||
self.morvalar4_timer = (self.morvalar4_timer or os.time())
|
||||
if (os.time() - self.morvalar4_timer) > 1 then
|
||||
self.morvalar4_timer = os.time()
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -474,8 +474,8 @@ mobs:register_mob("nssm:morvalar4", {
|
||||
|
||||
for j = -3,3 do
|
||||
ty = d.y + j
|
||||
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
if up == "air" and current ~= "air" then
|
||||
d.y = d.y + j+1.5
|
||||
flag = 1
|
||||
@ -491,8 +491,8 @@ mobs:register_mob("nssm:morvalar4", {
|
||||
if dist>=2 then
|
||||
for j = -3,3 do
|
||||
ty = d.y + j
|
||||
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
|
||||
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
|
||||
if up == "air" and current ~= "air" then
|
||||
d.y = d.y + j+1.5
|
||||
flag = 1
|
||||
@ -506,7 +506,7 @@ mobs:register_mob("nssm:morvalar4", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar3", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -567,7 +567,7 @@ mobs:register_mob("nssm:morvalar3", {
|
||||
initiation_timeout(self)
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar2", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -625,11 +625,11 @@ mobs:register_mob("nssm:morvalar2", {
|
||||
self.morvalar2_timer = (self.morvalar2_timer or os.time())
|
||||
if (os.time() - self.morvalar2_timer) > 1 then
|
||||
self.morvalar2_timer = os.time()
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
local counter = 0
|
||||
local objects = minetest.env:get_objects_inside_radius(s, 7)
|
||||
local objects = minetest.get_objects_inside_radius(s, 7)
|
||||
for _,obj in ipairs(objects) do
|
||||
if obj:get_luaentity() then
|
||||
local name = obj:get_luaentity().name
|
||||
@ -667,7 +667,7 @@ mobs:register_mob("nssm:morvalar2", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar1", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -726,8 +726,8 @@ mobs:register_mob("nssm:morvalar1", {
|
||||
if (os.time() - self.morvalar1_timer) > 3 then
|
||||
self.morvalar1_timer = os.time()
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -751,7 +751,7 @@ mobs:register_mob("nssm:morvalar1", {
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
add_entity_and_particles("nssm:morvalar0", pos, "morparticle.png", 10)
|
||||
end,
|
||||
@ -814,13 +814,13 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
|
||||
self.morvalar1_timer = os.time()
|
||||
|
||||
minetest.sound_play("kamehameha", {
|
||||
pos = self.object:getpos(),
|
||||
pos = self.object:get_pos(),
|
||||
gain = 1.0,
|
||||
})
|
||||
|
||||
minetest.after(1, function()
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
mobs:set_animation(self, "punch")
|
||||
|
||||
@ -830,12 +830,12 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
|
||||
s.y = s.y+0.5
|
||||
p.y = p.y+0.9
|
||||
local dir = {x=(p.x-s.x)*m, y=(p.y-s.y)*m, z=(p.z-s.z)*m} --direction of the kamehameha
|
||||
obj:setvelocity(dir)
|
||||
obj:set_velocity(dir)
|
||||
end)
|
||||
end
|
||||
end,
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
self.object:remove()
|
||||
|
||||
minetest.add_particlespawner({
|
||||
@ -861,7 +861,7 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
|
||||
minetest.register_entity("nssm:kamehameha_bad", {
|
||||
textures = {"kamehameha.png"},
|
||||
on_step = function(self, dtime)
|
||||
local pos = self.object:getpos();
|
||||
local pos = self.object:get_pos();
|
||||
if self.timer == 0 then
|
||||
self.timer = os.time()
|
||||
end
|
||||
@ -871,7 +871,7 @@ minetest.register_entity("nssm:kamehameha_bad", {
|
||||
end
|
||||
|
||||
-- Damage things around the entity
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 2)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 2)
|
||||
for _,obj in ipairs(objects) do
|
||||
if obj:is_player() then
|
||||
--minetest.chat_send_all("Dentro il raggio grande")
|
||||
@ -891,7 +891,7 @@ minetest.register_entity("nssm:kamehameha_bad", {
|
||||
end
|
||||
|
||||
-- Explode things near to the entity
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 1)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 1)
|
||||
for _,obj in ipairs(objects) do
|
||||
if obj:is_player() then
|
||||
tnt_boom_nssm(pos, {damage_radius=6,radius=5})
|
||||
|
@ -62,8 +62,8 @@ nssm:register_mob("nssm:morvy", "Morvy", {
|
||||
self.morvy_counter = 0
|
||||
local counter = 0
|
||||
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
|
||||
p.y = p.y + 1.5
|
||||
s.y = s.y + 1.5
|
||||
@ -77,14 +77,14 @@ nssm:register_mob("nssm:morvy", "Morvy", {
|
||||
end]]
|
||||
local pos1 = {x=s.x+math.random(-0.5,0.5), y=s.y+0.2, z=s.z+math.random(-0.5,0.5)}
|
||||
|
||||
local objects = minetest.env:get_objects_inside_radius(s, 10)
|
||||
local objects = minetest.get_objects_inside_radius(s, 10)
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:get_luaentity() and ((obj:get_luaentity().name == "nssm:morbat1") or (obj:get_luaentity().name == "nssm:morbat2") or (obj:get_luaentity().name == "nssm:morbat3"))) then
|
||||
counter = counter + 1
|
||||
end
|
||||
end
|
||||
|
||||
if (minetest.env:get_node(pos1).name == "air")
|
||||
if (minetest.get_node(pos1).name == "air")
|
||||
and (counter < 5)
|
||||
then
|
||||
local bat
|
||||
|
@ -60,12 +60,12 @@ nssm:register_mob("nssm:morwa", "Morwa", {
|
||||
shoot_end=226,
|
||||
},
|
||||
do_custom = function (self)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
local light = minetest.get_node_light(pos)
|
||||
--minetest.chat_send_all("Luce: "..light)
|
||||
if (light < 8) then
|
||||
self.object:remove()
|
||||
minetest.env:set_node(pos, {name="nssm:morwa_statue"})
|
||||
minetest.set_node(pos, {name="nssm:morwa_statue"})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
@ -65,8 +65,8 @@ nssm:register_mob("nssm:pumpking", "PumpKing", {
|
||||
if (os.time() - self.pumpking_timer) >3 then
|
||||
mobs:set_animation(self, "punch")
|
||||
self.pumpking_timer = os.time()
|
||||
local s = self.object:getpos()
|
||||
local p = self.attack:getpos()
|
||||
local s = self.object:get_pos()
|
||||
local p = self.attack:get_pos()
|
||||
p.y = p.y + 1.5
|
||||
s.y = s.y + 1.5
|
||||
if minetest.line_of_sight(p, s) == true then
|
||||
|
2
mod.conf
2
mod.conf
@ -1 +1,3 @@
|
||||
name = nssm
|
||||
depends = default, mobs, fire, tnt
|
||||
optional_depends = farming, 3d_armor, shields, itemdrop, nyancat
|
@ -7,12 +7,12 @@ function nssm_register_throwitem(name, descr, def)
|
||||
--weapons_shot(itemstack, placer, pointed_thing, def.velocity, name)
|
||||
local velocity = 15
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local playerpos = placer:get_pos();
|
||||
posthrow = playerpos
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
|
||||
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
|
||||
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
|
||||
local acc = {x=0, y=-9.8, z=0}
|
||||
obj:setvelocity(vec)
|
||||
obj:set_velocity(vec)
|
||||
obj:setacceleration(acc)
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
@ -24,7 +24,7 @@ function nssm_register_throwitem(name, descr, def)
|
||||
hp_max = 20,
|
||||
collisionbox = {-0.1,-0.1,-0.1, 0.1,0.1,0.1},
|
||||
on_step = function(self, dtime)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
local node = minetest.get_node(pos)
|
||||
local n = node.name
|
||||
if n ~= "air" then
|
||||
@ -555,11 +555,11 @@ function nssm_register_throwegg(name, descr, def)
|
||||
--weapons_shot(itemstack, placer, pointed_thing, def.velocity, name)
|
||||
local velocity = 15
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
|
||||
local playerpos = placer:get_pos();
|
||||
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
|
||||
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
|
||||
local acc = {x=0, y=-9.8, z=0}
|
||||
obj:setvelocity(vec)
|
||||
obj:set_velocity(vec)
|
||||
obj:setacceleration(acc)
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
@ -569,7 +569,7 @@ function nssm_register_throwegg(name, descr, def)
|
||||
minetest.register_entity("nssm:"..name.."_bomb_flying",{
|
||||
textures = {"evocation_bomb.png^"..name.."_egg.png"},
|
||||
on_step = function(self, dtime)
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
local node = minetest.get_node(pos)
|
||||
local n = node.name
|
||||
if n ~= "air" then
|
||||
|
@ -160,7 +160,7 @@ minetest.register_tool("nssm:axe_of_pride", {
|
||||
damage_groups = {fleshy=16},
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local dropfuel = {name="nssm:energy_globe", description="energy sphere", quantity=1}
|
||||
local part = 0
|
||||
|
||||
@ -198,8 +198,8 @@ minetest.register_tool("nssm:axe_of_pride", {
|
||||
end
|
||||
|
||||
if part == 1 then
|
||||
local s = dropper:getpos()
|
||||
local p = obj:getpos()
|
||||
local s = dropper:get_pos()
|
||||
local p = obj:get_pos()
|
||||
local m = 2
|
||||
|
||||
minetest.add_particlespawner({
|
||||
@ -240,10 +240,10 @@ minetest.register_tool("nssm:gratuitousness_battleaxe", {
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local epicenter_distance = 10
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local flag = 0
|
||||
local vec = dropper:get_look_dir()
|
||||
local pos = dropper:getpos()
|
||||
local pos = dropper:get_pos()
|
||||
--vec.y = 0
|
||||
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
|
||||
|
||||
@ -278,7 +278,7 @@ minetest.register_tool("nssm:sword_of_eagerness", {
|
||||
damage_groups = {fleshy=14},
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local flag = 0
|
||||
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
|
||||
|
||||
@ -291,7 +291,7 @@ minetest.register_tool("nssm:sword_of_eagerness", {
|
||||
if not find_dropfuel(dropper, dropfuel) then
|
||||
return
|
||||
else
|
||||
local pos = obj:getpos()
|
||||
local pos = obj:get_pos()
|
||||
pos.y = pos.y + 15
|
||||
if (obj:is_player()) then
|
||||
if (obj:get_player_name()~=dropper:get_player_name()) then
|
||||
@ -353,7 +353,7 @@ minetest.register_tool("nssm:falchion_of_eagerness", {
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local vec = dropper:get_look_dir()
|
||||
local pos_destination = dropper:getpos()
|
||||
local pos_destination = dropper:get_pos()
|
||||
--vec.y = 0
|
||||
local dropfuel = {name = "nssm:life_energy", description = "life energy", quantity = 5}
|
||||
|
||||
@ -375,7 +375,7 @@ minetest.register_tool("nssm:falchion_of_eagerness", {
|
||||
return
|
||||
|
||||
else
|
||||
local pos_particles = dropper:getpos()
|
||||
local pos_particles = dropper:get_pos()
|
||||
minetest.add_particlespawner({
|
||||
amount = 25,
|
||||
time = 0.3,
|
||||
@ -444,7 +444,7 @@ minetest.register_tool("nssm:sword_of_envy", {
|
||||
damage_groups = {fleshy=14},
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local flag = 0
|
||||
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
|
||||
|
||||
@ -510,7 +510,7 @@ minetest.register_tool("nssm:sword_of_gluttony", {
|
||||
damage_groups = {fleshy=14},
|
||||
},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local flag = 0
|
||||
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
|
||||
|
||||
@ -535,7 +535,7 @@ minetest.register_tool("nssm:sword_of_gluttony", {
|
||||
else
|
||||
if (obj:get_luaentity().health) then
|
||||
if obj:get_luaentity().health <= 32 then
|
||||
local pos = obj:getpos()
|
||||
local pos = obj:get_pos()
|
||||
obj:remove()
|
||||
|
||||
-- We don't use check_for_death, as that would cause it to put regular drops
|
||||
@ -550,8 +550,8 @@ minetest.register_tool("nssm:sword_of_gluttony", {
|
||||
nssm.drops(drop)
|
||||
end
|
||||
|
||||
local s = obj:getpos()
|
||||
local p = dropper:getpos()
|
||||
local s = obj:get_pos()
|
||||
local p = dropper:get_pos()
|
||||
local m = 3
|
||||
|
||||
minetest.add_particlespawner({
|
||||
@ -597,7 +597,7 @@ minetest.register_tool("nssm:death_scythe", {
|
||||
},
|
||||
groups ={not_in_creative_inventory=1},
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 10)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 10)
|
||||
local flag = 0
|
||||
|
||||
dropper:set_hp(math.ceil(dropper:get_hp()/2) )
|
||||
@ -623,7 +623,7 @@ minetest.register_tool("nssm:death_scythe", {
|
||||
drop = minetest.add_item(pos, "nssm:energy_globe 1")
|
||||
|
||||
if drop then
|
||||
drop:setvelocity({
|
||||
drop:set_velocity({
|
||||
x = math.random(-10, 10) / 9,
|
||||
y = 5,
|
||||
z = math.random(-10, 10) / 9,
|
||||
@ -632,7 +632,7 @@ minetest.register_tool("nssm:death_scythe", {
|
||||
end
|
||||
end
|
||||
end
|
||||
local pos = dropper:getpos()
|
||||
local pos = dropper:get_pos()
|
||||
local vec = {x=5,y=5,z=5}
|
||||
local poslist = minetest.find_nodes_in_area(vector.subtract(pos, vec), vector.add(pos,vec), "default:dirt_with_grass")
|
||||
for _,v in pairs(poslist) do
|
||||
|
@ -14,7 +14,7 @@ local tail_replacement = "nssm:light_energy"
|
||||
|
||||
local function drop_rainbow_staff(itemstack, dropper, pos)
|
||||
local extents = 16
|
||||
local airnodes = minetest.env:find_nodes_in_area(
|
||||
local airnodes = minetest.find_nodes_in_area(
|
||||
{x=pos.x-extents , y=pos.y-extents, z=pos.z-extents},
|
||||
{x=pos.x+extents , y=pos.y+extents, z=pos.z+extents},
|
||||
{"air"}
|
||||
@ -44,7 +44,7 @@ if not nssm.server_rainbow_staff then
|
||||
on_step = function (self, pos, node, dtime)
|
||||
self.timer = self.timer or os.time()
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
if nssm.unswappable_node(pos) then
|
||||
return
|
||||
end
|
||||
@ -74,10 +74,10 @@ if not nssm.server_rainbow_staff then
|
||||
groups = {not_in_creative_inventory=1,},
|
||||
on_use = function(itemstack, placer, pointed_thing)
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local playerpos = placer:get_pos();
|
||||
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:rainbow")
|
||||
local vec = {x=dir.x*6,y=dir.y*6,z=dir.z*6}
|
||||
obj:setvelocity(vec)
|
||||
obj:set_velocity(vec)
|
||||
return itemstack
|
||||
end,
|
||||
--on_drop = drop_rainbow_staff,
|
||||
|
@ -50,11 +50,11 @@ local function spears_shot(itemstack, player)
|
||||
end
|
||||
local drag = base_drag * statmodifier
|
||||
|
||||
local playerpos = player:getpos()
|
||||
local playerpos = player:get_pos()
|
||||
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, spear)
|
||||
local dir = player:get_look_dir()
|
||||
|
||||
obj:setvelocity({x=dir.x*speed, y=dir.y*speed, z=dir.z*speed})
|
||||
obj:set_velocity({x=dir.x*speed, y=dir.y*speed, z=dir.z*speed})
|
||||
obj:setacceleration({x=-dir.x*drag, y=-gravity, z=-dir.z*drag})
|
||||
obj:setyaw(player:get_look_horizontal()+(math.pi*1.5))
|
||||
minetest.sound_play("spears_sound", {pos=playerpos})
|
||||
@ -99,7 +99,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
|
||||
SPEAR_ENTITY.on_step = function(self, dtime)
|
||||
self.timer = self.timer+dtime
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
local node = minetest.get_node(pos)
|
||||
|
||||
if not self.wear then
|
||||
@ -127,7 +127,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= spearentityname and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
if not (obj:is_player() and obj:get_luaentity().shooter:get_player_name() == obj:get_player_name() ) then
|
||||
local speed = vector.length(self.object:getvelocity()) / statmodifier
|
||||
local speed = vector.length(self.object:get_velocity()) / statmodifier
|
||||
local damage = (speed + eq)^1.12-20
|
||||
|
||||
obj:punch(self.object, 1.0, {
|
||||
|
@ -8,10 +8,10 @@ local default_dir = {
|
||||
--Function used to shoot:
|
||||
local function weapons_shot(itemstack, placer, pointed_thing, velocity, name)
|
||||
local dir = placer:get_look_dir();
|
||||
local playerpos = placer:getpos();
|
||||
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name)
|
||||
local playerpos = placer:get_pos();
|
||||
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name)
|
||||
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
|
||||
obj:setvelocity(vec)
|
||||
obj:set_velocity(vec)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@ -24,7 +24,7 @@ end
|
||||
|
||||
local function activate_balls(pos)
|
||||
local radius = 50
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, radius)
|
||||
local objects = minetest.get_objects_inside_radius(pos, radius)
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:get_luaentity() and obj:get_luaentity().name == "nssm:hellzone_grenade") then
|
||||
obj:get_luaentity().move = 1
|
||||
@ -39,7 +39,7 @@ local function search_on_step2(
|
||||
radius, --radius in which look for entities to follow
|
||||
vel) --velocity of the projectile
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
--Disappear after a certain time
|
||||
if self.life_time == 0 then
|
||||
@ -51,7 +51,7 @@ local function search_on_step2(
|
||||
end
|
||||
|
||||
--Look for an entity to follow
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, radius)
|
||||
local objects = minetest.get_objects_inside_radius(pos, radius)
|
||||
local min_dist = 100
|
||||
local obj_min = nil
|
||||
local obj_p = nil
|
||||
@ -59,7 +59,7 @@ local function search_on_step2(
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:is_player()) then
|
||||
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item" and obj:get_luaentity().name ~= self.object:get_luaentity().name) then
|
||||
obj_p = obj:getpos()
|
||||
obj_p = obj:get_pos()
|
||||
local vec = {x=obj_p.x-pos.x, y=obj_p.y-pos.y, z=obj_p.z-pos.z}
|
||||
local dist = (vec.x^2+vec.y^2+vec.z^2)^0.5
|
||||
if (dist<min_dist) then
|
||||
@ -93,19 +93,19 @@ local function search_on_step2(
|
||||
vec_min.x = (vec_min.x/max_diff)*vel
|
||||
vec_min.y = (vec_min.y/max_diff)*vel
|
||||
vec_min.z = (vec_min.z/max_diff)*vel
|
||||
obj_p = obj_min:getpos()
|
||||
obj_p = obj_min:get_pos()
|
||||
if min_dist <=8 and self.move==0 then
|
||||
self.object:setvelocity({x=0, y=0, z=0})
|
||||
self.object:set_velocity({x=0, y=0, z=0})
|
||||
|
||||
--hit(pos,self)
|
||||
elseif min_dist<=1 and self.move==1 then
|
||||
hit(pos,self)
|
||||
else
|
||||
self.object:setvelocity(vec_min)
|
||||
self.object:set_velocity(vec_min)
|
||||
end
|
||||
end
|
||||
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n ~= "air" and n ~= "default:water_source" and n ~= "default:water_flowing" then
|
||||
hit(pos,self)
|
||||
end
|
||||
@ -120,7 +120,7 @@ local function search_on_step(
|
||||
vel) --velocity of the projectile
|
||||
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
--Disappear after a certain time
|
||||
if self.life_time == 0 then
|
||||
@ -133,7 +133,7 @@ local function search_on_step(
|
||||
|
||||
|
||||
--Look for an entity to follow
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, radius)
|
||||
local objects = minetest.get_objects_inside_radius(pos, radius)
|
||||
local min_dist = 100
|
||||
local obj_min = nil
|
||||
local obj_p = nil
|
||||
@ -141,7 +141,7 @@ local function search_on_step(
|
||||
for _,obj in ipairs(objects) do
|
||||
if (obj:is_player()) then
|
||||
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item" and obj:get_luaentity().name ~= self.object:get_luaentity().name) then
|
||||
obj_p = obj:getpos()
|
||||
obj_p = obj:get_pos()
|
||||
local vec = {x=obj_p.x-pos.x, y=obj_p.y-pos.y, z=obj_p.z-pos.z}
|
||||
local dist = (vec.x^2+vec.y^2+vec.z^2)^0.5
|
||||
if (dist<min_dist) then
|
||||
@ -175,17 +175,17 @@ local function search_on_step(
|
||||
vec_min.x = (vec_min.x/max_diff)*vel
|
||||
vec_min.y = (vec_min.y/max_diff)*vel
|
||||
vec_min.z = (vec_min.z/max_diff)*vel
|
||||
obj_p = obj_min:getpos()
|
||||
obj_p = obj_min:get_pos()
|
||||
if min_dist < 1 then
|
||||
local node = node_ok(pos).name
|
||||
self.hit_node(self, pos, node)
|
||||
self.object:remove()
|
||||
return
|
||||
else
|
||||
self.object:setvelocity(vec_min)
|
||||
self.object:set_velocity(vec_min)
|
||||
end
|
||||
end
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n ~= "air" and n ~= "default:water_source" and n ~= "default:water_flowing" then
|
||||
local node = node_ok(pos).name
|
||||
self.hit_node(self, pos, node)
|
||||
@ -205,7 +205,7 @@ local function default_on_step(
|
||||
vel) --velocity of the projectile
|
||||
|
||||
|
||||
local pos = self.object:getpos()
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
if self.life_time == 0 then
|
||||
self.life_time = os.time()
|
||||
@ -223,7 +223,7 @@ local function default_on_step(
|
||||
--minetest.chat_send_all("Timer: "..self.timer)
|
||||
|
||||
--while going around it damages entities
|
||||
local objects = minetest.env:get_objects_inside_radius(pos, 2)
|
||||
local objects = minetest.get_objects_inside_radius(pos, 2)
|
||||
if self.timer > 0.1 then
|
||||
self.timer = 0
|
||||
for _,obj in ipairs(objects) do
|
||||
@ -244,14 +244,14 @@ local function default_on_step(
|
||||
end
|
||||
end
|
||||
|
||||
local n = minetest.env:get_node(pos).name
|
||||
local n = minetest.get_node(pos).name
|
||||
if n==not_transparent or minetest.get_item_group(n, not_transparent)==1 then
|
||||
local node = node_ok(pos).name
|
||||
self.hit_node(self, pos, node)
|
||||
self.object:remove()
|
||||
return
|
||||
else
|
||||
local vec = self.object:getvelocity()
|
||||
local vec = self.object:get_velocity()
|
||||
local c=vel/10
|
||||
--calculate how many blocks around need to be removed
|
||||
local max = 0
|
||||
@ -300,7 +300,7 @@ local function default_on_step(
|
||||
for dz = -k,k do
|
||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||
if not minetest.is_protected(p, "") or not minetest.get_item_group(n, "unbreakable") == 1 then
|
||||
minetest.env:remove_node(p)
|
||||
minetest.remove_node(p)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -406,7 +406,7 @@ nssm_register_weapon("hellzone_grenade", {
|
||||
end,
|
||||
|
||||
on_drop = function(itemstack, user, pointed_thing)
|
||||
local pos = user:getpos()
|
||||
local pos = user:get_pos()
|
||||
activate_balls(pos)
|
||||
end,
|
||||
material = "default:mese",
|
||||
|
Loading…
x
Reference in New Issue
Block a user