<p>The <ahref="##(AI_A2A_DISPATCHER).New">AI<em>A2A</em>DISPATCHER.New</a>() method creates a new AI_A2A_DISPATCHER instance.</p>
<h3>1.1. Define the <strong>EWR network</strong>:</h3>
<p>As part of the AI_A2A_DISPATCHER constructor, an EWR network must be given as the first parameter.
<p>As part of the AI_A2A_DISPATCHER :New() constructor, an EWR network must be given as the first parameter.
An EWR network, or, Early Warning Radar network, is used to early detect potential airborne targets and to understand the position of patrolling targets of the enemy.</p>
<p>The above example creates a SET_GROUP instance, and stores this in the variable (object) <strong>DetectionSetGroup</strong>.
<strong>DetectionSetGroup</strong> is then being configured to filter all active groups with a group name starting with <strong>DF CCCP AWACS</strong> or <strong>DF CCCP EWR</strong> to be included in the Set.
<strong>DetectionSetGroup</strong> is then being ordered to start the dynamic filtering. Note that any destroy or new spawn of a group with the above names will be removed or added to the Set.
Then a new Detection object is created from the class DETECTION_AREAS. A grouping radius of 30000 is choosen, which is 30km.
<strong>DetectionSetGroup</strong> is then being ordered to start the dynamic filtering. Note that any destroy or new spawn of a group with the above names will be removed or added to the Set.</p>
<p>Then a new Detection object is created from the class DETECTION_AREAS. A grouping radius of 30000 is choosen, which is 30km.
The <strong>Detection</strong> object is then passed to the <ahref="##(AI_A2A_DISPATCHER).New">AI<em>A2A</em>DISPATCHER.New</a>() method to indicate the EWR network configuration and setup the A2A defense detection mechanism.</p>
<p>You could build a <strong>mutual defense system</strong> like this:</p>
@@ -1003,6 +1009,13 @@ You need to evaluate the value of this parameter carefully.
If too small, more intercept missions may be triggered upon detected target areas.
If too large, any airborne cap may not be able to reach the detected target area in time, because it is too far.</p>
<p>In this example an engage radius is set to 80 km.</p>
<pre><code>-- Initialize the dispatcher, setting up a radius of 80km where any airborne friendly
-- without an assignment within 80km radius from a detected target, will engage that target.
A2ADispatcher:SetEngageRadius( 80000 )
</code></pre>
<h2>4. Set the <strong>Intercept radius</strong> or <strong>Gci radius</strong>:</h2>
<p>When targets are detected that are still really far off, you don't want the AI<em>A2A</em>DISPATCHER to launch intercepts just yet.
@@ -1011,6 +1024,12 @@ The Gci radius is by default defined as 200km. This value can be overridden usin
Override the default Gci radius when the era of the warfare is early, or, when you don't want to let the AI<em>A2A</em>DISPATCHER react immediately when
a certain border or area is not being crossed.</p>
<p>In this example, the GCI radius is setto 150 km:</p>
<pre><code>-- Initialize the dispatcher, setting up a GCI radius of 150km where no GCI will be started if the target is further than 150 km from the closest airabse.
A2ADispatcher:SetGciRadius( 80000 )
</code></pre>
<h2>5. Set the <strong>borders</strong>:</h2>
<p>According to the tactical and strategic design of the mission broadly decide the shape and extent of red and blue territories.
@@ -1030,6 +1049,22 @@ If a hot war is chosen then <strong>no borders</strong> actually need to be defi
it makes it easier sometimes for the mission maker to envisage where the red and blue territories roughly are.
In a hot war the borders are effectively defined by the ground based radar coverage of a coalition.</p>
<p>In this example a border is set for the CCCP A2A dispatcher:</p>
<p>The AI_A2A_DISPATCHER works with <strong>Squadrons</strong>, that need to be defined using the different methods available.</p>
@@ -1059,6 +1094,18 @@ while defining which plane types are being used by the squadron and how many res
<p>For performance and bug workaround reasons within DCS, squadrons have different methods to spawn new aircraft or land returning or damaged aircraft.</p>
<p>This example defines a couple of squadrons. Note the templates defined within the Mission Editor.</p>
@@ -1096,6 +1143,23 @@ The more and the longer aircraft need to taxi at an airfield, the more risk ther
<p>Currently within the DCS engine, the airfield traffic coordination is erroneous and contains a lot of bugs.
If you experience while testing problems with aircraft take-off or landing, please use one of the above methods as a solution to workaround these issues!</p>
<p>This example sets the default takeoff method to be from the runway.
And for a couple of squadrons overrides this default method.</p>
<p>In analogy with takeoff, the landing methods are to control how squadrons land at the airfield:</p>
@@ -1122,6 +1186,23 @@ A2A defense system, as no new CAP or GCI planes can takeoff.
Note that the method <ahref="##(AI_A2A_DISPATCHER).SetSquadronLandingNearAirbase">AI<em>A2A</em>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>
<p>This example defines the default landing method to be at the runway.
And for a couple of squadrons overrides this default method.</p>
<p>Use the method <ahref="##(AI_A2A_DISPATCHER).SetSquadronGrouping">AI<em>A2A</em>DISPATCHER.SetSquadronGrouping</a>() to set the grouping of CAP or GCI flights that will take-off when spawned.</p>
@@ -1196,16 +1277,24 @@ multiplied by the Overhead and rounded up to the smallest integer. </p>
<p>The following example illustrates how CAP zones are coded:</p>
@@ -1264,175 +1355,9 @@ too short will mean that the intruders may have alraedy passed the ideal interce
Use the method <ahref="##(AI_A2A_DISPATCHER).SetTacticalDisplay">AI<em>A2A</em>DISPATCHER.SetTacticalDisplay</a>() to switch on the tactical display panel. The default will not show this panel.
Note that there may be some performance impact if this panel is shown.</p>
<h2>10. Mission Editor Guide:</h2>
<h2>10. Q & A:</h2>
<p>The following steps need to be followed, in order to setup the different borders, templates and groups within the mission editor:</p>
<p>For a cold war situation, define your border zone.
You can do this in many ways, as the <ahref="Zone.html">Zone</a> capability within MOOSE outlines. However, the best practice is to create a ZONE_POLYGON class.
To do this, you need to create a zone using a helicopter group, that is late activated, and has a unique group name.
Place the helicopter where the border zone should start, and draw using the waypoints the polygon zone around the area that is considered the border.
The helicopter group name is included as the reference within your lua MOOSE mission script, so ensure that the name is unique and is easily recognizable.</p>
<p>Use the @{#AI<em>A2A</em>DISPATCHER.SetSquadronCapInterval)() method to define how many CAP groups can be airborne at the same time, and the timing intervals.</p>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.