Module Task_A2A

Tasking - The TASK_A2A models tasks for players in Air to Air engagements.

Banner Image

1) TaskA2A#TASKA2A class, extends Task#TASK

The #TASK_A2A class defines Air To Air tasks for a Set of Target Units, based on the tasking capabilities defined in Task#TASK. The TASK_A2A is implemented using a Statemachine#FSM_TASK, and has the following statuses:

  • None: Start of the process
  • Planned: The A2A task is planned.
  • Assigned: The A2A task is assigned to a Group#GROUP.
  • Success: The A2A task is successfully completed.
  • Failed: The A2A task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ.

1.1) Set the scoring of achievements in an A2A attack.

Scoring or penalties can be given in the following circumstances:

2) TaskA2A#TASKINTERCEPT class, extends TaskA2A#TASKA2A

The TASKA2AINTERCEPT class defines an INTERCEPT task for a Set of Target Units.


API CHANGE HISTORY

The underlying change log documents the API changes. Please read this carefully. The following notation is used:

  • Added parts are expressed in bold type face.
  • Removed parts are expressed in italic type face.

Hereby the change log:


AUTHORS and CONTRIBUTIONS

Contributions:

Authors:

  • FlightControl: Concept, Design & Programming.

Global(s)

TASK_A2A
TASK_A2A_ENGAGE
TASK_A2A_INTERCEPT

Type TASK_A2A

TASK_A2A.ClassName
TASK_A2A:GetPlannedMenuText()
TASK_A2A:GetRendezVousCoordinate(TaskUnit)
TASK_A2A:GetRendezVousZone(TaskUnit)
TASK_A2A:GetTargetCoordinate(TaskUnit)
TASK_A2A:GetTargetZone(TaskUnit)
TASK_A2A:New(Mission, SetAttack, TaskName, UnitSetTargets, TargetDistance, TargetZone, TargetSetUnit, TaskType, TaskBriefing)

Instantiates a new TASK_A2A.

TASK_A2A:SetPenaltyOnFailed(Text, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

TASK_A2A:SetRendezVousCoordinate(RendezVousCoordinate, RendezVousRange, TaskUnit)
TASK_A2A:SetRendezVousZone(RendezVousZone, TaskUnit)
TASK_A2A:SetScoreOnDestroy(Text, Score, TaskUnit)

Set a score when a target in scope of the A2A attack, has been destroyed .

TASK_A2A:SetScoreOnSuccess(Text, Score, TaskUnit)

Set a score when all the targets in scope of the A2A attack, have been destroyed.

TASK_A2A:SetTargetCoordinate(TargetCoordinate, TaskUnit)
TASK_A2A:SetTargetZone(TargetZone, TaskUnit, Altitude, Heading)
TASK_A2A.TargetSetUnit

Type TASK_A2A_ENGAGE

TASK_A2A_ENGAGE.ClassName
TASK_A2A_ENGAGE:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2AENGAGE.

TASK_A2A_ENGAGE.TargetSetUnit

Type TASK_A2A_INTERCEPT

TASK_A2A_INTERCEPT.ClassName
TASK_A2A_INTERCEPT:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2AINTERCEPT.

TASK_A2A_INTERCEPT.TargetSetUnit

Global(s)

#TASK_A2A TASK_A2A
#TASK_A2A_ENGAGE TASK_A2A_ENGAGE
#TASK_A2A_INTERCEPT TASK_A2A_INTERCEPT

Type Task_A2A

Type FSM_PROCESS

Type TASK_A2A

The TASK_A2A class

Field(s)

#string TASK_A2A.ClassName
TASK_A2A:GetPlannedMenuText()
TASK_A2A:GetRendezVousCoordinate(TaskUnit)

Parameter

Return values

  1. Core.Point#COORDINATE: The Coordinate object referencing to the 2D point where the RendezVous point is located on the map.

  2. #number: The RendezVousRange that defines when the player is considered to have arrived at the RendezVous point.

TASK_A2A:GetRendezVousZone(TaskUnit)

Parameter

Return value

Core.Zone#ZONE_BASE: The Zone object where the RendezVous is located on the map.

TASK_A2A:GetTargetCoordinate(TaskUnit)

Parameter

Return value

Core.Point#COORDINATE: The Coordinate object where the Target is located on the map.

TASK_A2A:GetTargetZone(TaskUnit)

Parameter

Return value

Core.Zone#ZONE_BASE: The Zone object where the Target is located on the map.

TASK_A2A:New(Mission, SetAttack, TaskName, UnitSetTargets, TargetDistance, TargetZone, TargetSetUnit, TaskType, TaskBriefing)

Instantiates a new TASK_A2A.

Parameters

  • Tasking.Mission#MISSION Mission :

  • Set#SET_GROUP SetAttack : The set of groups for which the Task can be assigned.

  • #string TaskName : The name of the Task.

  • Set#SET_UNIT UnitSetTargets :

  • #number TargetDistance : The distance to Target when the Player is considered to have "arrived" at the engagement range.

  • Core.Zone#ZONE_BASE TargetZone : The target zone, if known. If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be.

  • TargetSetUnit :

  • TaskType :

  • TaskBriefing :

Return value

#TASK_A2A: self

TASK_A2A:SetPenaltyOnFailed(Text, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

Parameters

  • #string Text : The text to display to the player, when the A2A attack has failed.

  • #number Penalty : The penalty in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A:

TASK_A2A:SetRendezVousCoordinate(RendezVousCoordinate, RendezVousRange, TaskUnit)

Parameters

  • Core.Point#COORDINATE RendezVousCoordinate : The Coordinate object referencing to the 2D point where the RendezVous point is located on the map.

  • #number RendezVousRange : The RendezVousRange that defines when the player is considered to have arrived at the RendezVous point.

  • Wrapper.Unit#UNIT TaskUnit :

TASK_A2A:SetRendezVousZone(RendezVousZone, TaskUnit)

Parameters

TASK_A2A:SetScoreOnDestroy(Text, Score, TaskUnit)

Set a score when a target in scope of the A2A attack, has been destroyed .

Parameters

  • #string Text : The text to display to the player, when the target has been destroyed.

  • #number Score : The score in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A:

TASK_A2A:SetScoreOnSuccess(Text, Score, TaskUnit)

Set a score when all the targets in scope of the A2A attack, have been destroyed.

Parameters

  • #string Text : The text to display to the player, when all targets hav been destroyed.

  • #number Score : The score in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A:

TASK_A2A:SetTargetCoordinate(TargetCoordinate, TaskUnit)

Parameters

TASK_A2A:SetTargetZone(TargetZone, TaskUnit, Altitude, Heading)

Parameters

Set#SET_UNIT TASK_A2A.TargetSetUnit

Type TASK_A2A_ENGAGE

The TASKA2AENGAGE class

Field(s)

#string TASK_A2A_ENGAGE.ClassName
TASK_A2A_ENGAGE:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2AENGAGE.

Parameters

Return value

#TASKA2AENGAGE: self

Set#SET_UNIT TASK_A2A_ENGAGE.TargetSetUnit

Type TASK_A2A_INTERCEPT

The TASKA2AINTERCEPT class

Field(s)

#string TASK_A2A_INTERCEPT.ClassName
TASK_A2A_INTERCEPT:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2AINTERCEPT.

Parameters

Return value

#TASKA2AINTERCEPT: self

Set#SET_UNIT TASK_A2A_INTERCEPT.TargetSetUnit