]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/mob/api/timers.lua
Implement first prototype of pathfinding
[Crafter.git] / mods / mob / api / timers.lua
index ea15b71f806f08809daf0f640701b4a5d7c0715b..053e2a345958239f4b3fd963e442145e626c343e 100644 (file)
@@ -39,12 +39,12 @@ mobs.create_timer_functions = function(def,mob_register)
                self.tnt_timer = self.tnt_timer - dtime
                self.tnt_tick_timer = self.tnt_tick_timer  - dtime
                if self.tnt_tick_timer <= 0 and not self.dead then
-                       self.tnt_tick_timer = 0.2
+                       self.tnt_tick_timer = self.explosion_blink_timer
                        self.tnt_mod_state = math.abs(self.tnt_mod_state-1)
                        if self.tnt_mod_state == 0 then
                                self.object:set_texture_mod("")
                        else
-                               self.object:set_texture_mod("^[colorize:white:130")
+                               self.object:set_texture_mod("^[colorize:"..self.explosion_blink_color..":130")
                        end
                        --print(self.object:get_texture_mod())
                        --self.object:set_texture_mod("^[colorize:red:130")
@@ -54,12 +54,8 @@ mobs.create_timer_functions = function(def,mob_register)
                        self.object:set_texture_mod("^[colorize:red:130")
                        
                        local pos = self.object:get_pos()
-                       --direction.y = direction.y + 1
-                       
-                       tnt(pos,7)
-                       self.death_animation_timer = 1
-                       self.dead = true
-                       self.tnt_timer = 100
+                       self.object:remove()
+                       tnt(pos,self.explosion_power)
                end
        end
 
@@ -67,6 +63,23 @@ mobs.create_timer_functions = function(def,mob_register)
                self.projectile_timer = self.projectile_timer - dtime
        end
 
+       if def.friendly_in_daylight then
+               mob_register.handle_friendly_in_daylight_timer = function(self,dtime)
+                       self.friendly_in_daylight_timer = self.friendly_in_daylight_timer + dtime
+                       if self.friendly_in_daylight_timer >= 2 then
+                               self.friendly_in_daylight_timer = 0
+                               local pos = self.object:get_pos()
+                               if minetest.get_node_light(pos) >= 13 then --1 greater than torch light
+                                       if self.following == false then
+                                               self.hostile = false
+                                       end
+                               else
+                                       self.hostile = true
+                               end
+                       end
+               end
+       end
+
        --this stops the pig from flying into the air
        mob_register.manage_jump_timer = function(self,dtime)
                if self.jump_timer > 0 then