From ba4a8050ba527c45678b27418a665a5dc606f925 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Fri, 6 May 2022 10:36:39 +0200 Subject: [PATCH] AI Patrol - life check on route --- Moose Development/Moose/AI/AI_Patrol.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/AI/AI_Patrol.lua b/Moose Development/Moose/AI/AI_Patrol.lua index d9b1e7f83..3cde74e56 100644 --- a/Moose Development/Moose/AI/AI_Patrol.lua +++ b/Moose Development/Moose/AI/AI_Patrol.lua @@ -726,7 +726,8 @@ function AI_PATROL_ZONE:onafterRoute( Controllable, From, Event, To ) end - if self.Controllable:IsAlive() then + local life = self.Controllable:GetLife() or 0 + if self.Controllable:IsAlive() and life > 1 then -- Determine if the AIControllable is within the PatrolZone. -- If not, make a waypoint within the to that the AIControllable will fly at maximum speed to that point. @@ -743,6 +744,7 @@ function AI_PATROL_ZONE:onafterRoute( Controllable, From, Event, To ) if self.Controllable:InAir() == false then self:T( "Not in the air, finding route path within PatrolZone" ) local CurrentVec2 = self.Controllable:GetVec2() + if not CurrentVec2 then return end --DONE: Create GetAltitude function for GROUP, and delete GetUnit(1). local CurrentAltitude = self.Controllable:GetAltitude() local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) @@ -758,6 +760,7 @@ function AI_PATROL_ZONE:onafterRoute( Controllable, From, Event, To ) else self:T( "In the air, finding route path within PatrolZone" ) local CurrentVec2 = self.Controllable:GetVec2() + if not CurrentVec2 then return end --DONE: Create GetAltitude function for GROUP, and delete GetUnit(1). local CurrentAltitude = self.Controllable:GetAltitude() local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y )