From f81fd5abebeb164551d547c792b71909717cd03d Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 16 Jun 2014 14:18:22 +0300 Subject: [PATCH] Sound effects for mobs dying and taking damage --- api.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/api.lua b/api.lua index 71b55e5..462bcad 100644 --- a/api.lua +++ b/api.lua @@ -152,7 +152,14 @@ function mobs:register_mob(name, def) local damage = d-5 self.object:set_hp(self.object:get_hp()-damage) if self.object:get_hp() == 0 then + if self.sounds and self.sounds.die then + minetest.sound_play(self.sounds.die, {object = self.object}) + end self.object:remove() + else + if self.sounds and self.sounds.damage then + minetest.sound_play(self.sounds.damage, {object = self.object}) + end end end self.old_y = self.object:getpos().y @@ -184,7 +191,14 @@ function mobs:register_mob(name, def) then self.object:set_hp(self.object:get_hp()-self.light_damage) if self.object:get_hp() == 0 then + if self.sounds and self.sounds.die then + minetest.sound_play(self.sounds.die, {object = self.object}) + end self.object:remove() + else + if self.sounds and self.sounds.damage then + minetest.sound_play(self.sounds.damage, {object = self.object}) + end end end @@ -193,7 +207,14 @@ function mobs:register_mob(name, def) then self.object:set_hp(self.object:get_hp()-self.water_damage) if self.object:get_hp() == 0 then + if self.sounds and self.sounds.die then + minetest.sound_play(self.sounds.die, {object = self.object}) + end self.object:remove() + else + if self.sounds and self.sounds.damage then + minetest.sound_play(self.sounds.damage, {object = self.object}) + end end end @@ -202,7 +223,14 @@ function mobs:register_mob(name, def) then self.object:set_hp(self.object:get_hp()-self.lava_damage) if self.object:get_hp() == 0 then + if self.sounds and self.sounds.die then + minetest.sound_play(self.sounds.die, {object = self.object}) + end self.object:remove() + else + if self.sounds and self.sounds.damage then + minetest.sound_play(self.sounds.damage, {object = self.object}) + end end end end @@ -470,6 +498,13 @@ function mobs:register_mob(name, def) end end end + if self.sounds and self.sounds.die then + minetest.sound_play(self.sounds.die, {object = self.object}) + end + else + if self.sounds and self.sounds.damage then + minetest.sound_play(self.sounds.damage, {object = self.object}) + end end end,