Fixed friendlies nearby calculation

* Added DETECTION_BASE:FilterFriendliesCategory() method, which allows
to filter friendlies based on the category of the units found. This
method was required to be added to avoid counting airborne units as
friendlies in A2G missions.
This commit is contained in:
FlightControl_Master
2017-08-30 09:28:04 +02:00
parent ea96a5e0a3
commit 05d9faedee
15 changed files with 76 additions and 46 deletions

View File

@@ -1239,7 +1239,7 @@ do -- AI_A2A_DISPATCHER
--- Set the default CAP limit for squadrons, which will be used to determine how many CAP can be airborne at the same time for the squadron.
-- The default CAP time interval is 1 CAP.
-- The default CAP limit is 1 CAP, which means one CAP group being spawned.
-- @param #AI_A2A_DISPATCHER self
-- @param #number CapLimit The maximum amount of CAP that can be airborne at the same time for the squadron.
-- @return #AI_A2A_DISPATCHER
@@ -1497,7 +1497,7 @@ do -- AI_A2A_DISPATCHER
end
---
--- Set a CAP for a Squadron.
-- @param #AI_A2A_DISPATCHER self
-- @param #string SquadronName The squadron name.
-- @param Core.Zone#ZONE_BASE Zone The @{Zone} object derived from @{Zone#ZONE_BASE} that defines the zone wherein the CAP will be executed.
@@ -1549,9 +1549,13 @@ do -- AI_A2A_DISPATCHER
return self
end
---
--- Set the squadron CAP parameters.
-- @param #AI_A2A_DISPATCHER self
-- @param #string SquadronName The squadron name.
-- @param #number CapLimit (optional) The maximum amount of CAP groups to be spawned. Note that a CAP is a group, so can consist out of 1 to 4 airplanes. The default is 1 CAP group.
-- @param #number LowInterval (optional) The minimum time boundary in seconds when a new CAP will be spawned. The default is 180 seconds.
-- @param #number HighInterval (optional) The maximum time boundary in seconds when a new CAP will be spawned. The default is 600 seconds.
-- @param #number Probability Is not in use, you can skip this parameter.
-- @return #AI_A2A_DISPATCHER
-- @usage
--
@@ -1577,10 +1581,10 @@ do -- AI_A2A_DISPATCHER
local Cap = self.DefenderSquadrons[SquadronName].Cap
if Cap then
Cap.LowInterval = LowInterval or 300
Cap.LowInterval = LowInterval or 180
Cap.HighInterval = HighInterval or 600
Cap.Probability = Probability or 1
Cap.CapLimit = CapLimit
Cap.CapLimit = CapLimit or 1
Cap.Scheduler = Cap.Scheduler or SCHEDULER:New( self )
local Scheduler = Cap.Scheduler -- Core.Scheduler#SCHEDULER
local ScheduleID = Cap.ScheduleID