MOOSE generated documentation [skip ci]

This commit is contained in:
Applevangelist
2021-12-28 10:09:15 +00:00
parent 823c49c6a2
commit d99593df6b
53 changed files with 1174 additions and 1245 deletions

View File

@@ -1506,11 +1506,11 @@ Controls a network of short range air/missile defense groups.</p>
<li>Setup (CAS) Controlled Air Support squadrons, to attack closeby enemy ground units near friendly installations.</li>
<li>Setup (BAI) Battleground Air Interdiction squadrons to attack remote enemy ground units and targets.</li>
<li>Define and use a detection network controlled by recce.</li>
<li>Define AIR defense squadrons at airbases, farps and carriers.</li>
<li>Define AIR defense squadrons at airbases, FARPs and carriers.</li>
<li>Enable airbases for AIR defenses.</li>
<li>Add different planes and helicopter templates to squadrons.</li>
<li>Assign squadrons to execute a specific engagement type depending on threat level of the detected ground enemy unit composition.</li>
<li>Add multiple squadrons to different airbases, farps or carriers.</li>
<li>Add multiple squadrons to different airbases, FARPs or carriers.</li>
<li>Define different ranges to engage upon.</li>
<li>Establish an automatic in air refuel process for planes using refuel tankers.</li>
<li>Setup default settings for all squadrons and AIR defenses.</li>
@@ -1537,7 +1537,7 @@ Controls a network of short range air/missile defense groups.</p>
<p>AI_AIR_DISPATCHER is the main AIR defense class that models the AIR defense system.</p>
<p>Before you start using the AI_AIR_DISPATCHER, ask youself the following questions.</p>
<p>Before you start using the AI_AIR_DISPATCHER, ask yourself the following questions.</p>
<h2>1. Which coalition am I modeling an AIR defense system for? blue or red?</h2>
@@ -1627,7 +1627,7 @@ Battleground Air Interdiction (BAI) tasks are launched when there are no friendl
<p>Depending on the defense type, different payloads will be needed. See further points on squadron definition.</p>
<h2>7. Where will the Squadrons be located? On Airbases? On Carrier Ships? On Farps?</h2>
<h2>7. Where will the Squadrons be located? On Airbases? On Carrier Ships? On FARPs?</h2>
<p>Squadrons are placed at the <strong>home base</strong> on an <strong>airfield</strong>, <strong>carrier</strong> or <strong>farp</strong>.
Carefully plan where each Squadron will be located as part of the defense system required for mission effective defenses.
@@ -1874,7 +1874,7 @@ alerted of new enemy ground targets.</p>
<strong>DetectionSetGroup</strong> is then calling <code>FilterStart()</code>, which is starting the dynamic filtering or inclusion of these groups.
Note that any destroy or new spawn of a group having a name, starting with the above prefix, will be removed or added to the set.</p>
<p>Then a new detection object is created from the class <code>DETECTION_AREAS</code>. A grouping radius of 1000 meters (1km) is choosen.</p>
<p>Then a new detection object is created from the class <code>DETECTION_AREAS</code>. A grouping radius of 1000 meters (1km) is chosen.</p>
<p>The <code>Detection</code> object is then passed to the <a href="##(AI_AIR_DISPATCHER).New">AI_AIR_DISPATCHER.New</a>() method to indicate the reconnaissance network
configuration and setup the AIR defense detection mechanism.</p>
@@ -2199,7 +2199,7 @@ the way how the aircraft are starting up. Cold starts take the longest duration,
<li><a href="##(AI_AIR_DISPATCHER).SetSquadronLandingAtEngineShutdown">AI_AIR_DISPATCHER.SetSquadronLandingAtEngineShutdown</a>() will despawn the returning aircraft when the aircraft has returned to its parking spot and has turned off its engines.</li>
</ul>
<p>You can use these methods to minimize the airbase coodination overhead and to increase the airbase efficiency.
<p>You can use these methods to minimize the airbase coordination 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.
Note that the method <a href="##(AI_AIR_DISPATCHER).SetSquadronLandingNearAirbase">AI_AIR_DISPATCHER.SetSquadronLandingNearAirbase</a>() will only work for returning aircraft, not for damaged or out of fuel aircraft.
@@ -2281,13 +2281,13 @@ This limit will avoid an extensive amount of aircraft to engage with the enemy i
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetSquadronEngageLimit">AI_AIR_DISPATCHER.SetSquadronEngageLimit</a>() to limit the amount of aircraft that will engage with the enemy, per squadron.</p>
<h2>4. Set the <strong>fuel treshold</strong>.</h2>
<h2>4. Set the <strong>fuel threshold</strong>.</h2>
<p>When aircraft get <strong>out of fuel</strong> to a certain %-tage, which is by default <strong>15% (0.15)</strong>, there are two possible actions that can be taken:
<p>When aircraft get <strong>out of fuel</strong> to a certain %, which is by default <strong>15% (0.15)</strong>, there are two possible actions that can be taken:
- The aircraft will go RTB, and will be replaced with a new aircraft if possible.
- The aircraft will refuel at a tanker, if a tanker has been specified for the squadron.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetSquadronFuelThreshold">AI_AIR_DISPATCHER.SetSquadronFuelThreshold</a>() to set the <strong>squadron fuel treshold</strong> of the aircraft for all squadrons.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetSquadronFuelThreshold">AI_AIR_DISPATCHER.SetSquadronFuelThreshold</a>() to set the <strong>squadron fuel threshold</strong> of the aircraft for all squadrons.</p>
<h2>6. Other configuration options</h2>
@@ -2347,17 +2347,17 @@ Unless there is a specific behaviour set for a specific squadron, the default co
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultGrouping">AI_AIR_DISPATCHER.SetDefaultGrouping</a>() to set the <strong>default grouping</strong> of spawned airplanes for all squadrons.</p>
<h2>10.5. Default RTB fuel treshold.</h2>
<h2>10.5. Default RTB fuel threshold.</h2>
<p>When an airplane gets <strong>out of fuel</strong> to a certain %-tage, which is <strong>15% (0.15)</strong>, it will go RTB, and will be replaced with a new airplane when applicable.</p>
<p>When an airplane gets <strong>out of fuel</strong> to a certain %, which is <strong>15% (0.15)</strong>, it will go RTB, and will be replaced with a new airplane when applicable.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DISPATCHER.SetDefaultFuelThreshold</a>() to set the <strong>default fuel treshold</strong> of spawned airplanes for all squadrons.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DISPATCHER.SetDefaultFuelThreshold</a>() to set the <strong>default fuel threshold</strong> of spawned airplanes for all squadrons.</p>
<h2>10.6. Default RTB damage treshold.</h2>
<h2>10.6. Default RTB damage threshold.</h2>
<p>When an airplane is <strong>damaged</strong> to a certain %-tage, which is <strong>40% (0.40)</strong>, it will go RTB, and will be replaced with a new airplane when applicable.</p>
<p>When an airplane is <strong>damaged</strong> to a certain %, which is <strong>40% (0.40)</strong>, it will go RTB, and will be replaced with a new airplane when applicable.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultDamageThreshold">AI_AIR_DISPATCHER.SetDefaultDamageThreshold</a>() to set the <strong>default damage treshold</strong> of spawned airplanes for all squadrons.</p>
<p>Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultDamageThreshold">AI_AIR_DISPATCHER.SetDefaultDamageThreshold</a>() to set the <strong>default damage threshold</strong> of spawned airplanes for all squadrons.</p>
<h2>10.7. Default settings for <strong>patrol</strong>.</h2>
@@ -2390,7 +2390,7 @@ This greatly increases the efficiency of your CAP 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_AIR_DISPATCHER).SetDefaultTanker">AI_AIR_DISPATCHER.SetDefaultTanker</a>() to set the tanker for the dispatcher.
Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DISPATCHER.SetDefaultFuelThreshold</a>() to set the %-tage left in the defender airplane tanks when a refuel action is needed.</p>
Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DISPATCHER.SetDefaultFuelThreshold</a>() to set the % left in the defender airplane tanks when a refuel action is needed.</p>
<p>When the tanker specified is alive and in the air, the tanker will be used for refuelling.</p>
@@ -2404,7 +2404,7 @@ Use the method <a href="##(AI_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DI
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.
-- Set the default tanker for refuelling to "Tanker", when the default fuel threshold has reached 90% fuel left.
A2ADispatcher:SetDefaultFuelThreshold( 0.9 )
A2ADispatcher:SetDefaultTanker( "Tanker" )
</code></pre>
@@ -2450,9 +2450,6 @@ However, the squadron will still stay alive. Any airplane that is airborne will
of the squadron will be destroyed. This to keep consistency of air operations not to confuse the players.</p>
</div>
</div>
@@ -2852,7 +2849,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_AIR_DISPATCHER).SetDefaultDamageThreshold">AI_AIR_DISPATCHER:SetDefaultDamageThreshold(DamageThreshold)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set the default damage treshold when defenders will RTB.</p>
<p>Set the default damage threshold when defenders will RTB.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2864,7 +2861,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_AIR_DISPATCHER).SetDefaultFuelThreshold">AI_AIR_DISPATCHER:SetDefaultFuelThreshold(FuelThreshold)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set the default fuel treshold when defenders will RTB or Refuel in the air.</p>
<p>Set the default fuel threshold when defenders will RTB or Refuel in the air.</p>
</td>
</tr>
<tr class="w3-border">
@@ -3044,7 +3041,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_AIR_DISPATCHER).SetSquadronFuelThreshold">AI_AIR_DISPATCHER:SetSquadronFuelThreshold(SquadronName, FuelThreshold)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set the fuel treshold for the squadron when defenders will RTB or Refuel in the air.</p>
<p>Set the fuel threshold for the squadron when defenders will RTB or Refuel in the air.</p>
</td>
</tr>
<tr class="w3-border">
@@ -5469,7 +5466,7 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
</div>
<div class="w3-half">
<p>The %-tage of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
<p>The % of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
The default overhead is 1, so equal balance. The <a href="##(AI_AIR_DISPATCHER).SetOverhead">AI_AIR_DISPATCHER.SetOverhead</a>() method can be used to tweak the defense strength,
taking into account the plane types of the squadron. For example, a MIG-31 with full long-distance AIR missiles payload, may still be less effective than a F-15C with short missiles...
So in this case, one may want to use the Overhead method to allocate more defending planes as the amount of detected attacking planes.
@@ -5664,9 +5661,9 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<p>AI_AIR_DISPATCHER constructor.</p>
<p>This is defining the AIR DISPATCHER for one coaliton.
<p>This is defining the AIR DISPATCHER for one coalition.
The Dispatcher works with a <a href="Functional.Detection.html##(DETECTION_BASE)">Functional.Detection#DETECTION_BASE</a> object that is taking of the detection of targets using the EWR units.
The Detection object is polymorphic, depending on the type of detection object choosen, the detection will work differently.</p>
The Detection object is polymorphic, depending on the type of detection object chosen, the detection will work differently.</p>
<div id= "#Functions##New" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
@@ -5700,19 +5697,19 @@ The Detection object is polymorphic, depending on the type of detection object c
</div>
</div>
<h2><strong>Usage:</strong></h2>
<pre class="example"><code>
-- Setup the Detection, using DETECTION_AREAS.
-- First define the SET of GROUPs that are defining the EWR network.
-- Here with prefixes DF CCCP AWACS, DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart()
-- Define the DETECTION_AREAS, using the DetectionSetGroup, with a 30km grouping radius.
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
<pre class="example"><code>
-- Setup the Detection, using DETECTION_AREAS.
-- First define the SET of GROUPs that are defining the EWR network.
-- Here with prefixes DF CCCP AWACS, DF CCCP EWR.
DetectionSetGroup = SET_GROUP:New()
DetectionSetGroup:FilterPrefixes( { "DF CCCP AWACS", "DF CCCP EWR" } )
DetectionSetGroup:FilterStart()
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection ) --
-- Define the DETECTION_AREAS, using the DetectionSetGroup, with a 30km grouping radius.
Detection = DETECTION_AREAS:New( DetectionSetGroup, 30000 )
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
</code></pre>
</div>
@@ -6581,10 +6578,10 @@ or
<h2><a id="#(AI_AIR_DISPATCHER).SetDefaultDamageThreshold" ><strong>AI_AIR_DISPATCHER:SetDefaultDamageThreshold(DamageThreshold)</strong></a></h2>
</div>
<p>Set the default damage treshold when defenders will RTB.</p>
<p>Set the default damage threshold when defenders will RTB.</p>
<p>The default damage treshold is by default set to 40%, which means that when the airplane is 40% damaged, it will go RTB.</p>
<p>The default damage threshold is by default set to 40%, which means that when the airplane is 40% damaged, it will go RTB.</p>
<div id= "#Functions##SetDefaultDamageThreshold" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
@@ -6602,7 +6599,7 @@ or
</div>
<div class="w3-half">
<p>A decimal number between 0 and 1, that expresses the %-tage of the damage treshold before going RTB.</p>
<p>A decimal number between 0 and 1, that expresses the % of the damage threshold before going RTB.</p>
</div>
</div>
@@ -6622,7 +6619,7 @@ or
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
-- Now Setup the default damage treshold.
-- Now Setup the default damage threshold.
AIRDispatcher:SetDefaultDamageThreshold( 0.90 ) -- Go RTB when the airplane 90% damaged.
</code></pre>
@@ -6693,10 +6690,10 @@ or
<h2><a id="#(AI_AIR_DISPATCHER).SetDefaultFuelThreshold" ><strong>AI_AIR_DISPATCHER:SetDefaultFuelThreshold(FuelThreshold)</strong></a></h2>
</div>
<p>Set the default fuel treshold when defenders will RTB or Refuel in the air.</p>
<p>Set the default fuel threshold when defenders will RTB or Refuel in the air.</p>
<p>The fuel treshold is by default set to 15%, which means that an airplane will stay in the air until 15% of its fuel has been consumed.</p>
<p>The fuel threshold is by default set to 15%, which means that an airplane will stay in the air until 15% of its fuel has been consumed.</p>
<div id= "#Functions##SetDefaultFuelThreshold" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
@@ -6714,7 +6711,7 @@ or
</div>
<div class="w3-half">
<p>A decimal number between 0 and 1, that expresses the %-tage of the treshold of fuel remaining in the tank when the plane will go RTB or Refuel.</p>
<p>A decimal number between 0 and 1, that expresses the % of the threshold of fuel remaining in the tank when the plane will go RTB or Refuel.</p>
</div>
</div>
@@ -6734,7 +6731,7 @@ or
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
-- Now Setup the default fuel treshold.
-- Now Setup the default fuel threshold.
AIRDispatcher:SetDefaultFuelThreshold( 0.30 ) -- Go RTB when only 30% of fuel remaining in the tank.
</code></pre>
@@ -7000,7 +6997,7 @@ or
</div>
<div class="w3-half">
<p>The %-tage of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
<p>The % of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
The default overhead is 1, so equal balance. The <a href="##(AI_AIR_DISPATCHER).SetOverhead">AI_AIR_DISPATCHER.SetOverhead</a>() method can be used to tweak the defense strength,
taking into account the plane types of the squadron. For example, a MIG-31 with full long-distance AIR missiles payload, may still be less effective than a F-15C with short missiles...
So in this case, one may want to use the Overhead method to allocate more defending planes as the amount of detected attacking planes.
@@ -7491,7 +7488,7 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
-- Now Setup the default fuel treshold.
-- Now Setup the default fuel threshold.
AIRDispatcher:SetDefaultFuelThreshold( 0.30 ) -- Go RTB when only 30% of fuel remaining in the tank.
-- Now Setup the default tanker.
@@ -8322,10 +8319,10 @@ If you have only one prefix name for a squadron, you don't need to use the <code
<h2><a id="#(AI_AIR_DISPATCHER).SetSquadronFuelThreshold" ><strong>AI_AIR_DISPATCHER:SetSquadronFuelThreshold(SquadronName, FuelThreshold)</strong></a></h2>
</div>
<p>Set the fuel treshold for the squadron when defenders will RTB or Refuel in the air.</p>
<p>Set the fuel threshold for the squadron when defenders will RTB or Refuel in the air.</p>
<p>The fuel treshold is by default set to 15%, which means that an airplane will stay in the air until 15% of its fuel has been consumed.</p>
<p>The fuel threshold is by default set to 15%, which means that an airplane will stay in the air until 15% of its fuel has been consumed.</p>
<div id= "#Functions##SetSquadronFuelThreshold" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
@@ -8356,7 +8353,7 @@ If you have only one prefix name for a squadron, you don't need to use the <code
</div>
<div class="w3-half">
<p>A decimal number between 0 and 1, that expresses the %-tage of the treshold of fuel remaining in the tank when the plane will go RTB or Refuel.</p>
<p>A decimal number between 0 and 1, that expresses the % of the threshold of fuel remaining in the tank when the plane will go RTB or Refuel.</p>
</div>
</div>
@@ -8376,7 +8373,7 @@ If you have only one prefix name for a squadron, you don't need to use the <code
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
-- Now Setup the default fuel treshold.
-- Now Setup the default fuel threshold.
AIRDispatcher:SetSquadronRefuelThreshold( "SquadronName", 0.30 ) -- Go RTB when only 30% of fuel remaining in the tank.
</code></pre>
@@ -8723,7 +8720,7 @@ If you have only one prefix name for a squadron, you don't need to use the <code
</div>
<div class="w3-half">
<p>The %-tage of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
<p>The % of Units that dispatching command will allocate to intercept in surplus of detected amount of units.
The default overhead is 1, so equal balance. The <a href="##(AI_AIR_DISPATCHER).SetOverhead">AI_AIR_DISPATCHER.SetOverhead</a>() method can be used to tweak the defense strength,
taking into account the plane types of the squadron. For example, a MIG-31 with full long-distance AIR missiles payload, may still be less effective than a F-15C with short missiles...
So in this case, one may want to use the Overhead method to allocate more defending planes as the amount of detected attacking planes.
@@ -9458,7 +9455,7 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
-- Now Setup the AIR dispatcher, and initialize it using the Detection object.
AIRDispatcher = AI_AIR_DISPATCHER:New( Detection )
-- Now Setup the squadron fuel treshold.
-- Now Setup the squadron fuel threshold.
AIRDispatcher:SetSquadronRefuelThreshold( "SquadronName", 0.30 ) -- Go RTB when only 30% of fuel remaining in the tank.
-- Now Setup the squadron tanker.