Module Task_A2A

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


Author: FlightControl

Contributions:


Global(s)

TASK_A2A

TASK_A2A 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.

TASK_A2A_ENGAGE

TASKA2AENGAGE class, extends Task_A2A#TASK_A2A

The TASKA2AENGAGE class defines an engage task for a human player to be executed.

TASK_A2A_INTERCEPT

TASKA2AINTERCEPT class, extends Task_A2A#TASK_A2A

The TASKA2AINTERCEPT class defines an intercept task for a human player to be executed.

TASK_A2A_SWEEP

TASKA2ASWEEP class, extends Task_A2A#TASK_A2A

The TASKA2ASWEEP class defines a sweep task for a human player to be executed.

Type TASK_A2A

TASK_A2A:GetGoalTotal()
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:ReportOrder(ReportGroup)

Return the relative distance to the target vicinity from the player, in order to sort the targets in the reports per distance from the threats.

TASK_A2A:SetGoalTotal()
TASK_A2A:SetRendezVousCoordinate(RendezVousCoordinate, RendezVousRange, TaskUnit)
TASK_A2A:SetRendezVousZone(RendezVousZone, TaskUnit)
TASK_A2A:SetTargetCoordinate(TargetCoordinate, TaskUnit)
TASK_A2A:SetTargetSetUnit(TargetSetUnit)
TASK_A2A:SetTargetZone(TargetZone, TaskUnit, Altitude, Heading)
TASK_A2A.TargetSetUnit
TASK_A2A:UpdateTaskInfo(DetectedItem)
TASK_A2A:onafterGoal(TaskUnit, From, Event, To)

This method checks every 10 seconds if the goal has been reached of the task.

Type TASK_A2A_ENGAGE

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

Instantiates a new TASKA2AENGAGE.

TASK_A2A_ENGAGE:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

TASK_A2A_ENGAGE:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

TASK_A2A_ENGAGE:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

TASK_A2A_ENGAGE.TargetSetUnit

Type TASK_A2A_INTERCEPT

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

Instantiates a new TASKA2AINTERCEPT.

TASK_A2A_INTERCEPT:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

TASK_A2A_INTERCEPT:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

TASK_A2A_INTERCEPT:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

TASK_A2A_INTERCEPT.TargetSetUnit

Type TASK_A2A_SWEEP

TASK_A2A_SWEEP:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2ASWEEP.

TASK_A2A_SWEEP:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

TASK_A2A_SWEEP:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

TASK_A2A_SWEEP:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

TASK_A2A_SWEEP.TargetSetUnit
TASK_A2A_SWEEP:onafterGoal(TaskUnit, From, Event, To)

Global(s)

#TASK_A2A TASK_A2A

TASK_A2A 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 Fsm#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 Wrapper.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) Set the scoring of achievements in an A2A attack.

Scoring or penalties can be given in the following circumstances:

#TASK_A2A_ENGAGE TASK_A2A_ENGAGE

TASKA2AENGAGE class, extends Task_A2A#TASK_A2A

The TASKA2AENGAGE class defines an engage task for a human player to be executed.

When enemy planes are close to human players, use this task type is used urge the players to get out there!

The TASKA2AENGAGE is used by the Task_A2A_Dispatcher#TASK_A2A_DISPATCHER to automatically create engage tasks based on detected airborne enemy targets intruding friendly airspace.

The task is defined for a Mission#MISSION, where a friendly Core.Set#SET_GROUP consisting of GROUPs with one human players each, is engaging the targets. The task is given a name and a briefing, that is used in the menu structure and in the reporting.

#TASK_A2A_INTERCEPT TASK_A2A_INTERCEPT

TASKA2AINTERCEPT class, extends Task_A2A#TASK_A2A

The TASKA2AINTERCEPT class defines an intercept task for a human player to be executed.

When enemy planes need to be intercepted by human players, use this task type to urgen the players to get out there!

The TASKA2AINTERCEPT is used by the Task_A2A_Dispatcher#TASK_A2A_DISPATCHER to automatically create intercept tasks based on detected airborne enemy targets intruding friendly airspace.

The task is defined for a Mission#MISSION, where a friendly Core.Set#SET_GROUP consisting of GROUPs with one human players each, is intercepting the targets. The task is given a name and a briefing, that is used in the menu structure and in the reporting.

#TASK_A2A_SWEEP TASK_A2A_SWEEP

TASKA2ASWEEP class, extends Task_A2A#TASK_A2A

The TASKA2ASWEEP class defines a sweep task for a human player to be executed.

A sweep task needs to be given when targets were detected but somehow the detection was lost. Most likely, these enemy planes are hidden in the mountains or are flying under radar. These enemy planes need to be sweeped by human players, and use this task type to urge the players to get out there and find those enemy fighters.

The TASKA2ASWEEP is used by the Task_A2A_Dispatcher#TASK_A2A_DISPATCHER to automatically create sweep tasks based on detected airborne enemy targets intruding friendly airspace, for which the detection has been lost for more than 60 seconds.

The task is defined for a Mission#MISSION, where a friendly Core.Set#SET_GROUP consisting of GROUPs with one human players each, is sweeping the targets. The task is given a name and a briefing, that is used in the menu structure and in the reporting.

Type Task_A2A

Type FSM_PROCESS

Type TASK_A2A

Extends Tasking.Task#TASK

The TASK_A2A class

Field(s)

TASK_A2A:GetGoalTotal()
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 :

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

  • #string TaskName : The name of the Task.

  • Core.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:ReportOrder(ReportGroup)

Return the relative distance to the target vicinity from the player, in order to sort the targets in the reports per distance from the threats.

Parameter

  • ReportGroup :

TASK_A2A:SetGoalTotal()
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:SetTargetCoordinate(TargetCoordinate, TaskUnit)

Parameters

TASK_A2A:SetTargetSetUnit(TargetSetUnit)

Parameter

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

Parameters

Core.Set#SET_UNIT TASK_A2A.TargetSetUnit
TASK_A2A:UpdateTaskInfo(DetectedItem)

Parameter

  • DetectedItem :

TASK_A2A:onafterGoal(TaskUnit, From, Event, To)

This method checks every 10 seconds if the goal has been reached of the task.

Parameters

  • TaskUnit :

  • From :

  • Event :

  • To :

Type TASK_A2A_ENGAGE

Extends Tasking.Task#TASK

The TASKA2AENGAGE class

Field(s)

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

Instantiates a new TASKA2AENGAGE.

Parameters

Return value

#TASK_A2A_ENGAGE: self

TASK_A2A_ENGAGE:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

Parameters

  • #string PlayerName : The name of the player.

  • #number Penalty : The penalty in points, must be a negative value!

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_ENGAGE:

TASK_A2A_ENGAGE:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points to be granted when task process has been achieved.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_ENGAGE:

TASK_A2A_ENGAGE:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_ENGAGE:

Core.Set#SET_UNIT TASK_A2A_ENGAGE.TargetSetUnit

Type TASK_A2A_INTERCEPT

Extends Tasking.Task#TASK

The TASKA2AINTERCEPT class

Field(s)

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

Instantiates a new TASKA2AINTERCEPT.

Parameters

Return value

#TASK_A2A_INTERCEPT:

TASK_A2A_INTERCEPT:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

Parameters

  • #string PlayerName : The name of the player.

  • #number Penalty : The penalty in points, must be a negative value!

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_INTERCEPT:

TASK_A2A_INTERCEPT:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points to be granted when task process has been achieved.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_INTERCEPT:

TASK_A2A_INTERCEPT:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_INTERCEPT:

Core.Set#SET_UNIT TASK_A2A_INTERCEPT.TargetSetUnit

Type TASK_A2A_SWEEP

Extends Tasking.Task#TASK

The TASKA2ASWEEP class

Field(s)

TASK_A2A_SWEEP:New(Mission, SetGroup, TaskName, TargetSetUnit, TaskBriefing)

Instantiates a new TASKA2ASWEEP.

Parameters

Return value

#TASK_A2A_SWEEP: self

TASK_A2A_SWEEP:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

Parameters

  • #string PlayerName : The name of the player.

  • #number Penalty : The penalty in points, must be a negative value!

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_SWEEP:

TASK_A2A_SWEEP:SetScoreOnProgress(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points to be granted when task process has been achieved.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_SWEEP:

TASK_A2A_SWEEP:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

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

Parameters

  • #string PlayerName : The name of the player.

  • #number Score : The score in points.

  • Wrapper.Unit#UNIT TaskUnit :

Return value

#TASK_A2A_SWEEP:

Core.Set#SET_UNIT TASK_A2A_SWEEP.TargetSetUnit
TASK_A2A_SWEEP:onafterGoal(TaskUnit, From, Event, To)

Parameters

  • TaskUnit :

  • From :

  • Event :

  • To :

Type TASK_CARGO