diff --git a/Moose Development/Moose/AI/AI_A2G_Dispatcher.lua b/Moose Development/Moose/AI/AI_A2G_Dispatcher.lua index 451414f7f..0396e4e9f 100644 --- a/Moose Development/Moose/AI/AI_A2G_Dispatcher.lua +++ b/Moose Development/Moose/AI/AI_A2G_Dispatcher.lua @@ -3895,10 +3895,14 @@ do -- AI_A2G_DISPATCHER if Squadron then local FirstUnit = AttackSetUnit:GetRandomSurely() + if FirstUnit then local Coordinate = FirstUnit:GetCoordinate() -- Core.Point#COORDINATE if self.SetSendPlayerMessages then Dispatcher:MessageToPlayers( Squadron, DefenderName .. ", on route to ground target at " .. Coordinate:ToStringA2G( DefenderGroup ), DefenderGroup ) end + else + return + end end self:GetParent(self).onafterEngageRoute( self, DefenderGroup, From, Event, To, AttackSetUnit ) end @@ -4784,4 +4788,5 @@ end Squadron.ResourceCount = Squadron.ResourceCount - Amount end self:T({Squadron = Squadron.Name,SquadronResourceCount = Squadron.ResourceCount}) - end \ No newline at end of file + end + \ No newline at end of file diff --git a/Moose Development/Moose/Functional/Detection.lua b/Moose Development/Moose/Functional/Detection.lua index 367e460bc..1c1de3d50 100644 --- a/Moose Development/Moose/Functional/Detection.lua +++ b/Moose Development/Moose/Functional/Detection.lua @@ -595,7 +595,8 @@ do -- DETECTION_BASE return self end - + + --- -- @param #DETECTION_BASE self -- @param #string From The From State string. -- @param #string Event The Event string. @@ -615,7 +616,7 @@ do -- DETECTION_BASE self:T( { "DetectionGroup is Alive", Detection:GetName() } ) local DetectionGroupName = Detection:GetName() - local DetectionUnit = Detection:GetUnit( 1 ) + local DetectionUnit = Detection:GetFirstUnitAlive() local DetectedUnits = {} @@ -632,20 +633,20 @@ do -- DETECTION_BASE --self:T(UTILS.PrintTableToLog(DetectedTargets)) - for DetectionObjectID, Detection in pairs( DetectedTargets ) do + for DetectionObjectID, Detection in pairs( DetectedTargets or {}) do local DetectedObject = Detection.object -- DCS#Object if DetectedObject and DetectedObject:isExist() and DetectedObject.id_ < 50000000 then -- and ( DetectedObject:getCategory() == Object.Category.UNIT or DetectedObject:getCategory() == Object.Category.STATIC ) then local DetectedObjectName = DetectedObject:getName() if not self.DetectedObjects[DetectedObjectName] then self.DetectedObjects[DetectedObjectName] = self.DetectedObjects[DetectedObjectName] or {} - self.DetectedObjects[DetectedObjectName].Name = DetectedObjectName + self.DetectedObjects[DetectedObjectName].Name = DetectedObjectName self.DetectedObjects[DetectedObjectName].Object = DetectedObject end end end - for DetectionObjectName, DetectedObjectData in pairs( self.DetectedObjects ) do + for DetectionObjectName, DetectedObjectData in pairs( self.DetectedObjects or {}) do local DetectedObject = DetectedObjectData.Object diff --git a/Moose Development/Moose/Functional/Warehouse.lua b/Moose Development/Moose/Functional/Warehouse.lua index cab1d0899..b7a69a44e 100644 --- a/Moose Development/Moose/Functional/Warehouse.lua +++ b/Moose Development/Moose/Functional/Warehouse.lua @@ -6732,7 +6732,7 @@ end -- @param Wrapper.Group#GROUP deadgroup Group of unit that died. -- @param #WAREHOUSE.Pendingitem request Request that needs to be updated. function WAREHOUSE:_UnitDead(deadunit, deadgroup, request) - self:F(self.lid.."FF unit dead "..deadunit:GetName()) + --self:F(self.lid.."FF unit dead "..deadunit:GetName()) -- Find opsgroup. local opsgroup=_DATABASE:FindOpsGroup(deadgroup) diff --git a/Moose Development/Moose/Ops/Airboss.lua b/Moose Development/Moose/Ops/Airboss.lua index 2fce2dc41..f7b0dc95a 100644 --- a/Moose Development/Moose/Ops/Airboss.lua +++ b/Moose Development/Moose/Ops/Airboss.lua @@ -14678,7 +14678,7 @@ function AIRBOSS:_GetPlayerUnitAndName( _unitName ) -- Get DCS unit from its name. local DCSunit = Unit.getByName( _unitName ) - if DCSunit then + if DCSunit and DCSunit.getPlayerName then -- Get player name if any. local playername = DCSunit:getPlayerName()