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. 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. -- 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. -- 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 bearing of the intruders for an amount of seconds.
-- * The average speed 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. -- * 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: -- 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. -- * 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: -- ## 11. Q & A:
-- --

View File

@ -1180,12 +1180,12 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
DetectedItem.FriendliesNearBy = nil DetectedItem.FriendliesNearBy = nil
if DetectedUnit then if DetectedUnit then
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local SphereSearch = { local SphereSearch = {
id = world.VolumeType.SPHERE, id = world.VolumeType.SPHERE,
@ -1204,8 +1204,8 @@ do -- DETECTION_BASE
local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem
local DetectedSet = ReportGroupData.DetectedItem.Set local DetectedSet = ReportGroupData.DetectedItem.Set
local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local DetectedUnitCoord = DetectedUnit:GetCoordinate() local DetectedUnitCoord = DetectedUnit:GetCoordinate()
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnitCoord
local ReportSetGroup = ReportGroupData.ReportSetGroup local ReportSetGroup = ReportGroupData.ReportSetGroup
local EnemyCoalition = DetectedUnit:GetCoalition() 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. 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/> <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. 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> <ul>
<li>The average bearing of the intruders for an amount of seconds.</li> <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 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>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> </ul>
<p>The <strong>intercept point</strong> will determine:</p> <p>The <strong>intercept point</strong> will determine:</p>
<ul> <ul>
<li>If there are any friendlies close to engage the target. These can be defenders performing CAP or defenders in RTB.</li> <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> </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> <h2>11. Q &amp; A:</h2>
<h3>11.1. Which countries will be selected for each coalition?</h3> <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"> <dl class="function">
<dt> <dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemMax" > <a id="#(DETECTION_BASE).DetectedItemMax" >
<strong>DETECTION_BASE.DetectedItemMax</strong> <strong>DETECTION_BASE.DetectedItemMax</strong>
</a> </a>
@ -2631,7 +2630,7 @@ The group to generate the report for.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#number</em> <em></em>
<a id="#(DETECTION_BASE).DetectionInterval" > <a id="#(DETECTION_BASE).DetectionInterval" >
<strong>DETECTION_BASE.DetectionInterval</strong> <strong>DETECTION_BASE.DetectionInterval</strong>
</a> </a>

View File

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

View File

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

View File

@ -1142,7 +1142,7 @@ true if metric.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em>#boolean</em> <em></em>
<a id="#(SETTINGS).Metric" > <a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong> <strong>SETTINGS.Metric</strong>
</a> </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="name" nowrap="nowrap"><a href="##(SPAWN)._TranslateRotate">SPAWN:_TranslateRotate(SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle)</a></td>
<td class="summary"> <td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SPAWN).uncontrolled">SPAWN.uncontrolled</a></td>
<td class="summary">
</td> </td>
</tr> </tr>
</table> </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> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -2749,6 +2746,9 @@ when nothing was spawned.</p>
<p> By default, no InitLimit</p>
</dd> </dd>
</dl> </dl>
<dl class="function"> <dl class="function">
@ -2784,7 +2784,7 @@ when nothing was spawned.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em> <em>#number</em>
<a id="#(SPAWN).SpawnMaxGroups" > <a id="#(SPAWN).SpawnMaxGroups" >
<strong>SPAWN.SpawnMaxGroups</strong> <strong>SPAWN.SpawnMaxGroups</strong>
</a> </a>
@ -2801,7 +2801,7 @@ when nothing was spawned.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em> <em>#number</em>
<a id="#(SPAWN).SpawnMaxUnitsAlive" > <a id="#(SPAWN).SpawnMaxUnitsAlive" >
<strong>SPAWN.SpawnMaxUnitsAlive</strong> <strong>SPAWN.SpawnMaxUnitsAlive</strong>
</a> </a>
@ -3129,7 +3129,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em> <em>#boolean</em>
<a id="#(SPAWN).SpawnUnControlled" > <a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong> <strong>SPAWN.SpawnUnControlled</strong>
</a> </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> </dd>
</dl> </dl>
@ -3733,20 +3733,6 @@ True = Continue Scheduler</p>
</li> </li>
</ul> </ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SPAWN).uncontrolled" >
<strong>SPAWN.uncontrolled</strong>
</a>
</dt>
<dd>
</dd> </dd>
</dl> </dl>

View File

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

View File

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