From e2dd85d9e42e94db912611ab2b5300b2e62ec6f2 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 9 Mar 2017 15:44:58 +0100 Subject: [PATCH] Fix some mob pathfinding problems, switch to A* --- mods/ENTITIES/mobs/api.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mobs/api.lua b/mods/ENTITIES/mobs/api.lua index 08d9cfd32..f5bd3d9a9 100644 --- a/mods/ENTITIES/mobs/api.lua +++ b/mods/ENTITIES/mobs/api.lua @@ -841,7 +841,17 @@ local function smart_mobs(self, s, p, dist, dtime) p1.y = floor(p1.y + 0.5) p1.z = floor(p1.z + 0.5) - self.path.way = minetest.find_path(s, p1, 16, 2, 6, "Dijkstra") --"A*_noprefetch") + local drop_height = self.fear_height + if not drop_height then + drop_height = 4 + end + local jump_height + if self.jump_height then + jump_height = math.max(1, self.jump_height/3) + else + jump_height = 1 + end + self.path.way = minetest.find_path(s, p1, self.view_range + 1, jump_height, drop_height, "A*_noprefetch") -- attempt to unstick mob that is "daydreaming" self.object:setpos({