Module AI_Designate
AI (Release 2.1) -- Management of target designation.
--
Global(s)
| AI_DESIGNATE |
AI_DESIGNATE class, extends Fsm#FSMAI_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
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
- AI_DESIGNATE.New(): Creates a new AI_DESIGNATE object.
2. AI_DESIGNATE is a FSM
2.1 AI_DESIGNATE States
- Designating ( Group ): The process is not started yet.
2.2 AI_DESIGNATE Events
- **AI_DESIGNATE.Detect**: Detect targets.
- **AI_DESIGNATE.LaseOn**: Lase the targets with the specified Index.
- **AI_DESIGNATE.LaseOff**: Stop lasing the targets with the specified Index.
- **AI_DESIGNATE.Smoke**: Smoke the targets with the specified Index.
- **AI_DESIGNATE.Status**: Report designation status.
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:LaseOff()
-
LaseOff Trigger for AI_DESIGNATE
- AI_DESIGNATE:LaseOn()
-
LaseOn Trigger for AI_DESIGNATE
- 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
-
Functional.Detection#DETECTION_BASE Detection: -
Core.Set#SET_GROUP GroupSet: The set of groups to designate for.
Return value
-
- 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:SendStatus()
-
Sends the status to the Attack Groups.
Return value
- AI_DESIGNATE:SetDesignateMenu()
-
Sets the Designate Menu.
Return value
- 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:Smoke()
-
Smoke Trigger for AI_DESIGNATE
- 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:onafterLaseOff(From, Event, To, AttackGroup, Index)
-
Parameters
-
From: -
Event: -
To: -
AttackGroup: -
Index:
Return value
-
- AI_DESIGNATE:onafterLaseOn(From, Event, To, AttackGroup, Index, Duration)
-
Parameters
-
From: -
Event: -
To: -
AttackGroup: -
Index: -
Duration:
Return value
-
- AI_DESIGNATE:onafterLasing(From, Event, To, AttackGroup, Index, Duration)
-
Parameters
-
From: -
Event: -
To: -
AttackGroup: -
Index: -
Duration:
Return value
-
- AI_DESIGNATE:onafterSmoke(From, Event, To, AttackGroup, Index)
-
Parameters
-
From: -
Event: -
To: -
AttackGroup: -
Index:
Return value
-