]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/mob/api/movement.lua
fix mobs not getting hurt inside hurt_inside group nodes
[Crafter.git] / mods / mob / api / movement.lua
index 934e9716b449011a9642bb9a184d5f72b79fe0ad..f92fb8c467360037f542ba10d3361d47c1e56a54 100644 (file)
@@ -34,6 +34,7 @@ mobs.create_movement_functions = function(def,mob_register)
                                        damage_groups = {damage=hurty},
                                })
                        end
+                       self.hurt_inside_timer = 0.25
                else
                        self.hurt_inside_timer = self.hurt_inside_timer - dtime
                end
@@ -183,14 +184,16 @@ mobs.create_movement_functions = function(def,mob_register)
                mob_register.pathfinding = function(self,dtime)
                        if self.following and self.following_pos then
                                self.pathfinding_timer = self.pathfinding_timer + dtime
-                               if self.pathfinding_timer > 1 then
+                               if self.pathfinding_timer > 1 or not self.path_data then
                                        self.pathfinding_timer = 0
 
-                                       local path = minetest.find_path(self.object:get_pos(),self.following_pos,self.view_distance*2,1,1,"A*_noprefetch")
-
-                                       if path and (not self.path_data or (self.path_data and table.getn(self.path_data) < 3)) then
+                                       local path = minetest.find_path(self.object:get_pos(),self.following_pos,self.view_distance*2,1,1,"A*")
+                                       if path then--or (self.path_data and table.getn(self.path_data) < 3)) then
                                                self.path_data = path
                                        end
+                                       if self.path_data and table.getn(self.path_data) <= 4 then
+                                               self.path_data = nil
+                                       end
 
                                        if self.path_data then
                                                for index,pos_data in pairs(self.path_data) do