mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Fixes in AI_A2G_DISPATCHER
This commit is contained in:
parent
ef1a9330a4
commit
d72e89d52b
@ -3216,9 +3216,9 @@ do -- AI_A2G_DISPATCHER
|
|||||||
if QueueItem.AttackerDetection and QueueItem.AttackerDetection.ItemID == AttackerDetection.ItemID then
|
if QueueItem.AttackerDetection and QueueItem.AttackerDetection.ItemID == AttackerDetection.ItemID then
|
||||||
DefendersMissing = DefendersMissing - QueueItem.DefendersNeeded / QueueItem.DefenderSquadron.Overhead
|
DefendersMissing = DefendersMissing - QueueItem.DefendersNeeded / QueueItem.DefenderSquadron.Overhead
|
||||||
--DefendersEngaged = DefendersEngaged + QueueItem.DefenderGrouping
|
--DefendersEngaged = DefendersEngaged + QueueItem.DefenderGrouping
|
||||||
end
|
|
||||||
self:F( { QueueItemName = QueueItem.Defense, QueueItem_ItemID = QueueItem.AttackerDetection.ItemID, DetectedItem = AttackerDetection.ItemID, DefendersMissing = DefendersMissing } )
|
self:F( { QueueItemName = QueueItem.Defense, QueueItem_ItemID = QueueItem.AttackerDetection.ItemID, DetectedItem = AttackerDetection.ItemID, DefendersMissing = DefendersMissing } )
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
self:F( { DefenderCount = DefendersEngaged } )
|
self:F( { DefenderCount = DefendersEngaged } )
|
||||||
|
|
||||||
@ -3353,12 +3353,14 @@ do -- AI_A2G_DISPATCHER
|
|||||||
local DefenderSquadron, Patrol = self:CanPatrol( SquadronName, DefenseTaskType )
|
local DefenderSquadron, Patrol = self:CanPatrol( SquadronName, DefenseTaskType )
|
||||||
|
|
||||||
-- Determine if there are sufficient resources to form a complete group for patrol.
|
-- Determine if there are sufficient resources to form a complete group for patrol.
|
||||||
|
if DefenderSquadron then
|
||||||
local DefendersNeeded
|
local DefendersNeeded
|
||||||
|
local DefendersGrouping = ( DefenderSquadron.Grouping or self.DefenderDefault.Grouping )
|
||||||
if DefenderSquadron.ResourceCount == nil then
|
if DefenderSquadron.ResourceCount == nil then
|
||||||
DefendersNeeded = DefenderSquadron.Grouping
|
DefendersNeeded = DefendersGrouping
|
||||||
else
|
else
|
||||||
if DefenderSquadron.ResourceCount >= DefenderSquadron.Grouping then
|
if DefenderSquadron.ResourceCount >= DefendersGrouping then
|
||||||
DefendersNeeded = DefenderSquadron.Grouping
|
DefendersNeeded = DefendersGrouping
|
||||||
else
|
else
|
||||||
DefendersNeeded = DefenderSquadron.ResourceCount
|
DefendersNeeded = DefenderSquadron.ResourceCount
|
||||||
end
|
end
|
||||||
@ -3367,6 +3369,7 @@ do -- AI_A2G_DISPATCHER
|
|||||||
if Patrol then
|
if Patrol then
|
||||||
self:ResourceQueue( true, DefenderSquadron, DefendersNeeded, Patrol, DefenseTaskType, nil, SquadronName )
|
self:ResourceQueue( true, DefenderSquadron, DefendersNeeded, Patrol, DefenseTaskType, nil, SquadronName )
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -746,7 +746,6 @@ end
|
|||||||
function AI_AIR:OnCrash( EventData )
|
function AI_AIR:OnCrash( EventData )
|
||||||
|
|
||||||
if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then
|
if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then
|
||||||
self:E( self.Controllable:GetUnits() )
|
|
||||||
if #self.Controllable:GetUnits() == 1 then
|
if #self.Controllable:GetUnits() == 1 then
|
||||||
self:__Crash( self.TaskDelay, EventData )
|
self:__Crash( self.TaskDelay, EventData )
|
||||||
end
|
end
|
||||||
|
|||||||
@ -58,7 +58,7 @@ do -- DETECTION MANAGER
|
|||||||
}
|
}
|
||||||
|
|
||||||
--- @field Tasking.CommandCenter#COMMANDCENTER
|
--- @field Tasking.CommandCenter#COMMANDCENTER
|
||||||
DETECTION_MANAGER.CC = {}
|
DETECTION_MANAGER.CC = nil
|
||||||
|
|
||||||
--- FAC constructor.
|
--- FAC constructor.
|
||||||
-- @param #DETECTION_MANAGER self
|
-- @param #DETECTION_MANAGER self
|
||||||
|
|||||||
@ -1900,7 +1900,7 @@ function CONTROLLABLE:TaskFunction( FunctionString, ... )
|
|||||||
|
|
||||||
local DCSScript = {}
|
local DCSScript = {}
|
||||||
DCSScript[#DCSScript+1] = "local MissionControllable = GROUP:Find( ... ) "
|
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
|
if arg and arg.n > 0 then
|
||||||
local ArgumentKey = '_' .. tostring( arg ):match("table: (.*)")
|
local ArgumentKey = '_' .. tostring( arg ):match("table: (.*)")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user