Module Mission
Tasking -- A MISSION is the main owner of a Mission orchestration within MOOSE.
Author: Sven Van de Velde (FlightControl)
Contributions:
Global(s)
| MISSION |
Type MISSION
Global(s)
Type Mission
Type MISSION
The MISSION class
Field(s)
- MISSION:AbortUnit(PlayerUnit)
-
Aborts a PlayerUnit from the Mission.
For each Task within the Mission, the PlayerUnit is removed from Task where it is assigned. If the Unit was not part of a Task in the Mission, false is returned. If the Unit is part of a Task in the Mission, true is returned.
Parameter
-
Wrapper.Unit#UNIT PlayerUnit: The CLIENT or UNIT of the Player joining the Mission.
Return value
-
- MISSION:AddPlayerName(PlayerName)
-
Parameter
-
PlayerName:
-
- MISSION:AddScoring(Scoring)
-
Add a scoring to the mission.
Parameter
-
Scoring:
Return value
#MISSION: self
-
- MISSION:AddTask(Task)
-
Register a Task to be completed within the Mission.
Note that there can be multiple Tasks registered to be completed. Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached.
Parameter
-
Tasking.Task#TASK Task: is the Task object.
Return value
Tasking.Task#TASK: The task added.
-
- #string MISSION.ClassName
- MISSION:ClearGroupAssignment(MissionGroup)
-
Clear the Group assignment from the Mission.
Parameter
-
Wrapper.Group#GROUP MissionGroup:
Return value
-
- MISSION:Complete()
-
Synchronous Event Trigger for Event Complete.
- MISSION:CrashUnit(PlayerUnit)
-
Handles a crash of a PlayerUnit from the Mission.
For each Task within the Mission, the PlayerUnit is removed from Task where it is assigned. If the Unit was not part of a Task in the Mission, false is returned. If the Unit is part of a Task in the Mission, true is returned.
Parameter
-
Wrapper.Unit#UNIT PlayerUnit: The CLIENT or UNIT of the Player crashing.
Return value
-
- MISSION:Fail()
-
Synchronous Event Trigger for Event Fail.
- MISSION:GetCommandCenter()
-
Gets the COMMANDCENTER.
Return value
- MISSION:GetGroups()
-
Get the groups for which TASKS are given in the mission
Return value
- MISSION:GetMenu(TaskGroup)
-
Gets the mission menu for the TaskGroup.
Parameter
-
TaskGroup:
Return value
Core.Menu#MENU_COALITION: self
-
- MISSION:GetName()
-
Gets the mission name.
Return value
#MISSION: self
- MISSION:GetNextTaskID(Task)
-
Return the next Task ID to be completed within the Mission.
Parameter
-
Tasking.Task#TASK Task: is the Task object.
Return value
Tasking.Task#TASK: The task added.
-
- MISSION:GetRootMenu(TaskGroup)
-
Gets the root mission menu for the TaskGroup.
Parameter
-
TaskGroup:
Return value
Core.Menu#MENU_COALITION: self
-
- MISSION:GetScoring()
-
Get the scoring object of a mission.
Return value
#SCORING: Scoring
- MISSION.GetTask(TaskName, self)
-
Get the TASK identified by the TaskNumber from the Mission.
This function is useful in GoalFunctions.
Parameters
Return values
-
Tasking.Task#TASK: The Task
-
#nil: Returns nil if no task was found.
-
- MISSION:GetTaskTypes()
-
Return value
#number:
- MISSION:GetTasks()
-
Get all the TASKs from the Mission.
This function is useful in GoalFunctions.
Return value
{TASK,...} Structure of TASKS with the TASK number as the key.
Usage:
-- Get Tasks from the Mission. Tasks = Mission:GetTasks() env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" )
- MISSION:GetTasksRemaining()
-
Return value
#number:
- MISSION.HasGroup(#, self, TaskGroup)
-
Validates if the Mission has a Group
Parameters
-
#: ISSION -
self: -
TaskGroup:
Return value
#boolean: true if the Mission has a Group.
-
- MISSION:IsCOMPLETED()
-
Is the Mission COMPLETED.
Return value
#boolean:
- MISSION:IsENGAGED()
-
Is the Mission ENGAGED.
Return value
#boolean:
- MISSION:IsFAILED()
-
Is the Mission FAILED.
Return value
#boolean:
- MISSION:IsGroupAssigned(MissionGroup)
-
Returns if the Mission is assigned to the Group.
Parameter
-
Wrapper.Group#GROUP MissionGroup:
Return value
#boolean:
-
- MISSION:IsHOLD()
-
Is the Mission HOLD.
Return value
#boolean:
- MISSION:IsIDLE()
-
Is the Mission IDLE.
Return value
#boolean:
- MISSION:JoinUnit(PlayerUnit, PlayerGroup)
-
Add a Unit to join the Mission.
For each Task within the Mission, the Unit is joined with the Task. If the Unit was not part of a Task in the Mission, false is returned. If the Unit is part of a Task in the Mission, true is returned.
Parameters
-
Wrapper.Unit#UNIT PlayerUnit: The CLIENT or UNIT of the Player joining the Mission. -
Wrapper.Group#GROUP PlayerGroup: The GROUP of the player joining the Mission.
Return value
#boolean: true if Unit is part of a Task in the Mission.
-
- MISSION:MenuReportBriefing(ReportGroup)
-
Reports the briefing.
Parameter
-
Wrapper.Group#GROUP ReportGroup: The group to which the report needs to be sent.
-
- MISSION:MenuReportPlayersPerTask(ReportGroup)
-
Parameter
-
Wrapper.Group#GROUP ReportGroup:
-
- MISSION:MenuReportPlayersProgress(ReportGroup)
-
Parameter
-
Wrapper.Group#GROUP ReportGroup:
-
- MISSION:MenuReportTasksPerStatus(TaskStatus, ReportGroup)
-
Parameters
-
#string TaskStatus: The status -
Wrapper.Group#GROUP ReportGroup:
-
- MISSION:MenuReportTasksSummary(ReportGroup)
-
Report the task summary.
Parameter
-
Wrapper.Group#GROUP ReportGroup:
-
- #string MISSION.MissionBriefing
- MISSION:MissionGoals()
-
MissionGoals Trigger for MISSION
- #string MISSION.MissionStatus
- #string MISSION.Name
- MISSION:New(CommandCenter, MissionName, MissionPriority, MissionBriefing, MissionCoalition)
-
This is the main MISSION declaration method.
Each Mission is like the master or a Mission orchestration between, Clients, Tasks, Stages etc.
Parameters
-
Tasking.CommandCenter#COMMANDCENTER CommandCenter: -
#string MissionName: is the name of the mission. This name will be used to reference the status of each mission by the players. -
#string MissionPriority: is a string indicating the "priority" of the Mission. f.e. "Primary", "Secondary" or "First", "Second". It is free format and up to the Mission designer to choose. There are no rules behind this field. -
#string MissionBriefing: is a string indicating the mission briefing to be shown when a player joins a CLIENT. -
Dcs.DCSCoalitionWrapper.Object#coalition MissionCoalition: is a string indicating the coalition or party to which this mission belongs to. It is free format and can be chosen freely by the mission designer. Note that this field is not to be confused with the coalition concept of the ME. Examples of a Mission Coalition could be "NATO", "CCCP", "Intruders", "Terrorists"...
Return value
#MISSION: self
-
- MISSION:OnAfterComplete(From, Event, To)
-
OnAfter Transition Handler for Event Complete.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnAfterFail(From, Event, To)
-
OnAfter Transition Handler for Event Fail.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnAfterMissionGoals(From, Event, To)
-
MissionGoals Handler OnAfter for MISSION
Parameters
-
#string From: -
#string Event: -
#string To:
-
- MISSION:OnAfterStart(From, Event, To)
-
OnAfter Transition Handler for Event Start.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnAfterStop(From, Event, To)
-
OnAfter Transition Handler for Event Stop.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnBeforeComplete(From, Event, To)
-
OnBefore Transition Handler for Event Complete.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnBeforeFail(From, Event, To)
-
OnBefore Transition Handler for Event Fail.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnBeforeMissionGoals(From, Event, To)
-
MissionGoals Handler OnBefore for MISSION
Parameters
-
#string From: -
#string Event: -
#string To:
Return value
#boolean:
-
- MISSION:OnBeforeStart(From, Event, To)
-
OnBefore Transition Handler for Event Start.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnBeforeStop(From, Event, To)
-
OnBefore Transition Handler for Event Stop.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnEnterCOMPLETED(From, Event, To)
-
OnEnter Transition Handler for State COMPLETED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnEnterENGAGED(From, Event, To)
-
OnEnter Transition Handler for State ENGAGED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnEnterFAILED(From, Event, To)
-
OnEnter Transition Handler for State FAILED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnEnterIDLE(From, Event, To)
-
OnEnter Transition Handler for State IDLE.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
-
- MISSION:OnLeaveCOMPLETED(From, Event, To)
-
OnLeave Transition Handler for State COMPLETED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnLeaveENGAGED(From, Event, To)
-
OnLeave Transition Handler for State ENGAGED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnLeaveFAILED(From, Event, To)
-
OnLeave Transition Handler for State FAILED.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:OnLeaveIDLE(From, Event, To)
-
OnLeave Transition Handler for State IDLE.
Parameters
-
#string From: The From State string. -
#string Event: The Event string. -
#string To: The To State string.
Return value
#boolean: Return false to cancel Transition.
-
- MISSION:RemoveMenu(MenuTime)
-
Removes the Planned Task menu.
Parameter
-
#number MenuTime:
-
- MISSION:RemoveTask(Task)
-
Removes a Task to be completed within the Mission.
Note that there can be multiple Tasks registered to be completed. Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached.
Parameter
-
Tasking.Task#TASK Task: is the Task object.
Return value
#nil: The cleaned Task reference.
-
- MISSION:RemoveTaskMenu(Task)
-
Removes a Task menu.
Parameter
-
Tasking.Task#TASK Task:
Return value
#MISSION: self
-
- MISSION:ReportBriefing()
-
Create a briefing report of the Mission.
Return value
#string:
- MISSION:ReportDetails(ReportGroup)
-
Create a detailed report of the Mission, listing all the details of the Task.
Parameter
-
ReportGroup:
Return value
#string:
-
- MISSION:ReportOverview(ReportGroup, TaskStatus)
-
Create a overview report of the Mission (multiple lines).
Parameters
-
ReportGroup: -
TaskStatus:
Return value
#string:
-
- MISSION:ReportPlayersPerTask(ReportGroup)
-
Create an active player report of the Mission.
This reports provides a one liner of the mission status. It indicates how many players and how many Tasks.
Mission "<MissionName>" - <MissionStatus> - Active Players Report - Player "<PlayerName>: Task <TaskName> <TaskStatus>, Task <TaskName> <TaskStatus> - Player <PlayerName>: Task <TaskName> <TaskStatus>, Task <TaskName> <TaskStatus> - ..Parameter
-
ReportGroup:
Return value
#string:
-
- MISSION:ReportPlayersProgress(ReportGroup)
-
Create an Mission Progress report of the Mission.
This reports provides a one liner per player of the mission achievements per task.
Mission "<MissionName>" - <MissionStatus> - Active Players Report - Player <PlayerName>: Task <TaskName> <TaskStatus>: <Progress> - Player <PlayerName>: Task <TaskName> <TaskStatus>: <Progress> - ..Parameter
-
ReportGroup:
Return value
#string:
-
- MISSION:ReportStatus()
-
Create a status report of the Mission.
This reports provides a one liner of the mission status. It indicates how many players and how many Tasks.
Mission "<MissionName>" - Status "<MissionStatus>" - Task Types: <TaskType>, <TaskType> - <xx> Planned Tasks (xp) - <xx> Assigned Tasks(xp) - <xx> Success Tasks (xp) - <xx> Hold Tasks (xp) - <xx> Cancelled Tasks (xp) - <xx> Aborted Tasks (xp) - <xx> Failed Tasks (xp)Return value
#string:
- MISSION:ReportSummary(ReportGroup)
-
Create a summary report of the Mission (one line).
Parameter
-
Wrapper.Group#GROUP ReportGroup:
Return value
#string:
-
- MISSION:SetGroupAssigned(MissionGroup)
-
Set Group assigned to the Mission.
Parameter
-
Wrapper.Group#GROUP MissionGroup:
Return value
-
- MISSION:SetMenu(MenuTime)
-
Sets the Planned Task menu.
Parameter
-
#number MenuTime:
-
- MISSION:Start()
-
Synchronous Event Trigger for Event Start.
- MISSION:Stop()
-
Synchronous Event Trigger for Event Stop.
- MISSION:__Complete(Delay)
-
Asynchronous Event Trigger for Event Complete.
Parameter
-
#number Delay: The delay in seconds.
-
- MISSION:__Fail(Delay)
-
Asynchronous Event Trigger for Event Fail.
Parameter
-
#number Delay: The delay in seconds.
-
- MISSION:__MissionGoals(Delay)
-
MissionGoals Asynchronous Trigger for MISSION
Parameter
-
#number Delay:
-
- MISSION:__Start(Delay)
-
Asynchronous Event Trigger for Event Start.
Parameter
-
#number Delay: The delay in seconds.
-
- MISSION:__Stop(Delay)
-
Asynchronous Event Trigger for Event Stop.
Parameter
-
#number Delay: The delay in seconds.
-
- MISSION:onenterCOMPLETED(From, Event, To)
-
FSM function for a MISSION
Parameters
-
#string From: -
#string Event: -
#string To:
-