diff --git a/Moose Development/Moose/AI/AI_Air_Engage.lua b/Moose Development/Moose/AI/AI_Air_Engage.lua index c9f6bc562..00df0ec32 100644 --- a/Moose Development/Moose/AI/AI_Air_Engage.lua +++ b/Moose Development/Moose/AI/AI_Air_Engage.lua @@ -533,6 +533,10 @@ function AI_AIR_ENGAGE:onafterEngage( DefenderGroup, From, Event, To, AttackSetU DefenderCoord:SetY( EngageAltitude ) -- Ground targets don't have an altitude. local TargetCoord = AttackSetUnit:GetFirst():GetPointVec3() + if not TargetCoord then + self:Return() + return + end TargetCoord:SetY( EngageAltitude ) -- Ground targets don't have an altitude. local TargetDistance = DefenderCoord:Get2DDistance( TargetCoord ) diff --git a/Moose Development/Moose/AI/AI_Patrol.lua b/Moose Development/Moose/AI/AI_Patrol.lua index 07b538f87..71ee7663f 100644 --- a/Moose Development/Moose/AI/AI_Patrol.lua +++ b/Moose Development/Moose/AI/AI_Patrol.lua @@ -872,7 +872,7 @@ function AI_PATROL_ZONE:onafterRTB() --- Calculate the current route point. 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:GetUnit(1):GetAltitude() local CurrentAltitude = self.Controllable:GetAltitude() diff --git a/Moose Development/Moose/Core/Point.lua b/Moose Development/Moose/Core/Point.lua index d3df9c245..0454f1274 100644 --- a/Moose Development/Moose/Core/Point.lua +++ b/Moose Development/Moose/Core/Point.lua @@ -892,9 +892,8 @@ do -- COORDINATE -- @param #COORDINATE TargetCoordinate The target COORDINATE. Can also be a DCS#Vec3. -- @return DCS#Distance Distance The distance in meters. function COORDINATE:Get2DDistance(TargetCoordinate) - + if not TargetCoordinate then return 1000000 end local a={x=TargetCoordinate.x-self.x, y=0, z=TargetCoordinate.z-self.z} - local norm=UTILS.VecNorm(a) return norm end diff --git a/Moose Development/Moose/Core/Set.lua b/Moose Development/Moose/Core/Set.lua index baff53f86..518d8ff62 100644 --- a/Moose Development/Moose/Core/Set.lua +++ b/Moose Development/Moose/Core/Set.lua @@ -349,7 +349,6 @@ do -- SET_BASE return complement end - --- Compare two sets. -- @param #SET_BASE self -- @param Core.Set#SET_BASE SetA First set. @@ -366,9 +365,6 @@ do -- SET_BASE return SetA end - - - --- Gets a @{Core.Base#BASE} object from the @{Core.Set#SET_BASE} and derived classes, based on the Object Name. -- @param #SET_BASE self -- @param #string ObjectName diff --git a/Moose Development/Moose/Functional/Detection.lua b/Moose Development/Moose/Functional/Detection.lua index 3e2e124c7..fd6320ae0 100644 --- a/Moose Development/Moose/Functional/Detection.lua +++ b/Moose Development/Moose/Functional/Detection.lua @@ -599,7 +599,7 @@ do -- DETECTION_BASE -- @param #string From The From State string. -- @param #string Event The Event string. -- @param #string To The To State string. - -- @param Wrapper.Group#GROUP DetectionGroup The Group detecting. + -- @param Wrapper.Group#GROUP Detection The Group detecting. -- @param #number DetectionTimeStamp Time stamp of detection event. function DETECTION_BASE:onafterDetection( From, Event, To, Detection, DetectionTimeStamp ) @@ -670,7 +670,7 @@ do -- DETECTION_BASE local DetectedObjectVec3 = DetectedObject:getPoint() local DetectedObjectVec2 = { x = DetectedObjectVec3.x, y = DetectedObjectVec3.z } - local DetectionGroupVec3 = Detection:GetVec3() + local DetectionGroupVec3 = Detection:GetVec3() or {x=0,y=0,z=0} local DetectionGroupVec2 = { x = DetectionGroupVec3.x, y = DetectionGroupVec3.z } local Distance = ( ( DetectedObjectVec3.x - DetectionGroupVec3.x )^2 + diff --git a/Moose Development/Moose/Wrapper/Group.lua b/Moose Development/Moose/Wrapper/Group.lua index 96807c26a..d8b23a871 100644 --- a/Moose Development/Moose/Wrapper/Group.lua +++ b/Moose Development/Moose/Wrapper/Group.lua @@ -1170,7 +1170,7 @@ function GROUP:GetFuelAvg() local TotalFuel = 0 for UnitID, UnitData in pairs( self:GetUnits() ) do local Unit = UnitData -- Wrapper.Unit#UNIT - local UnitFuel = Unit:GetFuel() + local UnitFuel = Unit:GetFuel() or 0 self:F( { Fuel = UnitFuel } ) TotalFuel = TotalFuel + UnitFuel end