]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/mob/api/timers.lua
Make players use same damage mechanics as mobs
[Crafter.git] / mods / mob / api / timers.lua
index 560322f1ccb8a3ee8390fc36089dbbb6eae6192b..82ad6c892bf4b2ad485081edc1152ebc825b94da 100644 (file)
@@ -59,10 +59,38 @@ mobs.create_timer_functions = function(def,mob_register)
                end
        end
 
+       if def.custom_timer then
+               mob_register.do_custom_timer = function(self,dtime)
+                       self.c_timer = self.c_timer + dtime
+                       if self.c_timer >= self.custom_timer then
+                               self.c_timer = 0 
+                               self.custom_timer_function(self,dtime)
+                       end
+               end
+       end
+
        mob_register.manage_projectile_timer = function(self,dtime)
                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()
+                               local light = minetest.get_node_light(pos)
+                               if pos and light and light >= 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