MOOSE generated documentation [skip ci]

This commit is contained in:
Applevangelist
2021-11-30 16:09:03 +00:00
parent e6e94cf762
commit 9b964d64c1
131 changed files with 888 additions and 1035 deletions
+49 -101
View File
@@ -102,7 +102,7 @@
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="AI.AI_A2G_Dispatcher.html">AI.AI_A2G_Dispatcher</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>AI</strong> - Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAP operations.</p>
<p><strong>AI</strong> - Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAS operations.</p>
</p></div>
</div>
</div>
@@ -1491,7 +1491,7 @@ Controls a network of short range air/missile defense groups.</p>
</div>
<div class="w3-container w3-white" id="module_description">
<p><strong>AI</strong> - Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAP operations.</p>
<p><strong>AI</strong> - Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAS operations.</p>
@@ -1527,7 +1527,7 @@ Controls a network of short range air/missile defense groups.</p>
<h2>YouTube Channel:</h2>
<p><a href="https://www.youtube.com/playlist?list=PL7ZUrU4zZUl0S4KMNUUJpaUs6zZHjLKNx">DCS WORLD - MOOSE - A2G GCICAP - Build an automatic A2G Defense System</a></p>
<p><a href="https://www.youtube.com/watch?v=zwSxWRAGVH8">DCS WORLD - MOOSE - A2G DISPATCHER - Build an automatic A2G Defense System - Introduction</a></p>
<hr/>
@@ -1656,7 +1656,7 @@ each having different payloads, skills and skins.
The A2G defense system will select from the given templates a random template to spawn a new plane (group).</p>
<h2>10. How to squadrons engage in a defensive action?</h2>
<h2>10. How do squadrons engage in a defensive action?</h2>
<p>There are two ways how squadrons engage and execute your A2G defenses.
Squadrons can start the defense directly from the airbase, farp or carrier. When a squadron launches a defensive group, that group
@@ -1684,13 +1684,13 @@ A2G defenses can come immediately into action.</p>
The COORDINATE_UNIT will help you to specify a defense coodinate that is attached to a moving unit.</p>
<h2>13. How much defense coordinates do I need to create?</h2>
<h2>13. How many defense coordinates do I need to create?</h2>
<p>It depends, but the idea is to define only the necessary defense points that drive your mission.
If you define too much defense points, the performance of your mission may decrease. Per defense point defined,
all the possible enemies are evaluated. Note that each defense coordinate has a reach depending on the size of the defense radius.
The default defense radius is about 60km, and depending on the defense reactivity, defenses will be launched when the enemy is at
close or greater distance from the defense coordinate.</p>
If you define too many defense coordinates, the performance of your mission may decrease. For each defined defense coordinate,
all the possible enemies are evaluated. Note that each defense coordinate has a reach depending on the size of the associated defense radius.
The default defense radius is about 60km. Depending on the defense reactivity, defenses will be launched when the enemy is at a
closer distance from the defense coordinate than the defense radius.</p>
<h2>14. For each Squadron doing patrols, what are the time intervals and patrol amounts to be performed?</h2>
@@ -1698,11 +1698,11 @@ close or greater distance from the defense coordinate.</p>
<p>For each patrol:</p>
<ul>
<li><strong>How many</strong> patrol you want to have airborne at the same time?</li>
<li><strong>How many</strong> patrols you want to have airborne at the same time?</li>
<li><strong>How frequent</strong> you want the defense mechanism to check whether to start a new patrol?</li>
</ul>
<p>other considerations: </p>
<p>Other considerations: </p>
<ul>
<li><strong>How far</strong> is the patrol area from the engagement "hot zone". You want to ensure that the enemy is reached on time!</li>
@@ -1721,9 +1721,8 @@ close or greater distance from the defense coordinate.</p>
<li>From a parking spot with cold engines</li>
</ul>
<p><strong>The default takeoff method is staight in the air.</strong>
This takeoff method is the most useful if you want to avoid airplane clutter at airbases!
But it is the least realistic one!</p>
<p><strong>The default takeoff method is straight in the air.</strong>
This takeoff method is the most useful if you want to avoid airplane clutter at airbases, but it is the least realistic one.</p>
<h2>16. For each Squadron, which landing method will I use?</h2>
@@ -1736,9 +1735,8 @@ But it is the least realistic one!</p>
<li>Despawn after engine shutdown after landing</li>
</ul>
<p><strong>The default landing method is despawn when near the airbase when returning.</strong>
This landing method is the most useful if you want to avoid airplane clutter at airbases!
But it is the least realistic one!</p>
<p><strong>The default landing method is to despawn when near the airbase when returning.</strong>
This landing method is the most useful if you want to avoid airplane clutter at airbases, but it is the least realistic one.</p>
<h2>19. For each Squadron, which <strong>defense overhead</strong> will I use?</h2>
@@ -1776,7 +1774,7 @@ But you can specify a number between 1 and 4, so that the defenders will act as
<tr>
<td class="style="width:40%;"><p><h2>Global <strong>AI_A2G_DISPATCHER</strong></h2></p></td>
<td class="style="width:60%;">
<p>Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAP operations.</p>
<p>Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAS operations.</p>
</td>
</tr>
</table>
@@ -1787,7 +1785,7 @@ But you can specify a number between 1 and 4, so that the defenders will act as
<a href="##(AI_A2G_DISPATCHER)">#AI_A2G_DISPATCHER</a>
<a id="AI_A2G_DISPATCHER" ><strong>AI_A2G_DISPATCHER</strong></a>
<p>Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAP operations.</p>
<p>Create an automated A2G defense system based on a detection network of reconnaissance vehicles and air units, coordinating SEAD, BAI and CAS operations.</p>
@@ -1864,7 +1862,7 @@ alerted of new enemy ground targets.</p>
-- It uses the DetectionSetGroup, which defines the set of reconnaissance groups to detect for enemy ground targets.
Detection = DETECTION_AREAS:New( DetectionSetGroup, 1000 )
-- Setup the A2A dispatcher, and initialize it.
-- Setup the A2G dispatcher, and initialize it.
A2GDispatcher = AI_A2G_DISPATCHER:New( Detection )
</code></pre>
@@ -2135,14 +2133,14 @@ And for a couple of squadrons overrides this default method.</p>
<pre><code> -- Setup the Takeoff methods
-- The default takeoff
A2ADispatcher:SetDefaultTakeOffFromRunway()
A2GDispatcher:SetDefaultTakeOffFromRunway()
-- The individual takeoff per squadron
A2ADispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2G_DISPATCHER.Takeoff.Air )
A2ADispatcher:SetSquadronTakeoffInAir( "Sochi" )
A2ADispatcher:SetSquadronTakeoffFromRunway( "Mozdok" )
A2ADispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" )
A2ADispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )
A2GDispatcher:SetSquadronTakeoff( "Mineralnye", AI_A2G_DISPATCHER.Takeoff.Air )
A2GDispatcher:SetSquadronTakeoffInAir( "Sochi" )
A2GDispatcher:SetSquadronTakeoffFromRunway( "Mozdok" )
A2GDispatcher:SetSquadronTakeoffFromParkingCold( "Maykop" )
A2GDispatcher:SetSquadronTakeoffFromParkingHot( "Novo" )
</code></pre>
@@ -2184,7 +2182,7 @@ the way how the aircraft are starting up. Cold starts take the longest duration,
-- Aircraft will cold start from the FARP, and thus, a maximum of 4 aircraft can be launched at the same time.
-- Additionally, depending on the group composition of the aircraft, defending units will be ordered for takeoff together.
-- It takes about 3 to 4 minutes to takeoff helicopters from FARPs in cold start.
A2ADispatcher:SetSquadronTakeOffInterval( "Mineralnye", 60 * 4 )
A2GDispatcher:SetSquadronTakeOffInterval( "Mineralnye", 60 * 4 )
</code></pre>
@@ -2201,7 +2199,7 @@ the way how the aircraft are starting up. Cold starts take the longest duration,
<p>You can use these methods to minimize the airbase coodination overhead and to increase the airbase efficiency.
When there are lots of aircraft returning for landing, at the same airbase, the takeoff process will be halted, which can cause a complete failure of the
A2A defense system, as no new CAP or GCI planes can takeoff.
A2G defense system, as no new SEAD, BAI or CAS planes can takeoff.
Note that the method <a href="##(AI_A2G_DISPATCHER).SetSquadronLandingNearAirbase">AI_A2G_DISPATCHER.SetSquadronLandingNearAirbase</a>() will only work for returning aircraft, not for damaged or out of fuel aircraft.
Damaged or out-of-fuel aircraft are returning to the nearest friendly airbase and will land, and are out of control from ground control.</p>
@@ -2211,14 +2209,14 @@ And for a couple of squadrons overrides this default method.</p>
<pre><code> -- Setup the Landing methods
-- The default landing method
A2ADispatcher:SetDefaultLandingAtRunway()
A2GDispatcher:SetDefaultLandingAtRunway()
-- The individual landing per squadron
A2ADispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Sochi" )
A2ADispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" )
A2ADispatcher:SetSquadronLandingNearAirbase( "Maykop" )
A2ADispatcher:SetSquadronLanding( "Novo", AI_A2G_DISPATCHER.Landing.AtRunway )
A2GDispatcher:SetSquadronLandingAtRunway( "Mineralnye" )
A2GDispatcher:SetSquadronLandingNearAirbase( "Sochi" )
A2GDispatcher:SetSquadronLandingAtEngineShutdown( "Mozdok" )
A2GDispatcher:SetSquadronLandingNearAirbase( "Maykop" )
A2GDispatcher:SetSquadronLanding( "Novo", AI_A2G_DISPATCHER.Landing.AtRunway )
</code></pre>
@@ -2383,10 +2381,10 @@ So, ensure that you set the default patrol limit <strong>before</strong> you def
Note that you can still change the patrol limit and patrol time intervals for each patrol individually using
the <a href="##(AI_A2G_DISPATCHER).SetSquadronPatrolTimeInterval">AI_A2G_DISPATCHER.SetSquadronPatrolTimeInterval</a>() method.</p>
<h2>10.7.3. Default tanker for refuelling when executing CAP.</h2>
<h2>10.7.3. Default tanker for refuelling when executing SEAD, BAI and CAS.</h2>
<p>Instead of sending CAP to RTB when out of fuel, you can let CAP refuel in mid air using a tanker.
This greatly increases the efficiency of your CAP operations.</p>
<p>Instead of sending SEAD, BAI and CAS to RTB when out of fuel, you can let SEAD, BAI and CAS refuel in mid air using a tanker.
This greatly increases the efficiency of your SEAD, BAI and CAS operations.</p>
<p>In the mission editor, setup a group with task Refuelling. A tanker unit of the correct coalition will be automatically selected.
Then, use the method <a href="##(AI_A2G_DISPATCHER).SetDefaultTanker">AI_A2G_DISPATCHER.SetDefaultTanker</a>() to set the tanker for the dispatcher.
@@ -2398,13 +2396,7 @@ Use the method <a href="##(AI_A2G_DISPATCHER).SetDefaultFuelThreshold">AI_A2G_DI
<p><img src="..\Presentations\AI_A2G_DISPATCHER\AI_A2G_DISPATCHER-ME_11.JPG" alt="Banner Image"/></p>
<pre><code> -- Define the CAP
A2ADispatcher:SetSquadron( "Sochi", AIRBASE.Caucasus.Sochi_Adler, { "SQ CCCP SU-34" }, 20 )
A2ADispatcher:SetSquadronCap( "Sochi", ZONE:New( "PatrolZone" ), 4000, 8000, 600, 800, 1000, 1300 )
A2ADispatcher:SetSquadronCapInterval("Sochi", 2, 30, 600, 1 )
A2ADispatcher:SetSquadronGci( "Sochi", 900, 1200 )
-- Set the default tanker for refuelling to "Tanker", when the default fuel treshold has reached 90% fuel left.
<pre><code> -- Set the default tanker for refuelling to "Tanker", when the default fuel treshold has reached 90% fuel left.
A2ADispatcher:SetDefaultFuelThreshold( 0.9 )
A2ADispatcher:SetDefaultTanker( "Tanker" )
</code></pre>
@@ -2444,8 +2436,8 @@ The default Disengage Radius is <strong>300km</strong> (300000 meters). Note tha
<h2>11. Airbase capture:</h2>
<p>Different squadrons can be located at one airbase.
If the airbase gets captured, that is, when there is an enemy unit near the airbase, and there aren't anymore friendlies at the airbase, the airbase will change coalition ownership.
As a result, the GCI and CAP will stop!
If the airbase gets captured, that is when there is an enemy unit near the airbase and there are no friendlies at the airbase, the airbase will change coalition ownership.
As a result, the SEAD, BAI and CAS will stop.
However, the squadron will still stay alive. Any airplane that is airborne will continue its operations until all airborne airplanes
of the squadron will be destroyed. This to keep consistency of air operations not to confuse the players.</p>
@@ -2780,7 +2772,7 @@ of the squadron will be destroyed. This to keep consistency of air operations no
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(AI_A2G_DISPATCHER).Landing">AI_A2G_DISPATCHER.Landing</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Defnes Landing location.</p>
<p>Defines Landing location.</p>
</td>
</tr>
<tr class="w3-border">
@@ -4546,7 +4538,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(AI_A2G_DISPATCHER.Squadron).Captured">AI_A2G_DISPATCHER.Squadron.Captured</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>true if the squadron is captured. </p>
<p>true if the squadron is captured.</p>
</td>
</tr>
<tr class="w3-border">
@@ -4558,7 +4550,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(AI_A2G_DISPATCHER.Squadron).Overhead">AI_A2G_DISPATCHER.Squadron.Overhead</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>The overhead for the squadron. </p>
<p>The overhead for the squadron.</p>
</td>
</tr>
<tr class="w3-border">
@@ -4592,7 +4584,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<div id= "#Types###" class="w3-container w3-white w3-padding-16" id="module_other_types">
<div class="w3-white" id="record_type">
<p>Defense approach types</p>
<p>Defense approach types.</p>
<div class="fields w3-container w3-theme-l2">
<h2>Field(s)</h2>
@@ -4645,17 +4637,6 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<p> The Defender Default Settings over all Squadrons.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(AI_A2G_DISPATCHER).DefenderPatrolIndex" ><strong>AI_A2G_DISPATCHER.DefenderPatrolIndex</strong></a>
</div>
</div>
@@ -4770,7 +4751,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<a href="##(AI_A2G_DISPATCHER.Landing)">#AI_A2G_DISPATCHER.Landing</a>
<a id="#(AI_A2G_DISPATCHER).Landing" ><strong>AI_A2G_DISPATCHER.Landing</strong></a>
<p>Defnes Landing location.</p>
<p>Defines Landing location.</p>
</div>
@@ -12999,17 +12980,6 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<p> The Defender Default Settings over all Squadrons.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(AI_A2G_DISPATCHER).DefenderPatrolIndex" ><strong>AI_A2G_DISPATCHER.DefenderPatrolIndex</strong></a>
</div>
</div>
@@ -13124,7 +13094,7 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<a href="##(AI_A2G_DISPATCHER.Landing)">#AI_A2G_DISPATCHER.Landing</a>
<a id="#(AI_A2G_DISPATCHER).Landing" ><strong>AI_A2G_DISPATCHER.Landing</strong></a>
<p>Defnes Landing location.</p>
<p>Defines Landing location.</p>
</div>
@@ -14327,17 +14297,6 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<p> The Defender Default Settings over all Squadrons.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(AI_A2G_DISPATCHER).DefenderPatrolIndex" ><strong>AI_A2G_DISPATCHER.DefenderPatrolIndex</strong></a>
</div>
</div>
@@ -14452,7 +14411,7 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<a href="##(AI_A2G_DISPATCHER.Landing)">#AI_A2G_DISPATCHER.Landing</a>
<a id="#(AI_A2G_DISPATCHER).Landing" ><strong>AI_A2G_DISPATCHER.Landing</strong></a>
<p>Defnes Landing location.</p>
<p>Defines Landing location.</p>
</div>
@@ -15961,17 +15920,6 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<p> The Defender Default Settings over all Squadrons.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(AI_A2G_DISPATCHER).DefenderPatrolIndex" ><strong>AI_A2G_DISPATCHER.DefenderPatrolIndex</strong></a>
</div>
</div>
@@ -16086,7 +16034,7 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<a href="##(AI_A2G_DISPATCHER.Landing)">#AI_A2G_DISPATCHER.Landing</a>
<a id="#(AI_A2G_DISPATCHER).Landing" ><strong>AI_A2G_DISPATCHER.Landing</strong></a>
<p>Defnes Landing location.</p>
<p>Defines Landing location.</p>
</div>
@@ -19464,7 +19412,7 @@ BASE:TraceOnOff( false )</code></pre>
<div id= "#Types##AI_A2G_DISPATCHER.DefenseQueueItem" class="w3-container w3-white w3-padding-16" id="module_other_types">
<div class="w3-white" id="record_type">
<p>A defense queue item description</p>
<p>A defense queue item description.</p>
<div class="fields w3-container w3-theme-l2">
<h2>Field(s)</h2>
@@ -19545,7 +19493,7 @@ BASE:TraceOnOff( false )</code></pre>
#boolean
<a id="#(AI_A2G_DISPATCHER.Squadron).Captured" ><strong>AI_A2G_DISPATCHER.Squadron.Captured</strong></a>
<p>true if the squadron is captured. </p>
<p>true if the squadron is captured.</p>
</div>
@@ -19567,7 +19515,7 @@ BASE:TraceOnOff( false )</code></pre>
#number
<a id="#(AI_A2G_DISPATCHER.Squadron).Overhead" ><strong>AI_A2G_DISPATCHER.Squadron.Overhead</strong></a>
<p>The overhead for the squadron. </p>
<p>The overhead for the squadron.</p>
</div>