From dd04be9749ff59b1d0b9e5285d34ce7c63fd67ce Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Fri, 2 Dec 2016 20:42:05 +0000 Subject: added die animation (thx npxcoot) --- api.lua | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'api.lua') diff --git a/api.lua b/api.lua index 3d633fe..5bd62e1 100644 --- a/api.lua +++ b/api.lua @@ -1,5 +1,5 @@ --- Mobs Api (1st December 2016) +-- Mobs Api (2nd December 2016) mobs = {} mobs.mod = "redo" @@ -195,6 +195,19 @@ set_animation = function(self, type) self.animation.current = "shoot" end + elseif type == "die" + and self.animation.current ~= "die" then + + if self.animation.die_start + and self.animation.die_end then + + self.object:set_animation({ + x = self.animation.die_start, + y = self.animation.die_end}, + (self.animation.speed_die or self.animation.speed_normal), 0) + + self.animation.current = "die" + end end end @@ -370,8 +383,25 @@ function check_for_death(self) return true end - -- default death function - self.object:remove() + -- default death function and die animation (if defined) + if self.animation.die_start + and self.animation.die_end then + + self.attack = nil + self.v_start = false + self.timer = 0 + self.blinktimer = 0 + self.passive = true + self.state = "die" + set_velocity(self, 0) + set_animation(self, "die") + + minetest.after(1, function(self) + self.object:remove() + end, self) + else + self.object:remove() + end effect(pos, 20, "tnt_smoke.png") -- cgit v1.2.3