Module CommandCenter

Tasking -- A COMMANDCENTER is the owner of multiple missions within MOOSE.

A COMMANDCENTER governs multiple missions, the tasking and the reporting.


Author: FlightControl

Contributions:


Global(s)

COMMANDCENTER

COMMANDCENTER class, extends Core.Base#BASE

The COMMANDCENTER class governs multiple missions, the tasking and the reporting.

Type COMMANDCENTER

COMMANDCENTER:AddGroups()

Get all the Groups active within the command center.

COMMANDCENTER:AddMission(Mission)

Add a MISSION to be governed by the HQ command center.

COMMANDCENTER:AssignRandomTask(TaskGroup)

Assigns a random task to a TaskGroup.

COMMANDCENTER:AssignTasks()

Automatically assigns tasks to all TaskGroups.

COMMANDCENTER.AutoAssignTasks
COMMANDCENTER.CommandCenterCoalition
COMMANDCENTER.CommandCenterMenus
COMMANDCENTER.CommandCenterName
COMMANDCENTER.CommandCenterPositionable
COMMANDCENTER.CommunicationMode
COMMANDCENTER:GetCoalition()

Gets the coalition of the command center.

COMMANDCENTER:GetMenu(TaskGroup)

Gets the commandcenter menu structure governed by the HQ command center.

COMMANDCENTER:GetMissions()

Get the Missions governed by the HQ command center.

COMMANDCENTER:GetName()

Gets the name of the HQ command center.

COMMANDCENTER:GetPositionable()

Gets the POSITIONABLE of the HQ command center.

COMMANDCENTER:GetShortText()

Gets the short text string of the HQ command center.

COMMANDCENTER:GetText()

Gets the text string of the HQ command center.

COMMANDCENTER.HQ
COMMANDCENTER:HasGroup(Wrapper, MissionGroup)

Checks of the COMMANDCENTER has a GROUP.

COMMANDCENTER:IsGroupAssigned(TaskGroup)

Checks of the TaskGroup has a Task.

COMMANDCENTER:IsModeWWII()

Returns if the commandcenter operations is in WWII mode

COMMANDCENTER:MessageToAll(Message)

Send a CC message to the coalition of the CC.

COMMANDCENTER:MessageToCoalition(Message)

Send a CC message to the coalition of the CC.

COMMANDCENTER:MessageToGroup(Message, TaskGroup)

Send a CC message to a GROUP.

COMMANDCENTER:MessageTypeToCoalition(Message, MessageType)

Send a CC message of a specified type to the coalition of the CC.

COMMANDCENTER:MessageTypeToGroup(Message, TaskGroup, MessageType)

Send a CC message of a specified type to a GROUP.

COMMANDCENTER.Missions
COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName)

The constructor takes an IDENTIFIABLE as the HQ command center.

COMMANDCENTER:RemoveMission(Mission)

Removes a MISSION to be governed by the HQ command center.

COMMANDCENTER:ReportDetails(ReportGroup, Task)

Report the status of a Task to a Group.

COMMANDCENTER:ReportMissionsPlayers(ReportGroup)

Report the players of all MISSIONs to a GROUP.

COMMANDCENTER:ReportSummary(ReportGroup)

Report the status of all MISSIONs to a GROUP.

COMMANDCENTER:SetAutoAssignTasks(AutoAssign)

Automatically assigns tasks to all TaskGroups.

COMMANDCENTER:SetMenu()

Sets the menu structure of the Missions governed by the HQ command center.

COMMANDCENTER:SetModeWWII()

Set the commandcenter operations in WWII mode This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center, and will be replaced by a navigation using Reference Zones.

COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)

Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.

Global(s)

#COMMANDCENTER COMMANDCENTER

COMMANDCENTER class, extends Core.Base#BASE

The COMMANDCENTER class governs multiple missions, the tasking and the reporting.

The commandcenter communicates important messages between the various groups of human players executing tasks in missions.

COMMANDCENTER constructor

Mission Management

Reference Zones

Command Centers may be aware of certain Reference Zones within the battleground. These Reference Zones can refer to known areas, recognizable buildings or sites, or any other point of interest. Command Centers will use these Reference Zones to help pilots with defining coordinates in terms of navigation during the WWII era. The Reference Zones are related to the WWII mode that the Command Center will operate in. Use the method COMMANDCENTER.SetModeWWII() to set the mode of communication to the WWII mode.

In WWII mode, the Command Center will receive detected targets, and will select for each target the closest nearby Reference Zone. This allows pilots to navigate easier through the battle field readying for combat.

The Reference Zones need to be set by the Mission Designer in the Mission Editor. Reference Zones are set by normal trigger zones. One can color the zones in a specific color, and the radius of the zones doesn't matter, only the point is important. Place the center of these Reference Zones at specific scenery objects or points of interest (like cities, rivers, hills, crossing etc). The trigger zones indicating a Reference Zone need to follow a specific syntax. The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object, followed by a #, followed by a symbolic name of the Reference Zone. A few examples:

  • A church at Tskinvali would be indicated as: Church#Tskinvali
  • A train station near Kobuleti would be indicated as: Station#Kobuleti

The COMMANDCENTER class contains a method to indicate which trigger zones need to be used as Reference Zones. This is done by using the method COMMANDCENTER.SetReferenceZones(). For the moment, only one Reference Zone class can be specified, but in the future, more classes will become possible.

Type CommandCenter

Type COMMANDCENTER

Extends Core.Base#BASE

The COMMANDCENTER class

COMMANDCENTER is a list of Tasking.Mission#MISSION. Missions

Field(s)

COMMANDCENTER:AddGroups()

Get all the Groups active within the command center.

Return value

Core.Set#SET_GROUP:

COMMANDCENTER:AddMission(Mission)

Add a MISSION to be governed by the HQ command center.

Parameter

Return value

Tasking.Mission#MISSION:

COMMANDCENTER:AssignRandomTask(TaskGroup)

Assigns a random task to a TaskGroup.

Parameter

  • TaskGroup :

Return value

#COMMANDCENTER:

COMMANDCENTER:AssignTasks()

Automatically assigns tasks to all TaskGroups.

COMMANDCENTER.AutoAssignTasks
Dcs.DCSCoalitionWrapper.Object#coalition COMMANDCENTER.CommandCenterCoalition
COMMANDCENTER.CommandCenterMenus
COMMANDCENTER.CommandCenterName
COMMANDCENTER.CommandCenterPositionable
#string COMMANDCENTER.CommunicationMode
COMMANDCENTER:GetCoalition()

Gets the coalition of the command center.

Return value

DCScoalition#coalition:

COMMANDCENTER:GetMenu(TaskGroup)

Gets the commandcenter menu structure governed by the HQ command center.

Parameter

  • TaskGroup :

Return value

Core.Menu#MENU_COALITION:

COMMANDCENTER:GetMissions()

Get the Missions governed by the HQ command center.

Return value

#list<Tasking.Mission#MISSION>:

COMMANDCENTER:GetName()

Gets the name of the HQ command center.

Return value

#string:

COMMANDCENTER:GetPositionable()

Gets the POSITIONABLE of the HQ command center.

Return value

Wrapper.Positionable#POSITIONABLE:

COMMANDCENTER:GetShortText()

Gets the short text string of the HQ command center.

Return value

#string:

COMMANDCENTER:GetText()

Gets the text string of the HQ command center.

Return value

#string:

Wrapper.Group#GROUP COMMANDCENTER.HQ
COMMANDCENTER:HasGroup(Wrapper, MissionGroup)

Checks of the COMMANDCENTER has a GROUP.

Parameters

  • Wrapper : Group#GROUP

  • MissionGroup :

Return value

#boolean:

COMMANDCENTER:IsGroupAssigned(TaskGroup)

Checks of the TaskGroup has a Task.

Parameter

  • TaskGroup :

Return value

#boolean:

COMMANDCENTER:IsModeWWII()

Returns if the commandcenter operations is in WWII mode

Return value

#boolean: true if in WWII mode.

COMMANDCENTER:MessageToAll(Message)

Send a CC message to the coalition of the CC.

Parameter

  • Message :

COMMANDCENTER:MessageToCoalition(Message)

Send a CC message to the coalition of the CC.

Parameter

  • Message :

COMMANDCENTER:MessageToGroup(Message, TaskGroup)

Send a CC message to a GROUP.

Parameters

COMMANDCENTER:MessageTypeToCoalition(Message, MessageType)

Send a CC message of a specified type to the coalition of the CC.

Parameters

  • #string Message : The message.

  • Core.Message#MESSAGE.MessageType MessageType : The type of the message, resulting in automatic time duration and prefix of the message.

COMMANDCENTER:MessageTypeToGroup(Message, TaskGroup, MessageType)

Send a CC message of a specified type to a GROUP.

Parameters

#table COMMANDCENTER.Missions
COMMANDCENTER:New(CommandCenterPositionable, CommandCenterName)

The constructor takes an IDENTIFIABLE as the HQ command center.

Parameters

Return value

#COMMANDCENTER:

COMMANDCENTER:RemoveMission(Mission)

Removes a MISSION to be governed by the HQ command center.

The given Mission is not nilified.

Parameter

Return value

Tasking.Mission#MISSION:

COMMANDCENTER:ReportDetails(ReportGroup, Task)

Report the status of a Task to a Group.

Report the details of a Mission, listing the Mission, and all the Task details.

Parameters

  • ReportGroup :

  • Task :

COMMANDCENTER:ReportMissionsPlayers(ReportGroup)

Report the players of all MISSIONs to a GROUP.

Each Mission is listed, with an indication how many Tasks are still to be completed.

Parameter

  • ReportGroup :

COMMANDCENTER:ReportSummary(ReportGroup)

Report the status of all MISSIONs to a GROUP.

Each Mission is listed, with an indication how many Tasks are still to be completed.

Parameter

  • ReportGroup :

COMMANDCENTER:SetAutoAssignTasks(AutoAssign)

Automatically assigns tasks to all TaskGroups.

Parameter

  • #boolean AutoAssign : true for ON and false or nil for OFF.

Return value

#COMMANDCENTER:

COMMANDCENTER:SetMenu()

Sets the menu structure of the Missions governed by the HQ command center.

COMMANDCENTER:SetModeWWII()

Set the commandcenter operations in WWII mode This will disable LL, MGRS, BRA, BULLS navigatin messages sent by the Command Center, and will be replaced by a navigation using Reference Zones.

It will also disable the settings at the settings menu for these.

Return value

#COMMANDCENTER:

COMMANDCENTER:SetReferenceZones(ReferenceZonePrefix)

Set special Reference Zones known by the Command Center to guide airborne pilots during WWII.

These Reference Zones are normal trigger zones, with a special naming. The Reference Zones need to be set by the Mission Designer in the Mission Editor. Reference Zones are set by normal trigger zones. One can color the zones in a specific color, and the radius of the zones doesn't matter, only the center of the zone is important. Place the center of these Reference Zones at specific scenery objects or points of interest (like cities, rivers, hills, crossing etc). The trigger zones indicating a Reference Zone need to follow a specific syntax. The name of each trigger zone expressing a Reference Zone need to start with a classification name of the object, followed by a #, followed by a symbolic name of the Reference Zone. A few examples:

  • A church at Tskinvali would be indicated as: Church#Tskinvali
  • A train station near Kobuleti would be indicated as: Station#Kobuleti

Taking the above example, this is how this method would be used:

CC:SetReferenceZones( "Church" )
CC:SetReferenceZones( "Station" )

Parameter

  • #string ReferenceZonePrefix : The name before the #-mark indicating the class of the Reference Zones.

Return value

#COMMANDCENTER:

Type TASK