Optimizations

This commit is contained in:
FlightControl_Master 2017-07-31 12:35:37 +02:00
parent 85bd3a1c33
commit 27b18780f8
10 changed files with 38 additions and 42 deletions

View File

@ -663,7 +663,7 @@ do -- AI_A2A_DISPATCHER
--
-- ## 10.8. Default settings for GCI.
--
-- ## 10.8.1. Optimal intercept point.
-- ## 10.8.1. Optimal intercept point calculation.
--
-- When intruders are detected, the intrusion path of the attackers can be monitored by the EWR.
-- Although defender planes might be on standby at the airbase, it can still take some time to get the defenses up in the air if there aren't any defenses airborne.
@ -673,14 +673,21 @@ do -- AI_A2A_DISPATCHER
--
-- * The average bearing of the intruders for an amount of seconds.
-- * The average speed of the intruders for an amount of seconds.
-- * The altitude of the intruders.
-- * An assumed time it takes to get planes operational at the airbase.
-- * The intercept speed, which is given as a parameter for each squadron or set by default for all squadrons.
--
-- The **intercept point** will determine:
--
-- * If there are any friendlies close to engage the target. These can be defenders performing CAP or defenders in RTB.
-- * The optimal airbase from where defenders will takeoff for gci.
-- * The optimal airbase from where defenders will takeoff for GCI.
--
-- Use the method @{#AI_A2A_DISPATCHER.SetIntercept}() to modify the assumed intercept delay time to calculate a valid interception.
--
-- ## 10.8.2. Default disengage radius.
--
-- The radius to **disengage any target** when the **distance** of the defender to the **home base** is larger than the specified meters.
-- The default disengage radius is **100km** (100000 meters). Note that the disengage radius is applicable to ALL squadrons!
--
-- Use the method @{#AI_A2A_DISPATCHER.SetDisengageRadius}() to modify the default disengage radius to another distance setting.
--
-- ## 11. Q & A:
--

View File

@ -1180,12 +1180,12 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
DetectedItem.FriendliesNearBy = nil
if DetectedUnit then
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local SphereSearch = {
id = world.VolumeType.SPHERE,
@ -1204,8 +1204,8 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local DetectedUnitCoord = DetectedUnit:GetCoordinate()
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnitCoord
local ReportSetGroup = ReportGroupData.ReportSetGroup
local EnemyCoalition = DetectedUnit:GetCoalition()

View File

@ -1459,7 +1459,7 @@ Note that you can still change the CAP limit and CAP time intervals for each CAP
<h2>10.8. Default settings for GCI.</h2>
<h2>10.8.1. Optimal intercept point.</h2>
<h2>10.8.1. Optimal intercept point calculation.</h2>
<p>When intruders are detected, the intrusion path of the attackers can be monitored by the EWR. <br/>
Although defender planes might be on standby at the airbase, it can still take some time to get the defenses up in the air if there aren't any defenses airborne.
@ -1470,18 +1470,25 @@ This time can easily take 2 to 3 minutes, and even then the defenders still need
<ul>
<li>The average bearing of the intruders for an amount of seconds.</li>
<li>The average speed of the intruders for an amount of seconds.</li>
<li>The altitude of the intruders.</li>
<li>An assumed time it takes to get planes operational at the airbase.</li>
<li>The intercept speed, which is given as a parameter for each squadron or set by default for all squadrons.</li>
</ul>
<p>The <strong>intercept point</strong> will determine:</p>
<ul>
<li>If there are any friendlies close to engage the target. These can be defenders performing CAP or defenders in RTB.</li>
<li>The optimal airbase from where defenders will takeoff for gci.</li>
<li>The optimal airbase from where defenders will takeoff for GCI.</li>
</ul>
<p>Use the method <a href="##(AI_A2A_DISPATCHER).SetIntercept">AI<em>A2A</em>DISPATCHER.SetIntercept</a>() to modify the assumed intercept delay time to calculate a valid interception.</p>
<h2>10.8.2. Default disengage radius.</h2>
<p>The radius to <strong>disengage any target</strong> when the <strong>distance</strong> of the defender to the <strong>home base</strong> is larger than the specified meters.
The default disengage radius is <strong>100km</strong> (100000 meters). Note that the disengage radius is applicable to ALL squadrons!</p>
<p>Use the method <a href="##(AI_A2A_DISPATCHER).SetDisengageRadius">AI<em>A2A</em>DISPATCHER.SetDisengageRadius</a>() to modify the default disengage radius to another distance setting.</p>
<h2>11. Q &amp; A:</h2>
<h3>11.1. Which countries will be selected for each coalition?</h3>

View File

@ -2465,7 +2465,6 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemMax" >
<strong>DETECTION_BASE.DetectedItemMax</strong>
</a>
@ -2631,7 +2630,7 @@ The group to generate the report for.</p>
<dl class="function">
<dt>
<em>#number</em>
<em></em>
<a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong>
</a>

View File

@ -1598,7 +1598,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<em>#string</em>
<a id="#(FSM)._StartState" >
<strong>FSM._StartState</strong>
</a>
@ -1897,7 +1897,6 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(FSM).current" >
<strong>FSM.current</strong>
</a>

View File

@ -2829,7 +2829,6 @@ The y coordinate.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(POINT_VEC2).z" >
<strong>POINT_VEC2.z</strong>
</a>

View File

@ -1142,7 +1142,7 @@ true if metric.</p>
<dl class="function">
<dt>
<em>#boolean</em>
<em></em>
<a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong>
</a>

View File

@ -822,12 +822,6 @@ and any spaces before and after the resulting name are removed.</p>
<td class="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td>
</tr>
</table>
@ -2200,6 +2194,9 @@ The group that was spawned. You can use this group for further actions.</p>
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
</dd>
</dl>
<dl class="function">
@ -2749,6 +2746,9 @@ when nothing was spawned.</p>
<p> By default, no InitLimit</p>
</dd>
</dl>
<dl class="function">
@ -2784,7 +2784,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong>
</a>
@ -2801,7 +2801,7 @@ when nothing was spawned.</p>
<dl class="function">
<dt>
<em></em>
<em>#number</em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a>
@ -3129,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong>
</a>
@ -3153,7 +3153,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p>
<p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
</dd>
</dl>
@ -3733,20 +3733,6 @@ True = Continue Scheduler</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd>
</dl>

View File

@ -436,7 +436,6 @@ ptional) The name of the new static.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SPAWNSTATIC).SpawnIndex" >
<strong>SPAWNSTATIC.SpawnIndex</strong>
</a>

View File

@ -552,7 +552,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<em><a href="Core.Cargo.html##(CARGO_GROUP)">Core.Cargo#CARGO_GROUP</a></em>
<a id="#(FSM_PROCESS).Cargo" >
<strong>FSM_PROCESS.Cargo</strong>
</a>