Banner Image

Module AI.AI_A2A_Gci

AI - Models the process of Ground Controlled Interception (GCI) for airplanes.

This is a class used in the AI.AI_A2A_Dispatcher.


Author: FlightControl


Global(s)

Global AI_A2A_GCI

Implements the core functions to intercept intruders.

#AI_A2A_GCI AI_A2A_GCI

Implements the core functions to intercept intruders.

Use the Engage trigger to intercept intruders.

Process

The AI_A2A_GCI is assigned a Wrapper.Group and this must be done before the AI_A2A_GCI process can be started using the Start event.

Process

The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.

Process

This cycle will continue.

Process

During the patrol, the AI will detect enemy targets, which are reported through the Detected event.

Process

When enemies are detected, the AI will automatically engage the enemy.

Process

Until a fuel or damage threshold has been reached by the AI, or when the AI is commanded to RTB. When the fuel threshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.

Process

1. AI_A2A_GCI constructor

2. AI_A2A_GCI is a FSM

Process

2.1 AI_A2A_GCI States

  • None ( Group ): The process is not started yet.
  • Patrolling ( Group ): The AI is patrolling the Patrol Zone.
  • Engaging ( Group ): The AI is engaging the bogeys.
  • Returning ( Group ): The AI is returning to Base..

2.2 AI_A2A_GCI Events

3. Set the Range of Engagement

Range

An optional range can be set in meters, that will define when the AI will engage with the detected airborne enemy targets. The range can be beyond or smaller than the range of the Patrol Zone. The range is applied at the position of the AI. Use the method AI.AI_GCI#AI_A2A_GCI.SetEngageRange() to define that range.

4. Set the Zone of Engagement

Zone

An optional Core.Zone can be set, that will define when the AI will engage with the detected airborne enemy targets. Use the method AI.AI_CAP#AI_CAP_ZONE.SetEngageZone() to define that Zone.

Developer Note

Note while this class still works, it is no longer supported as the original author stopped active development of MOOSE Therefore, this class is considered to be deprecated


Type(s)

Field(s)

Function(s)

Evaluate the attack and create an AttackUnitTask list.

Defined in:

AI_A2A_GCI

Parameters:

Core.Set#SET_UNIT AttackSetUnit

The set of units to attack.

Wrapper.Group#GROUP DefenderGroup

The group of defenders.

#number EngageAltitude

The altitude to engage the targets.

Return value:

self

Creates a new AI_A2A_GCI object

Defined in:

AI_A2A_GCI

Parameters:

Wrapper.Group#GROUP AIIntercept

DCS#Speed EngageMinSpeed

The minimum speed of the Wrapper.Group in km/h when engaging a target.

DCS#Speed EngageMaxSpeed

The maximum speed of the Wrapper.Group in km/h when engaging a target.

DCS#Altitude EngageFloorAltitude

The lowest altitude in meters where to execute the engagement.

DCS#Altitude EngageCeilingAltitude

The highest altitude in meters where to execute the engagement.

DCS#AltitudeType EngageAltType

The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to "RADIO".

Return value:

Creates a new AI_A2A_GCI object

Defined in:

AI_A2A_GCI

Parameters:

Wrapper.Group#GROUP AIIntercept

DCS#Speed EngageMinSpeed

The minimum speed of the Wrapper.Group in km/h when engaging a target.

DCS#Speed EngageMaxSpeed

The maximum speed of the Wrapper.Group in km/h when engaging a target.

DCS#Altitude EngageFloorAltitude

The lowest altitude in meters where to execute the engagement.

DCS#Altitude EngageCeilingAltitude

The highest altitude in meters where to execute the engagement.

DCS#AltitudeType EngageAltType

The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to "RADIO".

Return value:

onafter State Transition for Event Patrol.

Defined in:

AI_A2A_GCI

Parameters:

Wrapper.Group#GROUP AIIntercept

The AI Group managed by the FSM.

#string From

The From State string.

#string Event

The Event string.

#string To

The To State string.