Module AI_Designate

AI (Release 2.1) -- Management of target designation.

--Banner Image


Global(s)

AI_DESIGNATE

AI_DESIGNATE class, extends Fsm#FSM

AI_DESIGNATE is orchestrating the designation of potential targets executed by a Recce group, and communicates these to a dedicated attacking group of players, so that following a dynamically generated menu system, each detected set of potential targets can be lased or smoked...

Type AI_DESIGNATE

AI_DESIGNATE:Detect()

Detect Trigger for AI_DESIGNATE

AI_DESIGNATE.Detection
AI_DESIGNATE.GroupSet
AI_DESIGNATE:LaseOff()

LaseOff Trigger for AI_DESIGNATE

AI_DESIGNATE:LaseOn()

LaseOn Trigger for AI_DESIGNATE

AI_DESIGNATE.LaserCodes
AI_DESIGNATE.LaserCodesUsed
AI_DESIGNATE:MenuLaseOff(AttackGroup, Index, Duration)
AI_DESIGNATE:MenuLaseOn(AttackGroup, Index, Duration)
AI_DESIGNATE:MenuSmoke(AttackGroup, Index)
AI_DESIGNATE:New(Detection, GroupSet)

AI_DESIGNATE Constructor.

AI_DESIGNATE:OnAfterDetect(From, Event, To)

Detect Handler OnAfter for AI_DESIGNATE

AI_DESIGNATE:OnAfterLaseOff(From, Event, To)

LaseOff Handler OnAfter for AI_DESIGNATE

AI_DESIGNATE:OnAfterLaseOn(From, Event, To)

LaseOn Handler OnAfter for AI_DESIGNATE

AI_DESIGNATE:OnAfterSmoke(From, Event, To)

Smoke Handler OnAfter for AI_DESIGNATE

AI_DESIGNATE:OnAfterStatus(From, Event, To)

Status Handler OnAfter for AI_DESIGNATE

AI_DESIGNATE:OnBeforeDetect(From, Event, To)

Detect Handler OnBefore for AI_DESIGNATE

AI_DESIGNATE:OnBeforeLaseOff(From, Event, To)

LaseOff Handler OnBefore for AI_DESIGNATE

AI_DESIGNATE:OnBeforeLaseOn(From, Event, To)

LaseOn Handler OnBefore for AI_DESIGNATE

AI_DESIGNATE:OnBeforeSmoke(From, Event, To)

Smoke Handler OnBefore for AI_DESIGNATE

AI_DESIGNATE:OnBeforeStatus(From, Event, To)

Status Handler OnBefore for AI_DESIGNATE

AI_DESIGNATE.RecceSet
AI_DESIGNATE:SendStatus()

Sends the status to the Attack Groups.

AI_DESIGNATE:SetDesignateMenu()

Sets the Designate Menu.

AI_DESIGNATE:SetLaserCodes(<, LaserCodes)

Set an array of possible laser codes.

AI_DESIGNATE:Smoke()

Smoke Trigger for AI_DESIGNATE

AI_DESIGNATE.Spots
AI_DESIGNATE:Status()

Status Trigger for AI_DESIGNATE

AI_DESIGNATE:__Detect(Delay)

Detect Asynchronous Trigger for AI_DESIGNATE

AI_DESIGNATE:__LaseOff(Delay)

LaseOff Asynchronous Trigger for AI_DESIGNATE

AI_DESIGNATE:__LaseOn(Delay)

LaseOn Asynchronous Trigger for AI_DESIGNATE

AI_DESIGNATE:__Smoke(Delay)

Smoke Asynchronous Trigger for AI_DESIGNATE

AI_DESIGNATE:__Status(Delay)

Status Asynchronous Trigger for AI_DESIGNATE

AI_DESIGNATE:onafterDetect()
AI_DESIGNATE:onafterLaseOff(From, Event, To, AttackGroup, Index)
AI_DESIGNATE:onafterLaseOn(From, Event, To, AttackGroup, Index, Duration)
AI_DESIGNATE:onafterLasing(From, Event, To, AttackGroup, Index, Duration)
AI_DESIGNATE:onafterSmoke(From, Event, To, AttackGroup, Index)

Global(s)

#AI_DESIGNATE AI_DESIGNATE

AI_DESIGNATE class, extends Fsm#FSM

AI_DESIGNATE is orchestrating the designation of potential targets executed by a Recce group, and communicates these to a dedicated attacking group of players, so that following a dynamically generated menu system, each detected set of potential targets can be lased or smoked...

The Recce group is detecting as part of the DETECTION_ class continuously targets. Once targets have been detected, they will be reported. The AI_DESIGNATE object will fire the Detect event in this case! As part of the reporting, the following happens:

  • A message is sent to each GROUP of the Attack SET_GROUP, containing the threat level and the target composition.
  • A menu is created and updated for each GROUP of the Attack SET_GROUP, containing the the treat level and the target composition.

One of the players in one of the Attack GROUPs, can then select a Target Set by selecting one of the menu options. Each menu option has two modes:

  • If the Target Set is not being designated, then the Designate menu for the target Set will provide options to Lase or Smoke the targets.
  • If the Target Set is being designated, then the Designate menu will provide an option to cancel the designation.

In this way, the AI can assist players to designate ground targets for a coordinated attack!

Have FUN!

1. AI_DESIGNATE constructor

2. AI_DESIGNATE is a FSM

Process

2.1 AI_DESIGNATE States

  • Designating ( Group ): The process is not started yet.

2.2 AI_DESIGNATE Events

3. Set laser codes

An array of laser codes can be provided, that will be used by the AI_DESIGNATE when lasing. The laser code is communicated by the Recce when it is lasing a larget. Note that the default laser code is 1113. Working known laser codes are: 1113,1462,1483,1537,1362,1214,1131,1182,1644,1614,1515,1411,1621,1138,1542,1678,1573,1314,1643,1257,1467,1375,1341,1275,1237

Use the method AI_DESIGNATE.SetLaserCodes() to set the possible laser codes to be selected from. One laser code can be given or an sequence of laser codes through an table...

AIDesignate:SetLaserCodes( 1214 )

The above sets one laser code with the value 1214.

AIDesignate:SetLaserCodes( { 1214, 1131, 1614, 1138 } )

The above sets a collection of possible laser codes that can be assigned. Note the { } notation!

Type AI_Designate

Type AI_DESIGNATE

Field(s)

AI_DESIGNATE:Detect()

Detect Trigger for AI_DESIGNATE

AI_DESIGNATE.Detection
AI_DESIGNATE.GroupSet
AI_DESIGNATE:LaseOff()

LaseOff Trigger for AI_DESIGNATE

AI_DESIGNATE:LaseOn()

LaseOn Trigger for AI_DESIGNATE

AI_DESIGNATE.LaserCodes
AI_DESIGNATE.LaserCodesUsed
AI_DESIGNATE:MenuLaseOff(AttackGroup, Index, Duration)

Parameters

  • AttackGroup :

  • Index :

  • Duration :

AI_DESIGNATE:MenuLaseOn(AttackGroup, Index, Duration)

Parameters

  • AttackGroup :

  • Index :

  • Duration :

AI_DESIGNATE:MenuSmoke(AttackGroup, Index)

Parameters

  • AttackGroup :

  • Index :

AI_DESIGNATE:New(Detection, GroupSet)

AI_DESIGNATE Constructor.

This class is an abstract class and should not be instantiated.

Parameters

Return value

#AI_DESIGNATE:

AI_DESIGNATE:OnAfterDetect(From, Event, To)

Detect Handler OnAfter for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

AI_DESIGNATE:OnAfterLaseOff(From, Event, To)

LaseOff Handler OnAfter for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

AI_DESIGNATE:OnAfterLaseOn(From, Event, To)

LaseOn Handler OnAfter for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

AI_DESIGNATE:OnAfterSmoke(From, Event, To)

Smoke Handler OnAfter for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

AI_DESIGNATE:OnAfterStatus(From, Event, To)

Status Handler OnAfter for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

AI_DESIGNATE:OnBeforeDetect(From, Event, To)

Detect Handler OnBefore for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

Return value

#boolean:

AI_DESIGNATE:OnBeforeLaseOff(From, Event, To)

LaseOff Handler OnBefore for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

Return value

#boolean:

AI_DESIGNATE:OnBeforeLaseOn(From, Event, To)

LaseOn Handler OnBefore for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

Return value

#boolean:

AI_DESIGNATE:OnBeforeSmoke(From, Event, To)

Smoke Handler OnBefore for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

Return value

#boolean:

AI_DESIGNATE:OnBeforeStatus(From, Event, To)

Status Handler OnBefore for AI_DESIGNATE

Parameters

  • #string From :

  • #string Event :

  • #string To :

Return value

#boolean:

AI_DESIGNATE.RecceSet
AI_DESIGNATE:SendStatus()

Sends the status to the Attack Groups.

Return value

#AI_DESIGNATE:

AI_DESIGNATE:SetDesignateMenu()

Sets the Designate Menu.

Return value

#AI_DESIGNATE:

AI_DESIGNATE:SetLaserCodes(<, LaserCodes)

Set an array of possible laser codes.

Each new lase will select a code from this table.

Parameters

  • #list < : number> LaserCodes

  • LaserCodes :

Return value

#AI_DESIGNATE:

AI_DESIGNATE:Smoke()

Smoke Trigger for AI_DESIGNATE

AI_DESIGNATE.Spots
AI_DESIGNATE:Status()

Status Trigger for AI_DESIGNATE

AI_DESIGNATE:__Detect(Delay)

Detect Asynchronous Trigger for AI_DESIGNATE

Parameter

  • #number Delay :

AI_DESIGNATE:__LaseOff(Delay)

LaseOff Asynchronous Trigger for AI_DESIGNATE

Parameter

  • #number Delay :

AI_DESIGNATE:__LaseOn(Delay)

LaseOn Asynchronous Trigger for AI_DESIGNATE

Parameter

  • #number Delay :

AI_DESIGNATE:__Smoke(Delay)

Smoke Asynchronous Trigger for AI_DESIGNATE

Parameter

  • #number Delay :

AI_DESIGNATE:__Status(Delay)

Status Asynchronous Trigger for AI_DESIGNATE

Parameter

  • #number Delay :

AI_DESIGNATE:onafterDetect()

Return value

#AI_DESIGNATE:

AI_DESIGNATE:onafterLaseOff(From, Event, To, AttackGroup, Index)

Parameters

  • From :

  • Event :

  • To :

  • AttackGroup :

  • Index :

Return value

#AI_DESIGNATE:

AI_DESIGNATE:onafterLaseOn(From, Event, To, AttackGroup, Index, Duration)

Parameters

  • From :

  • Event :

  • To :

  • AttackGroup :

  • Index :

  • Duration :

Return value

#AI_DESIGNATE:

AI_DESIGNATE:onafterLasing(From, Event, To, AttackGroup, Index, Duration)

Parameters

  • From :

  • Event :

  • To :

  • AttackGroup :

  • Index :

  • Duration :

Return value

#AI_DESIGNATE:

AI_DESIGNATE:onafterSmoke(From, Event, To, AttackGroup, Index)

Parameters

  • From :

  • Event :

  • To :

  • AttackGroup :

  • Index :

Return value

#AI_DESIGNATE:

Type list