Fixes in AI_A2G_DISPATCHER

This commit is contained in:
FlightControl 2019-03-09 06:32:11 +01:00
parent ef1a9330a4
commit d72e89d52b
4 changed files with 18 additions and 16 deletions

View File

@ -3216,8 +3216,8 @@ do -- AI_A2G_DISPATCHER
if QueueItem.AttackerDetection and QueueItem.AttackerDetection.ItemID == AttackerDetection.ItemID then
DefendersMissing = DefendersMissing - QueueItem.DefendersNeeded / QueueItem.DefenderSquadron.Overhead
--DefendersEngaged = DefendersEngaged + QueueItem.DefenderGrouping
self:F( { QueueItemName = QueueItem.Defense, QueueItem_ItemID = QueueItem.AttackerDetection.ItemID, DetectedItem = AttackerDetection.ItemID, DefendersMissing = DefendersMissing } )
end
self:F( { QueueItemName = QueueItem.Defense, QueueItem_ItemID = QueueItem.AttackerDetection.ItemID, DetectedItem = AttackerDetection.ItemID, DefendersMissing = DefendersMissing } )
end
self:F( { DefenderCount = DefendersEngaged } )
@ -3353,19 +3353,22 @@ do -- AI_A2G_DISPATCHER
local DefenderSquadron, Patrol = self:CanPatrol( SquadronName, DefenseTaskType )
-- Determine if there are sufficient resources to form a complete group for patrol.
local DefendersNeeded
if DefenderSquadron.ResourceCount == nil then
DefendersNeeded = DefenderSquadron.Grouping
else
if DefenderSquadron.ResourceCount >= DefenderSquadron.Grouping then
DefendersNeeded = DefenderSquadron.Grouping
if DefenderSquadron then
local DefendersNeeded
local DefendersGrouping = ( DefenderSquadron.Grouping or self.DefenderDefault.Grouping )
if DefenderSquadron.ResourceCount == nil then
DefendersNeeded = DefendersGrouping
else
DefendersNeeded = DefenderSquadron.ResourceCount
if DefenderSquadron.ResourceCount >= DefendersGrouping then
DefendersNeeded = DefendersGrouping
else
DefendersNeeded = DefenderSquadron.ResourceCount
end
end
end
if Patrol then
self:ResourceQueue( true, DefenderSquadron, DefendersNeeded, Patrol, DefenseTaskType, nil, SquadronName )
if Patrol then
self:ResourceQueue( true, DefenderSquadron, DefendersNeeded, Patrol, DefenseTaskType, nil, SquadronName )
end
end
end

View File

@ -746,7 +746,6 @@ end
function AI_AIR:OnCrash( EventData )
if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then
self:E( self.Controllable:GetUnits() )
if #self.Controllable:GetUnits() == 1 then
self:__Crash( self.TaskDelay, EventData )
end

View File

@ -58,7 +58,7 @@ do -- DETECTION MANAGER
}
--- @field Tasking.CommandCenter#COMMANDCENTER
DETECTION_MANAGER.CC = {}
DETECTION_MANAGER.CC = nil
--- FAC constructor.
-- @param #DETECTION_MANAGER self

View File

@ -1900,7 +1900,7 @@ function CONTROLLABLE:TaskFunction( FunctionString, ... )
local DCSScript = {}
DCSScript[#DCSScript+1] = "local MissionControllable = GROUP:Find( ... ) "
DCSScript[#DCSScript+1] = "env.info( 'TaskFunction: ' .. ( MissionControllable and MissionControllable:GetName() ) or 'No Group' )"
--DCSScript[#DCSScript+1] = "env.info( 'TaskFunction: ' .. ( MissionControllable and MissionControllable:GetName() ) or 'No Group' )"
if arg and arg.n > 0 then
local ArgumentKey = '_' .. tostring( arg ):match("table: (.*)")