diff --git a/mobs/masticone.lua b/mobs/masticone.lua index 65f5334..f34277f 100644 --- a/mobs/masticone.lua +++ b/mobs/masticone.lua @@ -55,6 +55,7 @@ mobs:register_mob("nssm:masticone", { punch_end = 180, }, on_die = function(self, pos) + self.object:remove() core.after(2, function() minetest.add_particlespawner( 200, --amount diff --git a/mobs/morde.lua b/mobs/morde.lua index d52820f..6736017 100644 --- a/mobs/morde.lua +++ b/mobs/morde.lua @@ -93,6 +93,7 @@ mobs:register_mob("nssm:morde", { end, on_die = function(self) local pos = self.object:getpos() + self.object:remove() minetest.add_entity(pos, "nssm:mortick") end, }) diff --git a/mobs/morgut.lua b/mobs/morgut.lua index f55596e..fa4507c 100644 --- a/mobs/morgut.lua +++ b/mobs/morgut.lua @@ -168,5 +168,6 @@ mobs:register_mob("nssm:morgut", { end end end + self.object:remove() end, }) diff --git a/mobs/morlu.lua b/mobs/morlu.lua index c757f01..9eea1ed 100644 --- a/mobs/morlu.lua +++ b/mobs/morlu.lua @@ -89,6 +89,11 @@ mobs:register_mob("nssm:morlu", { local pname = self.attack:get_player_name() local player_inv = minetest.get_inventory({type='player', name = pname}) if player_inv:is_empty('armor') then + -- punch player if he doesn't own an armor + self.attack:punch(self.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = self.damage} + }, nil) else local armor_elements = {} local armor_num = 0 @@ -103,7 +108,6 @@ mobs:register_mob("nssm:morlu", { end end if armor_num > 0 then - --minetest.chat_send_all("Numero di pezzi: "..armor_num) steal_pos = math.random(1,armor_num) steal_pos = steal_pos-1 --[[for i=0,armor_num-1 do @@ -162,8 +166,8 @@ mobs:register_mob("nssm:morlu", { --Update personal inventory of armors: if (self.invnum ~= nil) and (self.invnum <= 5) then - minetest.chat_send_all("Invnum: "..self.invnum) - minetest.chat_send_all("Salvo: "..armor_elements[steal_pos].name) + --minetest.chat_send_all("Invnum: "..self.invnum) + --minetest.chat_send_all("Salvo: "..armor_elements[steal_pos].name) self.invnum = self.invnum + 1 self.inventory[self.invnum].name = armor_elements[steal_pos].name end @@ -179,9 +183,6 @@ mobs:register_mob("nssm:morlu", { set_velocity(self, 4) end,self) - else - --Aggiungere qui cosa fa se non indossi armatura - end end end @@ -202,5 +203,6 @@ mobs:register_mob("nssm:morlu", { end end end + self.object:remove() end, }) diff --git a/mobs/morwa.lua b/mobs/morwa.lua index d26d3bb..3a03c68 100644 --- a/mobs/morwa.lua +++ b/mobs/morwa.lua @@ -49,5 +49,14 @@ mobs:register_mob("nssm:morwa", { punch_end = 160, shoot_start =176, shoot_end=226, - } + }, + do_custom = function (self) + local pos = self.object:getpos() + 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"}) + end + end, }) diff --git a/mobs/night_master.lua b/mobs/night_master.lua index 150970f..9a39641 100644 --- a/mobs/night_master.lua +++ b/mobs/night_master.lua @@ -58,6 +58,7 @@ mobs:register_mob("nssm:night_master", { false, --collisiondetection "tnt_smoke.png" --texture ) + self.object:remove() minetest.add_entity(pos, "nssm:night_master_2") end, }) @@ -122,6 +123,7 @@ mobs:register_mob("nssm:night_master_2", { false, --collisiondetection "tnt_smoke.png" --texture ) + self.object:remove() minetest.add_entity(pos, "nssm:night_master_1") end, }) diff --git a/mobs/pumpking.lua b/mobs/pumpking.lua index a1d215c..138bf72 100644 --- a/mobs/pumpking.lua +++ b/mobs/pumpking.lua @@ -46,6 +46,7 @@ mobs:register_mob("nssm:pumpking", { }, on_die=function(self,pos) explosion(pos, 3, 0, 1, self.sounds.explode) + self.object:remove() end, custom_attack = function(self) if self.timer >3 then diff --git a/mobs/tarantula.lua b/mobs/tarantula.lua index faafc15..c7a7a8a 100644 --- a/mobs/tarantula.lua +++ b/mobs/tarantula.lua @@ -40,6 +40,7 @@ mobs:register_mob("nssm:tarantula", { punch_end = 200, }, on_die = function(self, pos) + self.object:remove() minetest.add_particlespawner( 200, --amount 0.1, --time diff --git a/nssm_materials.lua b/nssm_materials.lua index 44fade8..666b55d 100644 --- a/nssm_materials.lua +++ b/nssm_materials.lua @@ -158,7 +158,7 @@ minetest.register_ore({ height_max = 40, }) end - + minetest.register_ore({ ore_type = "scatter", ore = "nssm:web", @@ -376,7 +376,7 @@ minetest.register_abm({ minetest.set_node({x = pos.x, y = pos.y , z = pos.z}, {name = "air"}) end }) - + --tools minetest.register_tool('nssm:sun_sword', { @@ -906,14 +906,14 @@ minetest.register_abm({ neighbors = {"air"}, interval = 1, chance = 1, - action = + action = function(pos, node) local pos1 = {x=pos.x, y=pos.y+1, z=pos.z} local n = minetest.env:get_node(pos1).name if n ~= "air" then return end - if (minetest.get_node_light(pos1, 0.5) > 8) + if (minetest.get_node_light(pos1) > 8) then minetest.add_entity(pos1, "nssm:morwa") minetest.remove_node(pos) @@ -965,4 +965,4 @@ minetest.register_craft({ {'nssm:black_duck_feather', 'nssm:energy_globe', 'nssm:black_duck_feather'}, {'nssm:duck_legs', 'nssm:black_duck_feather', 'nssm:duck_legs'}, } -}) \ No newline at end of file +})