Module Ops.Airboss
Ops - Manages aircraft CASE X recoveries for carrier operations (X=I, II, III).
The AIRBOSS class manages recoveries of human pilots and AI aircraft on aircraft carriers.
Main Features:
- CASE I, II and III recoveries.
- Supports human pilots as well as AI flight groups.
- Automatic LSO grading including (optional) live grading while in the groove.
- Different skill levels from on-the-fly tips for flight students to ziplip for pros. Can be set for each player individually.
- Define recovery time windows with individual recovery cases in the same mission.
- Option to let the carrier steam into the wind automatically.
- Automatic TACAN and ICLS channel setting of carrier.
- Separate radio channels for LSO and Marshal transmissions.
- Voice over support for LSO and Marshal radio transmissions.
- Advanced F10 radio menu including carrier info, weather, radio frequencies, TACAN/ICLS channels, player LSO grades, marking of zones etc.
- Recovery tanker and refueling option via integration of Ops.RecoveryTanker class.
- Rescue helicopter option via Ops.RescueHelo class.
- Combine multiple human players to sections.
- Many parameters customizable by convenient user API functions.
- Multiple carrier support due to object oriented approach.
- Unlimited number of players.
- Persistence of player results (optional). LSO grading data is saved to csv file.
- Trap sheet (optional).
- Finite State Machine (FSM) implementation.
Supported Carriers:
- USS John C. Stennis (CVN-74)
- USS Theodore Roosevelt (CVN-71) [Super Carrier Module]
- USS Abraham Lincoln (CVN-72) [Super Carrier Module]
- USS George Washington (CVN-73) [Super Carrier Module]
- USS Harry S. Truman (CVN-75) [Super Carrier Module]
- USS Forrestal (CV-59) [Heatblur Carrier Module]
- HMS Hermes (R12)
- HMS Invincible (R05)
- USS Tarawa (LHA-1)
- USS America (LHA-6)
- Juan Carlos I (L61)
- HMAS Canberra (L02)
Supported Aircraft:
- F/A-18C Hornet Lot 20 (Player & AI)
- F-14A/B Tomcat (Player & AI)
- A-4E Skyhawk Community Mod (Player & AI)
- AV-8B N/A Harrier (Player & AI)
- T-45C Goshawk (VNAO mod) (Player & AI)
- FE/A-18E/F/G Superhornet (CJS mod) (Player & AI)
- F/A-18C Hornet (AI)
- F-14A Tomcat (AI)
- E-2D Hawkeye (AI)
- S-3B Viking & tanker version (AI)
- C-2A Greyhound (AI)
At the moment, optimized parameters are available for the F/A-18C Hornet (Lot 20) and A-4E community mod as aircraft and the USS John C. Stennis as carrier.
The AV-8B Harrier, HMS Hermes, HMS Invincible, the USS Tarawa, USS America, HMAS Canberra, and Juan Carlos I are WIP. The AV-8B harrier and the LHA's and LHD can only be used together, i.e. these ships are the only carriers the harrier is supposed to land on and no other fixed wing aircraft (human or AI controlled) are supposed to land on these ships. Currently only Case I is supported. Case II/III take slightly different steps from the CVN carrier. However, if no offset is used for the holding radial this provides a very close representation of the V/STOL Case III, allowing for an approach to over the deck and a vertical landing.
Heatblur's mighty F-14B Tomcat has been added (March 13th 2019) as well. Same goes for the A version.
The DCS Supercarriers are also supported.
Discussion
If you have questions or suggestions, please visit the MOOSE Discord #ops-airboss channel. There you also find an example mission and the necessary voice over sound files. Check out the pinned messages.
Example Missions
Example missions can be found here. They contain the latest development Moose.lua file.
IMPORTANT
Some important restrictions (of DCS) you should be aware of:
- Each player slot (client) should be in a separate group as DCS does only allow for sending messages to groups and not individual units.
- Players are identified by their player name. Hence, ensure that no two player have the same name, e.g. "New Callsign", as this will lead to unexpected results.
- The modex (tail number) of an aircraft should not be changed dynamically in the mission by a player. Unfortunately, there is no way to get this information via scripting API functions.
- The A-4E-C mod needs easy comms activated to interact with the F10 radio menu.
Youtube Videos
AIRBOSS videos:
- [MOOSE] Airboss - Groove Testing (WIP)
- [MOOSE] Airboss - Groove Test A-4E Community Mod
- [MOOSE] Airboss - Groove Test: On-the-fly LSO Grading
- [MOOSE] Airboss - Carrier Auto Steam Into Wind
- [MOOSE] Airboss - CASE I Walkthrough in the F/A-18C by TG
- [MOOSE] Airboss - New LSO/Marshal Voice Overs by Raynor
- [MOOSE] Airboss - CASE I, "Until We Go Down" featuring the F-14B by Pikes
- [MOOSE] Airboss - Skipper Menu
Jabbers Case I and III Recovery Tutorials:
- DCS World - F/A-18 - Case I Carrier Recovery Tutorial
- DCS World - Case I Recovery Tutorial - Followup
- DCS World - CASE III Recovery Tutorial
Wags DCS Hornet Videos:
- DCS: F/A-18C Hornet - Episode 9: CASE I Carrier Landing
- DCS: F/A-18C Hornet – Episode 16: CASE III Introduction
- DCS: F/A-18C Hornet Case I Carrier Landing Training Lesson Recording
AV-8B Harrier and V/STOL Operations:
- Harrier Ship Landing Mission with Auto LSO!
- Updated Airboss V/STOL Features USS Tarawa
- Harrier Practice pattern USS America
- Harrier CASE III TACAN Approach USS Tarawa
- Harrier CASE III TACAN Approach USS Tarawa
Author: funkyfranky LHA and LHD V/STOL additions by Pene
Special Thanks To Bankler
For his great Recovery Trainer mission and script! His work was the initial inspiration for this class. Also note that this implementation uses some routines for determining the player position in Case I recoveries he developed. Bankler was kind enough to allow me to add this to the class - thanks again!
Global(s)
Global AIRBOSS |
Be the boss! The AIRBOSS ConceptOn a carrier, the AIRBOSS is guy who is really in charge - don't mess with him! Recovery CasesThe AIRBOSS class supports all three commonly used recovery cases, i.e. |
Be the boss!
The AIRBOSS Concept
On a carrier, the AIRBOSS is guy who is really in charge - don't mess with him!
Recovery Cases
The AIRBOSS class supports all three commonly used recovery cases, i.e.
- CASE I during daytime and good weather (ceiling > 3000 ft, visibility > 5 NM),
- CASE II during daytime but poor visibility conditions (ceiling > 1000 ft, visibility > 5NM),
- CASE III when below Case II conditions and during nighttime (ceiling < 1000 ft, visibility < 5 NM).
That being said, this script allows you to use any of the three cases to be used at any time. Or, in other words, you need to specify when which case is safe and appropriate.
This is a lot of responsibility. You are the boss, but you need to make the right decisions or things will go terribly wrong!
Recovery windows can be set up via the AIRBOSS.AddRecoveryWindow function as explained below. With this it is possible to seamlessly (within reason!) switch recovery cases in the same mission.
CASE I
As mentioned before, Case I recovery is the standard procedure during daytime and good visibility conditions.
Holding Pattern
The graphic depicts a the standard holding pattern during a Case I recovery. Incoming aircraft enter the holding pattern, which is a counter clockwise turn with a diameter of 5 NM, at their assigned altitude. The holding altitude of the first stack is 2000 ft. The interval between stacks is 1000 ft.
Once a recovery window opens, the aircraft of the lowest stack commence their landing approach and the rest of the Marshal stack collapses, i.e. aircraft switch from their current stack to the next lower stack.
The flight that transitions form the holding pattern to the landing approach, it should leave the Marshal stack at the 3 position and make a left hand turn to the Initial position, which is 3 NM astern of the boat. Note that you need to be below 1300 feet to be registered in the initial zone. The altitude can be set via the function AIRBOSS.SetInitialMaxAlt(altitude) function. As described below, the initial zone can be smoked or flared via the AIRBOSS F10 Help radio menu.
Landing Pattern
Once the aircraft reaches the Initial, the landing pattern begins. The important steps of the pattern are shown in the image above. The AV-8B Harrier pattern is very similar, the only differences are as there is no angled deck there is no wake check. from the ninety you wil fly a straight approach offset 26 ft to port (left) of the tram line. The aim is to arrive abeam the landing spot in a stable hover at 120 ft with forward speed matched to the boat. From there the LSO will call "cleared to land". You then level cross to the tram line at the designated landing spot at land vertcally. When you stabalise over the landing spot LSO will call Stabalise to indicate you are centered at the correct spot.
CASE III
A Case III recovery is conducted during nighttime or when the visibility is below CASE II minima during the day. The holding position and the landing pattern are rather different from a Case I recovery as can be seen in the image above.
The first holding zone starts 21 NM astern the carrier at angels 6. The separation between the stacks is 1000 ft just like in Case I. However, the distance to the boat increases by 1 NM with each stack. The general form can be written as D=15+6+(N-1), where D is the distance to the boat in NM and N the number of the stack starting at N=1.
Once the aircraft of the lowest stack is allowed to commence to the landing pattern, it starts a descent at 4000 ft/min until it reaches the "Platform" at 5000 ft and ~19 NM DME. From there a shallower descent at 2000 ft/min should be performed. At an altitude of 1200 ft the aircraft should level out and "Dirty Up" (gear, flaps & hook down).
At 3 NM distance to the carrier, the aircraft should intercept the 3.5 degrees glideslope at the "Bullseye". From there the pilot should "follow the needles" of the ICLS.
CASE II
Case II is the common recovery procedure at daytime if visibility conditions are poor. It can be viewed as hybrid between Case I and III. The holding pattern is very similar to that of the Case III recovery with the difference the the radial is the inverse of the BRC instead of the FB. From the holding zone aircraft are follow the Case III path until they reach the Initial position 3 NM astern the boat. From there a standard Case I recovery procedure is in place.
Note that the image depicts the case, where the holding zone has an angle offset of 30 degrees with respect to the BRC. This is optional. Commonly used offset angels are 0 (no offset), +-15 or +-30 degrees. The AIRBOSS class supports all these scenarios which are used during Case II and III recoveries.
The F10 Radio Menu
The F10 radio menu can be used to post requests to Marshal but also provides information about the player and carrier status. Additionally, helper functions can be called.
By default, the script creates a submenu "Airboss" in the "F10 Other ..." menu and each #AIRBOSS carrier gets its own submenu. If you intend to have only one carrier, you can simplify the menu structure using the AIRBOSS.SetMenuSingleCarrier function, which will create all carrier specific menu entries directly in the "Airboss" submenu. (Needless to say, that if you enable this and define multiple carriers, the menu structure will get completely screwed up.)
Root Menu
The general structure
- F1 Help... (Help submenu, see below.)
- F2 Kneeboard... (Kneeboard submenu, see below. Carrier information, weather report, player status.)
- F3 Request Marshal
- F4 Request Commence
- F5 Request Refueling
- F6 Spinning
- F7 Emergency Landing
- F8 [Reset My Status]
Request Marshal
This radio command can be used to request a stack in the holding pattern from Marshal. Necessary conditions are that the flight is inside the Carrier Controlled Area (CCA) (see AIRBOSS.SetCarrierControlledArea).
Marshal will assign an individual stack for each player group depending on the current or next open recovery case window. If multiple players have registered as a section, the section lead will be assigned a stack and is responsible to guide his section to the assigned holding position.
Request Commence
This command can be used to request commencing from the marshal stack to the landing pattern. Necessary condition is that the player is in the lowest marshal stack and that the number of aircraft in the landing pattern is smaller than four (or the number set by the mission designer).
The image displays the standard Case I Marshal pattern recovery. Pilots are supposed to fly a clockwise circle and descent between the 3 and 1 positions.
Commence should be performed at around the 3 position. If the pilot is in the lowest Marshal stack, and flies through this area, he is automatically cleared for the landing pattern. In other words, there is no need for the "Request Commence" radio command. The zone can be marked via smoke or flared using the player's F10 radio menu.
A player can also request commencing if he is not registered in a marshal stack yet. If the pattern is free, Marshal will allow him to directly enter the landing pattern. However, this is only possible when the Airboss has a nice day - see AIRBOSS.SetAirbossNiceGuy.
Request Refueling
If a recovery tanker has been set up via the AIRBOSS.SetRecoveryTanker, the player can request refueling at any time. If currently in the marshal stack, the stack above will collapse. The player will be informed if the tanker is currently busy or going RTB to refuel itself at its home base. Once the re-fueling is complete, the player has to re-register to the marshal stack.
Spinning
If the pattern is full, players can go into the spinning pattern. This step is only allowed, if the player is in the pattern and his next step is initial, break entry, early/late break. At this point, the player should climb to 1200 ft a fly on the port side of the boat to go back to the initial again.
If a player is in the spin pattern, flights in the Marshal queue should hold their altitude and are not allowed into the pattern until the spinning aircraft proceeds.
Once the player reaches a point 100 meters behind the boat and at least 1 NM port, his step is set to "Initial" and he can resume the normal pattern approach.
If necessary, the player can call "Spinning" again when in the above mentioned steps.
Emergency Landing
Request an emergency landing, i.e. bypass all pattern steps and go directly to the final approach.
All section members are supposed to follow. Player (or section lead) is removed from all other queues and automatically added to the landing pattern queue.
If this command is called while the player is currently on the carrier, he will be put in the bolter pattern. So the next expected step after take of is the abeam position. This allows for quick landing training exercises without having to go through the whole pattern.
The mission designer can forbid this option my setting AIRBOSS.SetEmergencyLandings(false) in the script.
[Reset My Status]
This will reset the current player status. If player is currently in a marshal stack, he will be removed from the marshal queue and the stack above will collapse. The player needs to re-register later if desired. If player is currently in the landing pattern, he will be removed from the pattern queue.
Help Menu
This menu provides commands to help the player.
Mark Zones Submenu
These commands can be used to mark marshal or landing pattern zones.
- Smoke Pattern Zones Smoke is used to mark the landing pattern zone of the player depending on his recovery case. For Case I this is the initial zone. For Case II/III and three these are the Platform, Arc turn, Dirty Up, Bullseye/Initial zones as well as the approach corridor.
- Flare Pattern Zones Similar to smoke but uses flares to mark the pattern zones.
- Smoke Marshal Zone This smokes the surrounding area of the currently assigned Marshal zone of the player. Player has to be registered in Marshal queue.
- Flare Marshal Zone Similar to smoke but uses flares to mark the Marshal zone.
Note that the smoke lasts ~5 minutes but the zones are moving along with the carrier. So after some time, the smoke gives shows you a picture of the past.
Skill Level Submenu
The player can choose between three skill or difficulty levels.
- Flight Student: The player receives tips at certain stages of the pattern, e.g. if he is at the right altitude, speed, etc.
- Naval Aviator: Less tips are show. Player should be familiar with the procedures and its aircraft parameters.
- TOPGUN Graduate: Only very few information is provided to the player. This is for the pros.
- Hints On/Off: Toggle displaying hints.
My Status
This command provides information about the current player status. For example, his current step in the pattern.
Attitude Monitor
This command displays the current aircraft attitude of the player aircraft in short intervals as message on the screen. It provides information about current pitch, roll, yaw, orientation of the plane with respect to the carrier's orientation (Gamma) etc.
If you are in the groove, current lineup and glideslope errors are displayed and you get an on-the-fly LSO grade.
LSO Radio Check
LSO will transmit a short message on his radio frequency. See AIRBOSS.SetLSORadio. Note that in the A-4E you will not hear the message unless you are in the pattern.
Marshal Radio Check
Marshal will transmit a short message on his radio frequency. See AIRBOSS.SetMarshalRadio.
Subtitles On/Off
This command toggles the display of radio message subtitles if no radio relay unit is used. By default subtitles are on. Note that subtitles for radio messages which do not have a complete voice over are always displayed.
Trapsheet On/Off
Each player can activated or deactivate the recording of his flight data (AoA, glideslope, lineup, etc.) during his landing approaches. Note that this feature also has to be enabled by the mission designer.
Kneeboard Menu
The Kneeboard menu provides information about the carrier, weather and player results.
Results Submenu
Here you find your LSO grading results as well as scores of other players.
- Greenie Board lists average scores of all players obtained during landing approaches.
- My LSO Grades lists all grades the player has received for his approaches in this mission.
- Last Debrief shows the detailed debriefing of the player's last approach.
Carrier Info
Information about the current carrier status is displayed. This includes current BRC, FB, LSO and Marshal frequencies, list of next recovery windows.
Weather Report
Displays information about the current weather at the carrier such as QFE, wind and temperature.
For missions using static weather, more information such as cloud base, thickness, precipitation, visibility distance, fog and dust are displayed. If your mission uses dynamic weather, you can disable this output via the AIRBOSS.SetStaticWeather(false) function.
Set Section
With this command, you can define a section of human flights. The player who issues the command becomes the section lead and all other human players within a radius of 100 meters become members of the section.
The responsibilities of the section leader are:
- To request Marshal. The section members are not allowed to do this and have to follow the lead to his assigned stack.
- To lead the right way to the pattern if the flight is allowed to commence.
- The lead is also the only one who can request commence if the flight wants to bypass the Marshal stack.
Each time the command is issued by the lead, the complete section is set up from scratch. Members which are not inside the 100 m radius any more are removed and/or new members which are now in range are added.
If a section member issues this command, it is removed from the section of his lead. All flights which are not yet in another section will become members.
The default maximum size of a section is two human players. This can be adjusted by the AIRBOSS.SetMaxSectionSize(size) function. The maximum allowed size is four.
Marshal Queue
Lists all flights currently in the Marshal queue including their assigned stack, recovery case and Charlie time estimate. By default, the number of available Case I stacks is three, i.e. at angels 2, 3 and 4. Usually, the recovery thanker orbits at angels 6. The number of available stacks can be set by the AIRBOSS.SetMaxMarshalStack function.
The default number of human players per stack is two. This can be set via the AIRBOSS.SetMaxFlightsPerStack function but has to be between one and four.
Due to technical reasons, each AI group always gets its own stack. DCS does not allow to control the AI in a manner that more than one group per stack would make sense unfortunately.
Pattern Queue
Lists all flights currently in the landing pattern queue showing the time since they entered the pattern. By default, a maximum of four flights is allowed to enter the pattern. This can be set via the AIRBOSS.SetMaxLandingPattern function.
Waiting Queue
Lists all flights currently waiting for a free Case I Marshal stack. Note, stacks are limited only for Case I recovery ops but not for Case II or III. If the carrier is switches recovery ops form Case I to Case II or III, all waiting flights will be assigned a stack.
Landing Signal Officer (LSO)
The LSO will first contact you on his radio channel when you are at the the abeam position (Case I) with the phrase "Paddles, contact.". Once you are in the groove the LSO will ask you to "Call the ball." and then acknowledge your ball call by "Roger Ball."
During the groove the LSO will give you advice if you deviate from the correct landing path. These advices will be given when you are
- too low or too high with respect to the glideslope,
- too fast or too slow with respect to the optimal AoA,
- too far left or too far right with respect to the lineup of the (angled) runway.
LSO Grading
LSO grading starts when the player enters the groove. The flight path and aircraft attitude is evaluated at certain steps (distances measured from rundown):
- X At the Start (0.75 NM = 1390 m).
- IM In the Middle (0.5 NM = 926 m), middle one third of the glideslope.
- IC In Close (0.25 NM = 463 m), last one third of the glideslope.
- AR At the Ramp (0.027 NM = 50 m).
- IW In the Wires (at the landing position).
Grading at each step includes the above calls, i.e.
- Lined Up Left or Right: LUL, LUR
- Too High or too LOw: H, LO
- Too Fast or too SLOw: F, SLO
- OverShoot: OS, only referenced during X
- Fly through glideslope down or up: \ , /, advisory only
- Drift Left or Right:DL, DR, advisory only
- Angled Approach: Angled approach (wings level and LUL): AA, advisory only
Each grading, x, is subdivided by
- (x): parenthesis, indicating "a little" for a minor deviation and
- _x_: underline, indicating "a lot" for major deviations.
The position at the landing event is analyzed and the corresponding trapped wire calculated. If no wire was caught, the LSO will give the bolter call.
If a player is significantly off from the ideal parameters from IC to AR, the LSO will wave the player off. Thresholds for wave off are
- Line up error > 3.0 degrees left or right and/or
- Glideslope error < -1.2 degrees or > 1.8 degrees and/or
- AOA depending on aircraft type and only applied if skill level is "TOPGUN graduate".
Line up and glideslope error thresholds were tested extensively using VFA-113 Stingers LSO Mod, if the aircraft is outside the red box. In the picture above, blue numbers denote the line up thresholds while the blacks refer to the glideslope.
A wave off is called, when the aircraft is outside the red rectangle. The measurement stops already ~50 m before the rundown, since the error in the calculation increases the closer the aircraft gets to the origin/reference point.
The optimal glideslope is assumed to be 3.5 degrees leading to a touch down point between the second and third wire. The height of the carrier deck and the exact wire locations are taken into account in the calculations.
Pattern Waveoff
The player's aircraft position is evaluated at certain critical locations in the landing pattern. If the player is far off from the ideal approach, the LSO will issue a pattern wave off. Currently, this is only implemented for Case I recoveries and the Case I part in the Case II recovery, i.e.
- Break Entry
- Early Break
- Late Break
- Abeam
- Ninety
- Wake
- Groove
At these points it is also checked if a player comes too close to another aircraft ahead of him in the pattern.
Grading Points
Currently grades are given by as follows
- 5.0 Points _OK_: "Okay underline", given only for a perfect pass, i.e. when no deviations at all were observed by the LSO. The unicorn!
- 4.0 Points OK: "Okay pass" when only minor () deviations happened.
- 3.0 Points (OK): "Fair pass", when only "normal" deviations were detected.
- 2.0 Points --: "No grade", for larger deviations.
Furthermore, we have the cases:
- 2.5 Points B: "Bolter", when the player landed but did not catch a wire.
- 2.0 Points WOP: "Pattern Wave-Off", when pilot was far away from where he should be in the pattern.
- 2.0 Points OWO: "Own Wave-Off**, when pilot flies past the deck without touching it.
- 1.0 Points WO: "Technique Wave-Off": Player got waved off in the final parts of the groove.
- 1.0 Points LIG: "Long In the Groove", when pilot extents the downwind leg too far and screws up the timing for the following aircraft.
- 0.0 Points CUT: "Cut pass", when player was waved off but landed anyway. In addition if a V/STOL lands without having been Cleared to Land.
Foul Deck Waveoff
A foul deck waveoff is called by the LSO if an aircraft is detected within the landing area when an approaching aircraft is at position IM-IC during Case I/II operations, or with an aircraft approaching the 3/4 NM during Case III operations.
The approaching aircraft will be notified via LSO radio comms and is supposed to overfly the landing area to enter the Bolter pattern. This pass is not graded.
Scripting
Writing a basic script is easy and can be done in two lines.
local airbossStennis=AIRBOSS:New("USS Stennis", "Stennis")
airbossStennis:Start()
The first line creates and AIRBOSS object via the AIRBOSS.New(carriername, alias) constructor. The first parameter carriername is name of the carrier unit as defined in the mission editor. The second parameter alias is optional. This name will, e.g., be used for the F10 radio menu entry. If not given, the alias is identical to the carriername of the first parameter.
This simple script initializes a lot of parameters with default values:
- TACAN channel is set to 74X, see AIRBOSS.SetTACAN,
- ICSL channel is set to 1, see AIRBOSS.SetICLS,
- LSO radio is set to 264 MHz FM, see AIRBOSS.SetLSORadio,
- Marshal radio is set to 305 MHz FM, see AIRBOSS.SetMarshalRadio,
- Default recovery case is set to 1, see AIRBOSS.SetRecoveryCase,
- Carrier Controlled Area (CCA) is set to 50 NM, see AIRBOSS.SetCarrierControlledArea,
- Default player skill "Flight Student" (easy), see AIRBOSS.SetDefaultPlayerSkill,
- Once the carrier reaches its final waypoint, it will restart its route, see AIRBOSS.SetPatrolAdInfinitum.
The second line starts the AIRBOSS class. If you set options this should happen after the AIRBOSS.New and before AIRBOSS.Start command.
However, good mission planning involves also planning when aircraft are supposed to be launched or recovered. The definition of case specific recovery ops within the same mission is described in the next section.
Recovery Windows
Recovery of aircraft is only allowed during defined time slots. You can define these slots via the AIRBOSS.AddRecoveryWindow(start, stop, case, holdingoffset) function. The parameters are:
- start: The start time as a string. For example "8:00" for a window opening at 8 am. Or "13:30+1" for half past one on the next day. Default (nil) is ASAP.
- stop: Time when the window closes as a string. Same format as start. Default is 90 minutes after start time.
- case: The recovery case during that window (1, 2 or 3). Default 1.
- holdingoffset: Holding offset angle in degrees. Only for Case II or III recoveries. Default 0 deg. Common +-15 deg or +-30 deg.
If recovery is closed, AI flights will be send to marshal stacks and orbit there until the next window opens. Players can request marshal via the F10 menu and will also be given a marshal stack. Currently, human players can request commence via the F10 radio regardless of whether a window is open or not and will be allowed to enter the pattern (if not already full). This will probably change in the future.
At the moment there is no automatic recovery case set depending on weather or daytime. So it is the AIRBOSS (i.e. you as mission designer) who needs to make that decision. It is probably a good idea to synchronize the timing with the waypoints of the carrier. For example, setting up the waypoints such that the carrier already has turning into the wind, when a recovery window opens.
The code for setting up multiple recovery windows could look like this
local airbossStennis=AIRBOSS:New("USS Stennis", "Stennis")
airbossStennis:AddRecoveryWindow("8:30", "9:30", 1)
airbossStennis:AddRecoveryWindow("12:00", "13:15", 2, 15)
airbossStennis:AddRecoveryWindow("23:30", "00:30+1", 3, -30)
airbossStennis:Start()
This will open a Case I recovery window from 8:30 to 9:30. Then a Case II recovery from 12:00 to 13:15, where the holing offset is +15 degrees wrt BRC. Finally, a Case III window opens 23:30 on the day the mission starts and closes 0:30 on the following day. The holding offset is -30 degrees wrt FB.
Note that incoming flights will be assigned a holding pattern for the next opening window case if no window is open at the moment. So in the above example, all flights incoming after 13:15 will be assigned to a Case III marshal stack. Therefore, you should make sure that no flights are incoming long before the next window opens or adjust the recovery planning accordingly.
The following example shows how you set up a recovery window for the next week:
for i=0,7 do
airbossStennis:AddRecoveryWindow(string.format("08:05:00+%d", i), string.format("08:50:00+%d", i))
end
Turning into the Wind
For each recovery window, you can define if the carrier should automatically turn into the wind. This is done by passing one or two additional arguments to the AIRBOSS.AddRecoveryWindow function:
airbossStennis:AddRecoveryWindow("8:30", "9:30", 1, nil, true, 20)
Setting the fifth parameter to true enables the automatic turning into the wind. The sixth parameter (here 20) specifies the speed in knots the carrier will go so that to total wind above the deck corresponds to this wind speed. For example, if the is blowing with 5 knots, the carrier will go 15 knots so that the total velocity adds up to the specified 20 knots for the pilot.
The carrier will steam into the wind for as long as the recovery window is open. The distance up to which possible collisions are detected can be set by the AIRBOSS.SetCollisionDistance function.
However, the AIRBOSS scans the type of the surface up to 5 NM in the direction of movement of the carrier. If he detects anything but deep water, he will stop the current course and head back to the point where he initially turned into the wind.
The same holds true after the recovery window closes. The carrier will head back to the place where he left its assigned route and resume the path to the next waypoint defined in the mission editor.
Note that the carrier will only head into the wind, if the wind direction is different by more than 5° from the current heading of the carrier (the angled runway, if any, fis taken into account here).
Persistence of Player Results
LSO grades of players can be saved to disk and later reloaded when a new mission is started.
Prerequisites
Important By default, DCS does not allow for writing data to files. Therefore, one first has to comment out the line "sanitizeModule('io')" and "sanitizeModule('lfs')", i.e.
do
sanitizeModule('os')
--sanitizeModule('io') -- required for saving files
--sanitizeModule('lfs') -- optional for setting the default path to your "Saved Games\DCS" folder
require = nil
loadlib = nil
end
in the file "MissionScripting.lua", which is located in the subdirectory "Scripts" of your DCS installation root directory.
WARNING Desanitizing the "io" and "lfs" modules makes your machine or server vulnerable to attacks from the outside! Use this at your own risk.
Save Results
Saving asset data to file is achieved by the AIRBOSS.Save(path, filename) function.
The parameter path specifies the path on the file system where the player grades are saved. If you do not specify a path, the file is saved your the DCS installation root directory if the lfs module is not desanizied or your "Saved Games\DCS" folder in case you did desanitize the lfs module.
The parameter filename is optional and defines the name of the saved file. By default this is automatically created from the AIRBOSS carrier name/alias, i.e. "Airboss-USS Stennis_LSOgrades.csv", if the alias is "USS Stennis".
In the easiest case, you desanitize the io and lfs modules and just add the line
airbossStennis:Save()
If you want to specify an explicit path you can do this by
airbossStennis:Save("D:\\My Airboss Data\\")
This will save all player grades to in "D:\My Airboss Data\Airboss-USS Stennis_LSOgrades.csv".
Automatic Saving
The player grades can be saved automatically after each graded player pass via the AIRBOSS.SetAutoSave(path, filename) function. Again the parameters path and filename are optional. In the simplest case, you desanitize the lfs module and just add
airbossStennis:SetAutoSave()
Note that the the stats are saved after the final grade has been given, i.e. the player has landed on the carrier. After intermediate results such as bolters or waveoffs the stats are not automatically saved.
In case you want to specify an explicit path, you can write
airbossStennis:SetAutoSave("D:\\My Airboss Data\\")
Results Output
The results file is stored as comma separated file. The columns are
- Name: The player name.
- Pass: A running number counting the passes of the player
- Points Final: The final points (i.e. when the player has landed). This is the average over all previous bolters or waveoffs, if any.
- Points Pass: The points of each pass including bolters and waveoffs.
- Grade: LSO grade.
- Details: Detailed analysis of deviations within the groove.
- Wire: Trapped wire, if any.
- Tgroove: Time in the groove in seconds (not applicable during Case III).
- Case: The recovery case operations in progress during the pass.
- Wind: Wind on deck in knots during approach.
- Modex: Tail number of the player.
- Airframe: Aircraft type used in the recovery.
- Carrier Type: Type name of the carrier.
- Carrier Name: Name/alias of the carrier.
- Theatre: DCS map.
- Mission Time: Mission time at the end of the approach.
- Mission Date: Mission date in yyyy/mm/dd format.
- OS Date: Real life date from os.date(). Needs os to be desanitized.
Load Results
Loading player grades from file is achieved by the AIRBOSS.Load(path, filename) function. The parameter path specifies the path on the file system where the data is loaded from. If you do not specify a path, the file is loaded from your the DCS installation root directory or, if lfs was desanitized from you "Saved Games\DCS" directory. The parameter filename is optional and defines the name of the file to load. By default this is automatically generated from the AIBOSS carrier name/alias, for example "Airboss-USS Stennis_LSOgrades.csv".
Note that the AIRBOSS FSM must not be started in order to load the data. In other words, loading should happen after the AIRBOSS.New command is specified in the code but before the AIRBOSS.Start command is given.
The easiest was to load player results is
airbossStennis:New("USS Stennis")
airbossStennis:Load()
airbossStennis:SetAutoSave()
-- Additional specification of parameters such as recovery windows etc, if required.
airbossStennis:Start()
This sequence loads all available player grades from the default file and automatically saved them when a player received a (final) grade. Again, if lfs was desanitized, the files are save to and loaded from the "Saved Games\DCS" directory. If lfs was not desanitized, the DCS root installation folder is the default path.
Trap Sheet
Important aircraft attitude parameters during the Groove can be saved to file for later analysis. This also requires the io and optionally lfs modules to be desanitized.
In the script you have to add the AIRBOSS.SetTrapSheet(path) function to activate this feature.
Data the is written to a file in csv format and contains the following information:
- Time: time in seconds since start.
- Rho: distance from rundown to player aircraft in NM.
- X : distance parallel to the carrier in meters.
- Z : distance perpendicular to the carrier in meters.
- Alt: altitude of player aircraft in feet.
- AoA: angle of attack in degrees.
- GSE: glideslope error in degrees.
- LUE: lineup error in degrees.
- Vtot: total velocity of player aircraft in knots.
- Vy: vertical (descent) velocity in ft/min.
- Gamma: angle between vector of aircraft nose and vector point in the direction of the carrier runway in degrees.
- Pitch: pitch angle of player aircraft in degrees.
- Roll: roll angle of player aircraft in degrees.
- Yaw: yaw angle of player aircraft in degrees.
- Step: Step in the groove.
- Grade: Current LSO grade.
- Points: Current points for the pass.
- Details: Detailed grading analysis.
Lineup Error
The graph displays the lineup error (LUE) as a function of the distance to the carrier.
The pilot approaches the carrier from the port side, LUE>0°, at a distance of ~1 NM. At the beginning of the groove (X), he significantly overshoots to the starboard side (LUE<5°). In the middle (IM), he performs good corrections and smoothly reduces the lineup error. Finally, at a distance of ~0.3 NM (IC) he has corrected his lineup with the runway to a reasonable level, |LUE|<0.5°.
Glideslope Error
The graph displays the glideslope error (GSE) as a function of the distance to the carrier.
In this case the pilot already enters the groove (X) below the optimal glideslope. He is not able to correct his height in the IM part and stays significantly too low. In close, he performs a harsh correction to gain altitude and ends up even slightly too high (GSE>0.5°). At his point further corrections are necessary.
Angle of Attack
The graph displays the angle of attack (AoA) as a function of the distance to the carrier.
The pilot starts off being on speed after the ball call. Then he get way to fast troughout the most part of the groove. He manages to correct this somewhat short before touchdown.
Sound Files
An important aspect of the AIRBOSS is that it uses voice overs for greater immersion. The necessary sound files can be obtained from the MOOSE Discord in the #ops-airboss channel. Check out the pinned messages.
However, including sound files into a new mission is tedious as these usually need to be included into the mission miz file via (unused) triggers.
The default location inside the miz file is "l10n/DEFAULT/". But simply opening the miz file with e.g. 7-zip and copying the files into that folder does not work. The next time the mission is saved, files not included via trigger are automatically removed by DCS.
However, if you create a new folder inside the miz file, which contains the sounds, it will not be deleted and can be used. The location of the sound files can be specified via the AIRBOSS.SetSoundfilesFolder(folderpath) function. The parameter folderpath defines the location of the sound files folder within the mission miz file.
For example as
airbossStennis:SetSoundfilesFolder("Airboss Soundfiles/")
Carrier Specific Voice Overs
It is possible to use different sound files for different carriers. If you have set up two (or more) AIRBOSS objects at different carriers - say Stennis and Tarawa - each carrier would use the files in the specified directory, e.g.
airbossStennis:SetSoundfilesFolder("Airboss Soundfiles Stennis/")
airbossTarawa:SetSoundfilesFolder("Airboss Soundfiles Tarawa/")
Sound Packs
The AIRBOSS currently has two different "sound packs" for LSO and three different "sound Packs" for Marshal radios. These contain voice overs by different actors. These can be set by AIRBOSS.SetVoiceOversLSOByRaynor() and AIRBOSS.SetVoiceOversMarshalByRaynor(). These are the default settings. The other sound files can be set by AIRBOSS.SetVoiceOversLSOByFF(), AIRBOSS.SetVoiceOversMarshalByGabriella() and AIRBOSS.SetVoiceOversMarshalByFF(). Also combinations can be used, e.g.
airbossStennis:SetVoiceOversLSOByFF()
airbossStennis:SetVoiceOversMarshalByRaynor()
In this example LSO voice overs by FF and Marshal voice overs by Raynor are used.
Note that this only initializes the correct parameters parameters of sound files, i.e. the duration. The correct files have to be in the directory set by the AIRBOSS.SetSoundfilesFolder(folder) function.
How To Use Your Own Voice Overs
If you have a set of AIRBOSS sound files recorded or got it from elsewhere it is possible to use those instead of the default ones. I recommend to use exactly the same file names as the original sound files have.
However, the timing is critical! As sometimes sounds are played directly after one another, e.g. by saying the modex but also on other occations, the airboss script has a radio queue implemented (actually two - one for the LSO and one for the Marshal/Airboss radio). By this it is automatically taken care that played messages are not overlapping and played over each other. The disadvantage is, that the script needs to know the exact duration of each voice over. For the default sounds this is hard coded in the source code. For your own files, you need to give that bit of information to the script via the AIRBOSS.SetVoiceOver(radiocall, duration, subtitle, subduration, filename, suffix) function. Only the first two parameters radiocall and duration are usually important to adjust here.
For example, if you want to change the LSO "Call the Ball" and "Roger Ball" calls:
airbossStennis:SetVoiceOver(airbossStennis.LSOCall.CALLTHEBALL, 0.6)
airbossStennis:SetVoiceOver(airbossStennis.LSOCall.ROGERBALL, 0.7)
Again, changing the file name, subtitle, subtitle duration is not required if you name the file exactly like the original one, which is this case would be "LSO-RogerBall.ogg".
The Radio Dilemma
DCS offers two (actually three) ways to send radio messages. Each one has its advantages and disadvantages and it is important to understand the differences.
Transmission via Command
In principle, the best way to transmit messages is via the TransmitMessage command. This method has the advantage that subtitles can be used and these subtitles are only displayed to the players who dialed in the same radio frequency as used for the transmission. However, this method unfortunately only works if the sending unit is an aircraft. Therefore, it is not usable by the AIRBOSS per se as the transmission comes from a naval unit (i.e. the carrier).
As a workaround, you can put an aircraft, e.g. a Helicopter on the deck of the carrier or another ship of the strike group. The aircraft should be set to uncontrolled and maybe even to immortal. With the AIRBOSS.SetRadioUnitName(unitname) function you can use this unit as "radio repeater" for both Marshal and LSO radio channels. However, this might lead to interruptions in the transmission if both channels transmit simultaniously. Therefore, it is better to assign a unit for each radio via the AIRBOSS.SetRadioRelayLSO(unitname) and AIRBOSS.SetRadioRelayMarshal(unitname) functions.
Of course you can also use any other aircraft in the vicinity of the carrier, e.g. a rescue helo or a recovery tanker. It is just important that this unit is and stays close the the boat as the distance from the sender to the receiver is modeled in DCS. So messages from too far away might not reach the players.
Note that not all radio messages the airboss sends have voice overs. Therefore, if you use a radio relay unit, users should not disable the subtitles in the DCS game menu.
Transmission via Trigger
Another way to broadcast messages is via the radio transmission trigger. This method can be used for all units (land, air, naval). However, messages cannot be subtitled. Therefore, subtitles are displayed to the players via normal textout messages. The disadvantage is that is is impossible to know which players have the right radio frequencies dialed in. Therefore, subtitles of the Marshal radio calls are displayed to all players inside the CCA. Subtitles on the LSO radio frequency are displayed to all players in the pattern.
Sound to User
The third way to play sounds to the user via the outsound trigger. These sounds are not coming from a radio station and therefore can be heard by players independent of their actual radio frequency setting. The AIRBOSS class uses this method to play sounds to players which are of a more "private" nature - for example when a player has left his assigned altitude in the Marshal stack. Often this is the modex of the player in combination with a textout messaged displayed on screen.
If you want to use this method for all radio messages you can enable it via the AIRBOSS.SetUserSoundRadio() function. This is the analogue of activating easy comms in DCS.
Note that this method is used for all players who are in the A-4E community mod as this mod does not have the ability to use radios due to current DCS restrictions. Therefore, A-4E drivers will hear all radio transmissions from the Marshal/Airboss and all LSO messages as soon as their commence the pattern.
AI Handling
The #AIRBOSS class allows to handle incoming AI units and integrate them into the marshal and landing pattern.
By default, incoming carrier capable aircraft which are detecting inside the Carrier Controlled Area (CCA) and approach the carrier by more than 5 NM are automatically guided to the holding zone. Each AI group gets its own marshal stack in the holding pattern. Once a recovery window opens, the AI group of the lowest stack is transitioning to the landing pattern and the Marshal stack collapses.
If no AI handling is desired, this can be turned off via the AIRBOSS.SetHandleAIOFF function.
In case only specifc AI groups shall be excluded, it can be done by adding the groups to a set, e.g.
-- AI groups explicitly excluded from handling by the Airboss
local CarrierExcludeSet=SET_GROUP:New():FilterPrefixes("E-2D Wizard Group"):FilterStart()
AirbossStennis:SetExcludeAI(CarrierExcludeSet)
Similarly, to the AIRBOSS.SetExcludeAI function, AI groups can be explicitly included via the AIRBOSS.SetSquadronAI function. If this is used, only the included groups are handled by the AIRBOSS.
Keep the Deck Clean
Once the AI groups have landed on the carrier, they can be despawned automatically after they shut down their engines. This is achieved by the AIRBOSS.SetDespawnOnEngineShutdown() function.
Refueling
AI groups in the marshal pattern can be send to refuel at the recovery tanker or if none is defined to the nearest divert airfield. This can be enabled by the AIRBOSS.SetRefuelAI(lowfuelthreshold). The parameter lowfuelthreshold is the threshold of fuel in percent. If the fuel drops below this value, the group will go for refueling. If refueling is performed at the recovery tanker, the group will return to the marshal stack when done. The aircraft will not return from the divert airfield however.
Note that this feature is not enabled by default as there might be bugs in DCS that prevent a smooth refueling of the AI. Enable at your own risk.
Respawning - DCS Landing Bug
AI groups that enter the CCA are usually guided to Marshal stack. However, due to DCS limitations they might not obey the landing task if they have another airfield as departure and/or destination in their mission task. Therefore, AI groups can be respawned when detected in the CCA. This should clear all other airfields and allow the aircraft to land on the carrier. This is achieved by the AIRBOSS.SetRespawnAI() function.
Known Issues
Dealing with the DCS AI is a big challenge and there is only so much one can do. Please bear this in mind!
Pattern Updates
The holding position of the AI is updated regularly when the carrier has changed its position by more then 2.5 NM or changed its course significantly. The patterns are realized by orbit or racetrack patterns of the DCS scripting API. However, when the position is updated or the marshal stack collapses, it comes to disruptions of the regular orbit because a new waypoint with a new orbit task needs to be created.
Recovery Cases
The AI performs a very realistic Case I recovery. Therefore, we already have a good Case I and II recovery simulation since the final part of Case II is a Case I recovery. However, I don't think the AI can do a proper Case III recovery. If you give the AI the landing command, it is out of our hands and will always go for a Case I in the final pattern part. Maybe this will improve in future DCS version but right now, there is not much we can do about it.
Finite State Machine (FSM)
The AIRBOSS class has a Finite State Machine (FSM) implementation for the carrier. This allows mission designers to hook into certain events and helps simulate complex behaviour easier.
FSM events are:
- AIRBOSS.Start: Starts the AIRBOSS FSM.
- AIRBOSS.Stop: Stops the AIRBOSS FSM.
- AIRBOSS.Idle: Carrier is set to idle and not recovering.
- AIRBOSS.RecoveryStart: Starts the recovery ops.
- AIRBOSS.RecoveryStop: Stops the recovery ops.
- AIRBOSS.RecoveryPause: Pauses the recovery ops.
- AIRBOSS.RecoveryUnpause: Unpauses the recovery ops.
- AIRBOSS.RecoveryCase: Sets/switches the recovery case.
- AIRBOSS.PassingWaypoint: Carrier passes a waypoint defined in the mission editor.
These events can be used in the user script. When the event is triggered, it is automatically a function OnAfterEventname called. For example
--- Carrier just passed waypoint *n*.
function AirbossStennis:OnAfterPassingWaypoint(From, Event, To, n)
-- Launch green flare.
self.carrier:FlareGreen()
end
In this example, we only launch a green flare every time the carrier passes a waypoint defined in the mission editor. But, of course, you can also use it to add new recovery windows each time a carrier passes a waypoint. Therefore, you can create an "infinite" number of windows easily.
Examples
In this section a few simple examples are given to illustrate the scripting part.
Simple Case
-- Create AIRBOSS object.
local AirbossStennis=AIRBOSS:New("USS Stennis")
-- Add recovery windows:
-- Case I from 9 to 10 am. Carrier will turn into the wind 5 min before window opens and go at a speed so that wind over the deck is 25 knots.
local window1=AirbossStennis:AddRecoveryWindow("9:00", "10:00", 1, nil, true, 25)
-- Case II with +15 degrees holding offset from 15:00 for 60 min.
local window2=AirbossStennis:AddRecoveryWindow("15:00", "16:00", 2, 15)
-- Case III with +30 degrees holding offset from 21:00 to 23:30.
local window3=AirbossStennis:AddRecoveryWindow("21:00", "23:30", 3, 30)
-- Load all saved player grades from your "Saved Games\DCS" folder (if lfs was desanitized).
AirbossStennis:Load()
-- Automatically save player results to your "Saved Games\DCS" folder each time a player get a final grade from the LSO.
AirbossStennis:SetAutoSave()
-- Start airboss class.
AirbossStennis:Start()
Debugging
In case you have problems, it is always a good idea to have a look at your DCS log file. You find it in your "Saved Games" folder, so for example in
C:\Users\<yourname>\Saved Games\DCS\Logs\dcs.log
All output concerning the #AIRBOSS class should have the string "AIRBOSS" in the corresponding line. Searching for lines that contain the string "error" or "nil" can also give you a hint what's wrong.
The verbosity of the output can be increased by adding the following lines to your script:
BASE:TraceOnOff(true)
BASE:TraceLevel(1)
BASE:TraceClass("AIRBOSS")
To get even more output you can increase the trace level to 2 or even 3, c.f. Core.Base#BASE for more details.
Debug Mode
You have the option to enable the debug mode for this class via the AIRBOSS.SetDebugModeON function. If enabled, status and debug text messages will be displayed on the screen. Also informative marks on the F10 map are created.
Type(s)
Fields and Methods inherited from AIRBOSS | Description |
---|---|
Abeam checkpoint. |
|
Add a group to the exclude set. |
|
AIRBOSS:AddRecoveryWindow(starttime, stoptime, case, holdingoffset, turnintowind, speed, uturn) |
Add aircraft recovery time window and recovery case. |
Airboss radio frequency in MHz. |
|
Airboss radio modulation "AM" or "FM". |
|
Radio for carrier calls. |
|
Early break checkpoint. |
|
Break entry checkpoint. |
|
Late break checkpoint. |
|
Broadcast radio message. |
|
Case III intercept glideslope and follow ICLS aka "bullseye". |
|
Let the carrier make a detour to a given point. |
|
Carrier resumes the route at its next waypoint. |
|
Let the carrier turn into the wind. |
|
Name of the class. |
|
Close currently running recovery window and stop recovery ops. |
|
Carrier orientation in space. |
|
Last known carrier orientation. |
|
Carrier position. |
|
Position to return to after turn into the wind leg is over. |
|
Debug mode. Messages to all about status. |
|
Delete all recovery windows. |
|
Delete a recovery window. |
|
Case II/III dirty up and on speed position at 1200 ft and 10-12 NM from the carrier. |
|
AIRBOSS:EnableSRS(PathToSRS, Port, Culture, Gender, Voice, GoogleCreds, Volume, AltBackend) |
Set up SRS for usage without sound files |
Checkpoint when turning to final. |
|
Get base recovery course (BRC) of carrier. |
|
Get base recovery course (BRC) when the carrier would head into the wind. |
|
Get carrier coalition. |
|
Get carrier coordinate. |
|
Get carrier coordinate. |
|
Get final bearing (FB) of carrier. |
|
Get true (or magnetic) heading of carrier. |
|
Get true (or magnetic) heading of carrier into the wind. |
|
Get true (or magnetic) heading of carrier into the wind. |
|
Get true (or magnetic) heading of carrier into the wind. |
|
Get next time the carrier will start recovering aircraft. |
|
Get radial with respect to carrier BRC or FB and (optionally) holding offset. |
|
Return the recovery window of the given ID. |
|
Get wind direction and speed at carrier position. |
|
Get wind speed on carrier deck parallel and perpendicular to runway. |
|
In the groove checkpoint. |
|
ICLS channel. |
|
ICLS morse code, e.g. "STN". |
|
Automatic ICLS is activated. |
|
Triggers the FSM event "Idle" that puts the carrier into state "Idle" where no recoveries are carried out. |
|
Check if carrier is idle, i.e. |
|
Check if recovery of aircraft is paused. |
|
Check if carrier is recovering aircraft. |
|
Radio voice overs of the LSO. |
|
LSO radio frequency in MHz. |
|
Triggers the FSM event "LSOGrade". |
|
LSO radio modulation "AM" or "FM". |
|
Radio for LSO calls. |
|
Time interval in seconds before the LSO will make its next call. |
|
Triggers the FSM event "Load" that loads the player scores from a file. |
|
Triggers the FSM event "Marshal". |
|
Radio voice over of the Marshal/Airboss. |
|
Marshal radio frequency in MHz. |
|
Marshal radio modulation "AM" or "FM". |
|
Radio for carrier calls. |
|
Main group level radio menu: F10 Other/Airboss. |
|
Airboss mission level F10 root menu. |
|
AIRBOSS:MessageToMarshal(message, sender, receiver, duration, clear, delay) |
Send text message to all players in the marshal queue. |
AIRBOSS:MessageToPattern(message, sender, receiver, duration, clear, delay) |
Send text message to all players in the pattern queue. |
AIRBOSS:MessageToPlayer(playerData, message, sender, receiver, duration, clear, delay) |
Send text message to player client. |
Create a new AIRBOSS class object for a specific aircraft carrier unit. |
|
At the ninety checkpoint. |
|
Number of max section members (excluding the lead itself), i.e. NmaxSection=1 is a section of two. |
|
Number of max flights per stack. Default 2. |
|
Number of max Case I Marshal stacks available. Default 3, i.e. angels 2, 3 and 4. |
|
Max number of aircraft in landing pattern. |
|
On after "LSOGrade" user function. |
|
On after "Load" event user function. |
|
On after "Marshal" user function. |
|
On after "PassingWaypoint" user function. |
|
On after "RecoveryStart" user function. |
|
On after "RecoveryStop" user function. |
|
On after "Save" event user function. |
|
On after "Start" user function. |
|
Airboss event handler for event birth. |
|
Airboss event handler for event crash. |
|
Airboss event handler for event Ejection. |
|
Airboss event handler for event that a unit shuts down its engines. |
|
Airboss event function handling the mission end event. |
|
Airboss event handler for event REMOVEUNIT. |
|
Airboss event handler for event land. |
|
Airboss event handler for event that a unit takes off. |
|
Triggers the FSM event "PassingWaypoint". |
|
Radio voice over from AI pilots. |
|
Radio for Pilot calls. |
|
Case II/III descent at 2000 ft/min at 5000 ft platform. |
|
Queue of marshalling aircraft groups. |
|
Queue of aircraft groups in the landing pattern. |
|
Queue of aircraft currently spinning. |
|
Queue of aircraft groups waiting outside 10 NM zone for the next free Marshal stack. |
|
Radio queue of LSO. |
|
Radio queue of marshal. |
|
AIRBOSS:RadioTransmission(radio, call, loud, delay, interval, click, pilotcall) |
Add Radio transmission to radio queue. |
Triggers the FSM event "RecoveryCase" that switches the aircraft recovery case. |
|
Triggers the FSM event "RecoveryPause" that pauses the recovery of aircraft. |
|
Triggers the FSM event "RecoveryStart" that starts the recovery of aircraft. |
|
Triggers the FSM event "RecoveryStop" that stops the recovery of aircraft. |
|
Triggers the FSM event "RecoveryUnpause" that resumes the recovery of aircraft if it was paused. |
|
Triggers the FSM event "Save" that saved the player scores to a file. |
|
Define an AWACS associated with the carrier. |
|
Airboss is a rather nice guy and not strictly following the rules. |
|
AIRBOSS:SetAirbossRadio(Frequency, Modulation, Voice, Gender, Culture) |
Set Airboss radio frequency and modulation. |
Enable auto save of player results each time a player is finally graded. |
|
Set beacon (TACAN/ICLS) time refresh interfal in case the beacons die. |
|
Set carrier controlled area (CCA). |
|
Set carrier controlled zone (CCZ). |
|
Set distance up to which water ahead is scanned for collisions. |
|
Deactivate debug mode. |
|
Activate debug mode. |
|
Set duration how long messages are displayed to players. |
|
Set default player skill. |
|
Despawn AI groups after they they shut down their engines. |
|
Allow emergency landings, i.e. |
|
Define a set of AI groups that excluded from AI handling. |
|
Will play the inbound calls, commencing, initial, etc. |
|
Will simulate the inbound call, commencing, initial, etc from the AI when requested by Airboss |
|
Set FunkMan socket. |
|
AIRBOSS:SetGlideslopeErrorThresholds(_max, _min, High, HIGH, Low, LOW) |
|
Do not handle AI aircraft. |
|
Handle AI aircraft. |
|
Set holding pattern offset from final bearing for Case II/III recoveries. |
|
Set ICLS channel of carrier. |
|
Disable automatic ICLS activation. |
|
Set max altitude to register flights in the initial zone. |
|
Set if old into wind calculation is used when carrier turns into the wind for a recovery. |
|
Set time interval between LSO calls. |
|
AIRBOSS:SetLSORadio(Frequency, Modulation, Voice, Gender, Culture) |
Set LSO radio frequency and modulation. |
AIRBOSS:SetLineupErrorThresholds(_max, _min, Left, LeftMed, LEFT, Right, RightMed, RIGHT) |
|
Set multiplayer environment wire correction. |
|
Set the magnetic declination (or variation). |
|
AIRBOSS:SetMarshalRadio(Frequency, Modulation, Voice, Gender, Culture) |
Set Marshal radio frequency and modulation. |
Set Case I Marshal radius. |
|
Set max number of flights per stack. |
|
Set number of aircraft units, which can be in the landing pattern before the pattern is full. |
|
Set number available Case I Marshal stacks. |
|
Set max number of section members. |
|
Enable or disable F10 radio menu for marking zones via smoke or flares. |
|
AIRBOSS:SetMenuRecovery(Duration, WindOnDeck, Uturn, Offset) |
Enable F10 menu to manually start recoveries. |
Optimized F10 radio menu for a single carrier. |
|
Enable or disable F10 radio menu for marking zones via smoke. |
|
Carrier patrols ad inifintum. |
|
Set time interval for updating queues and other stuff. |
|
Set unit acting as radio relay for the LSO radio. |
|
Set unit acting as radio relay for the Marshal radio. |
|
Set unit name for sending radio messages. |
|
Set the default recovery case. |
|
Define recovery tanker associated with the carrier. |
|
Set time before carrier turns and recovery window opens. |
|
Give AI aircraft the refueling task if a recovery tanker is present or send them to the nearest divert airfield. |
|
Respawn AI groups once they reach the CCA. |
|
Set SRS voice for the pilot calls. |
|
Set folder path where the airboss sound files are located within you mission (miz) file. |
|
Define a set of AI groups that are handled by the airboss. |
|
Specify weather the mission has set static or dynamic weather. |
|
Set time interval for updating player status and other things. |
|
Set TACAN channel of carrier and switches TACAN on. |
|
Disable automatic TACAN activation |
|
Enable saving of player's trap sheets and specify an optional directory path. |
|
Use user sound output instead of radio transmission for messages. |
|
AIRBOSS:SetVoiceOver(radiocall, duration, subtitle, subduration, filename, suffix) |
Init voice over radio transmission call. |
Set parameters for LSO Voice overs by funkyfranky. |
|
Set parameters for LSO Voice overs by Raynor. |
|
Intit parameters for Marshal Voice overs by funkyfranky. |
|
Init parameters for Marshal Voice overs Gabriella by HighwaymanEd. |
|
Init parameters for Marshal Voice overs by Raynor. |
|
Set welcome messages for players. |
|
Player user sound to player if he is inside the CCA. |
|
Test LSO radio sounds. |
|
Test Marshal radio sounds. |
|
Triggers the FSM event "Start" that starts the airboss. |
|
Triggers the FSM event "Stop" that stops the airboss. |
|
TACAN channel. |
|
TACAN mode, i.e. "X" or "Y". |
|
TACAN morse code, e.g. "STN". |
|
Automatic TACAN is activated. |
|
Abs mission time, the last transmission ended. |
|
Abs mission time, the last transmission ended. |
|
Last time the beacons were refeshed. |
|
Last time timer.gettime() the stack collapsed. |
|
Default duration in seconds messages are displayed to players. |
|
Tower radio frequency in MHz. |
|
Last time in seconds of timer.getTime() the queue was updated. |
|
Checkpoint right behind the carrier. |
|
Abeam position. |
|
Pattern aborted. |
|
Activate TACAN and ICLS beacons. |
|
Add menu commands for player. |
|
Add flight to pattern queue and set recoverd to false for all elements of the flight and its section members. |
|
Add a flight group to the Marshal queue at a specific stack. |
|
Append text to debriefing. |
|
Evaluate player's altitude at checkpoint. |
|
Score for correct AoA. |
|
Convert AoA from degrees to arbitrary units. |
|
Convert AoA from arbitrary units to degrees. |
|
Arc in turn for case II/III recoveries. |
|
Arc out turn for case II/III recoveries. |
|
Provide info about player status on the fly. |
|
Bolter pattern. |
|
Break. |
|
Break entry for case I/II recoveries. |
|
Intercept glide slop and follow ICLS, aka Bullseye for case III recovery. |
|
Check AI status. |
|
Check if a player is within the right area. |
|
Check if carrier is turning. |
|
Check for possible collisions between two coordinates. |
|
Check if player is in CASE II/III approach corridor. |
|
Long downwind leg check. |
|
Check if other aircraft are currently on the landing runway. |
|
Check Collision. |
|
Check limits for reaching next step. |
|
Checks if a player is in the pattern queue and has missed a step in Case II/III approach. |
|
Check if heading or position of carrier have changed significantly. |
|
Check if player in the landing pattern is too close to another aircarft in the pattern. |
|
Check current player status. |
|
Check marshal and pattern queues. |
|
Check radio queue for transmissions to be broadcasted. |
|
Function called by DCS timer. |
|
Check recovery times and start/stop recovery mode of aircraft. |
|
Check if all elements of a flight were recovered. |
|
AIRBOSS:_CheckWaveOff(glideslopeError, lineupError, AoA, playerData) |
LSO check if player needs to wave off. |
Clear flight for landing. |
|
Collapse marshal stack. |
|
Commence approach. |
|
Aircraft commencing call (both for players and AI). |
|
Create a new flight group. |
|
Debrief player and set next step. |
|
Dirty up and level out at 1200 ft for case III recovery. |
|
Turn player's aircraft attitude display on or off. |
|
Report information about carrier. |
|
Report weather conditions at the carrier location. |
|
Display last debriefing. |
|
Display top 10 player scores. |
|
Display player status. |
|
Display marshal or pattern queue. |
|
Display top 10 player scores. |
|
Evaluate player's distance to the boat at checkpoint. |
|
Grade player time in the groove - from turning to final until touchdown. |
|
Turn to final. |
|
Grade flight data. |
|
Get short name of the grove step. |
|
Get aircraft nickname. |
|
Get optimal aircraft AoA parameters.. |
|
Get optimal aircraft flight parameters at checkpoint. |
|
Get altitude of aircraft wrt carrier deck. |
|
Convert altitude from meters to angels (thousands of feet). |
|
Calculate an estimate of the charlie time of the player based on how many other aircraft are in the marshal or pattern queue before him. |
|
Get difference between to headings in degrees taking into accound the [0,360) periodocity. |
|
Calculate distances between carrier and aircraft unit. |
|
Estimated the carrier position at some point in the future given the current waypoints and speeds. |
|
Get element in flight. |
|
Get flight from group in a queue. |
|
Get section lead of a flight. |
|
Get number of (airborne) units in a flight. |
|
Get next free Marshal stack. |
|
Get next free Marshal stack. |
|
Get fuel state in pounds. |
|
Get error margin depending on player skill. |
|
Get groove data. |
|
Get landing spot on Tarawa and others. |
|
Get the lead flight group of a flight group. |
|
Get marshal altitude and two positions of a counter-clockwise race track pattern. |
|
Get next marshal flight which is ready to enter the landing pattern. |
|
Get next waypoint of the carrier. |
|
Format text into SRS friendly string |
|
Get onboard number of player or client. |
|
Get onboard numbers of all units in a group. |
|
Get optimal landing position of the aircraft. |
|
Get player data from group object. |
|
Get player data from unit object |
|
Returns the unit of a player and the player name from the self.players table if it exists. |
|
Returns the unit of a player and the player name. |
|
Get number of groups and units in queue, which are alive and airborne. |
|
Get unit from which we want to transmit a radio message. |
|
Get relative heading of player wrt carrier. |
|
Get relative velocity of player unit wrt to carrier |
|
Get static weather of this mission from env.mission.weather. |
|
Get "stern" coordinate. |
|
Get time in the groove of player. |
|
Get Tower frequency of carrier. |
|
Get unit masses especially fuel from DCS descriptor values. |
|
Get wire from landing position. |
|
Get wire from draw argument. |
|
Allow for Clear to land call from LSO approaching abeam the landing spot if stable as per NATOPS 00-80T |
|
Get arc in zone with radius 1 NM and DME 14 NM from the carrier. |
|
Get arc out zone with radius 1 NM and DME 12 NM from the carrier. |
|
Get Bullseye zone with radius 1 NM and DME 3 NM from the carrier. |
|
Get zone of carrier. |
|
Get zone where player are automatically commence when enter. |
|
Get approach corridor zone. |
|
Get dirty up zone with radius 1 NM and DME 9 NM from the carrier. |
|
Get groove zone. |
|
Get holding zone of player. |
|
Get Initial zone for Case I or II. |
|
Get zone of the primary landing spot of the USS Tarawa. |
|
Get lineup groove zone. |
|
Get platform zone with radius 1 NM and DME 19 NM from the carrier. |
|
Get zone of landing runway. |
|
Get glide slope of aircraft unit. |
|
Get glide slope of aircraft unit. |
|
In the groove. |
|
Holding. |
|
Check if a group is in a queue. |
|
Init parameters for LHA-6 America carrier. |
|
Init parameters for L02 Canberra carrier. |
|
Init parameters for Forrestal class super carriers. |
|
Init parameters for R12 HMS Hermes carrier. |
|
Init parameters for R05 HMS Invincible carrier. |
|
Init parameters for L61 Juan Carlos carrier. |
|
Init parameters for Nimitz class super carriers. |
|
Initialize player data by (re-)setting parmeters to initial values. |
|
Init parameters for USS Stennis carrier. |
|
Init parameters for LHA-1 Tarawa carrier. |
|
Init voice over radio transmission call. |
|
Initialize Mission Editor waypoints. |
|
Start pattern when player enters the initial zone in case I/II recoveries. |
|
Check if aircraft is capable of landing on this aircraft carrier. |
|
Checks if a group has a human player. |
|
Checks if a human player sits in the unit. |
|
Check if text is an onboard number of a flight. |
|
AI aircraft calls the ball. |
|
LSO radio check. |
|
AIRBOSS:_LSOadvice(playerData, glideslopeError, lineupError) |
LSO advice radio call. |
Grade approach. |
|
Tell AI to land on the carrier. |
|
Get line up of player wrt to carrier. |
|
Mark CASE I or II/II zones by either smoke or flares. |
|
Mark current marshal zone of player by either smoke or flares. |
|
Command AI flight to orbit at a specified position at a specified altitude with a specified speed. |
|
AIRBOSS:_MarshalCallArrived(modex, case, brc, altitude, charlie, qfe) |
Compile a radio call when Marshal tells a flight the holding altitude. |
Compile a radio call when Marshal tells a flight the holding altitude. |
|
Inform flight that he is cleared for recovery. |
|
AI is bingo and goes to the divert field. |
|
AI is bingo and goes to the recovery tanker. |
|
Inform everyone about new final bearing. |
|
Inform everyone that recovery is paused and will resume at a certain time. |
|
Inform everyone that recovery is paused and will resume at a certain time. |
|
Compile a radio call when Marshal tells a flight the holding altitude. |
|
Inform everyone that recovery ops are stopped and deck is closed. |
|
Inform everyone that recovery is resumed after pause. |
|
Compile a radio call when Marshal tells a flight the holding altitude. |
|
Orbit at a specified position at a specified altitude with a specified speed. |
|
Marshal radio check. |
|
Aircraft request marshal (Inbound call both for players and AI). |
|
Check if a call needs a subtitle because the complete voice overs are not available. |
|
Initialize player data after birth event of player unit. |
|
AIRBOSS:_NewRadioCall(call, sender, subtitle, subduration, modexreceiver, modexsender) |
Generate a new radio call (deepcopy) from an existing default call. |
At the Ninety. |
|
AIRBOSS:_Number2Radio(radio, number, delay, interval, pilotcall) |
Convert a number (as string) into a radio message. |
Convert a number (as string) into an outsound and play it to a player group. |
|
Function called when a group is passing a waypoint. |
|
Find free path to the next waypoint. |
|
Patrol carrier. |
|
Platform at 5k ft for case II/III recoveries. |
|
Display hint to player. |
|
Airboss event handler for event player leave unit. |
|
Print holding queue. |
|
Get full file name for radio call. |
|
Create radio subtitle from radio call. |
|
Function called when a group has reached the holding zone. |
|
Sets flag recovered=true for a flight element, which was successfully recovered (landed). |
|
Tell AI to refuel. |
|
Remove dead flight groups from all queues. |
|
Remove a flight from Marshal, Pattern and Waiting queues. |
|
Get element in flight. |
|
Remove a flight group from the Marshal queue. |
|
Remove a flight group from a queue. |
|
Remove a flight, which is a member of a section, from this section. |
|
Remove a member from the player's section. |
|
Remove a unit and its element from a flight group (e.g. |
|
Request to commence landing approach. |
|
Request emergency landing. |
|
Request marshal. |
|
Player requests refueling. |
|
Request spinning. |
|
Reset player status. |
|
Carrier Strike Group resumes the route of the waypoints defined in the mission editor. |
|
Save trapsheet data. |
|
Scan carrier zone for (new) units. |
|
Set difficulty level. |
|
Turn player's aircraft attitude display on or off. |
|
Set player step. |
|
Set all flights within 100 meters to be part of my section. |
|
Set time in the groove for player. |
|
Skipper set recovery offset angle. |
|
Skipper set recovery speed. |
|
Skipper set recovery time. |
|
Skipper set recovery speed. |
|
Reset player status. |
|
Skipper Stop recovery function. |
|
Evaluate player's speed. |
|
Spinning |
|
Check AI status. |
|
Display hint for flight students about the (next) step. |
|
Turn radio subtitles of player on or off. |
|
Function called when a group should be send to the Marshal stack. |
|
Generate a text if a player is too far from where he should be. |
|
Trapped? |
|
Turn radio subtitles of player on or off. |
|
Update section if a flight is removed. |
|
Command AI flight to orbit outside the 10 NM zone and wait for a free Marshal stack. |
|
Tell player to wait outside the 10 NM zone until a Marshal stack is available. |
|
Waiting outside 10 NM zone for free Marshal stack. |
|
At the Wake. |
|
Triggers the FSM delayed event "Idle" that puts the carrier into state "Idle" where no recoveries are carried out. |
|
Triggers the FSM event "LSOGrade". |
|
Triggers the FSM delayed event "Load" that loads the player scores from a file. |
|
Triggers the FSM event "Marshal". |
|
Triggers the FSM delayed event "PassingWaypoint". |
|
Triggers the delayed FSM event "RecoveryCase" that sets the used aircraft recovery case. |
|
Triggers the FSM delayed event "RecoveryPause" that pauses the recovery of aircraft. |
|
Triggers the FSM delayed event "RecoveryStart" that starts the recovery of aircraft. |
|
Triggers the FSM delayed event "RecoveryStop" that stops the recovery of aircraft. |
|
Triggers the FSM delayed event "RecoveryUnpause" that resumes the recovery of aircraft if it was paused. |
|
Triggers the FSM delayed event "Save" that saved the player scores to a file. |
|
Triggers the FSM event "Start" that starts the airboss after a delay. |
|
Triggers the FSM event "Stop" that stops the airboss after a delay. |
|
If true, carrier patrols ad infinitum, i.e. when reaching its last waypoint it starts at waypoint one again. |
|
Carrier airbase object. |
|
Airboss is a nice guy. |
|
Alias of the carrier. |
|
If true, all player grades are automatically saved to a file on disk. |
|
File name of the auto player grades save file. Default is auto generated from carrier name/alias. |
|
Path where the player grades file is saved on auto save. |
|
Carrier beacon for TACAN and ICLS. |
|
Aircraft carrier unit on which we want to practice. |
|
Carrier specific parameters. |
|
Type name of aircraft carrier. |
|
Recovery case I, II or III currently in progress. |
|
Distance up to which collision checks are done. |
|
Current waypoint, i.e. the one that has been passed last. |
|
Time interval to refresh the beacons. Default 5 minutes. |
|
Time interval in seconds for updating the queues etc. |
|
Time interval for call FSM status updates. |
|
Default recovery case. This is the case used if not specified otherwise. |
|
Default holding pattern update if not specified otherwise. |
|
Default player skill AIRBOSS.Difficulty. |
|
Despawn group after engine shutdown. |
|
If true, carrier is currently making a detour from its path along the ME waypoints. |
|
If true (default), allow emergency landings, i.e. bypass any pattern and go for final approach. |
|
AI groups in this set will be explicitly excluded from handling by the airboss and not forced into the Marshal pattern. |
|
List of all flights in the CCA. |
|
Glidesope error thresholds. |
|
If true (default), handle AI aircraft. |
|
Offset [degrees] of Case II/III holding pattern. |
|
Timestamp when the carrier first came to an unexpected hold. |
|
Max altitude in meters to register in the inital zone. |
|
If true, use old into wind calculation. |
|
Class id string for output to DCS log file. |
|
Low fuel threshold for AI groups in percent. |
|
Lineup error thresholds. |
|
Magnetic declination in degrees. |
|
Radius of the Marshal stack zone. |
|
Table of units where the F10 radio menu was added. |
|
If false, disables the option to mark zones via smoke or flares. |
|
If true, menu is optimized for a single carrier. |
|
If false, disables the option to mark zones via smoke. |
|
On after "Idle" event. |
|
On after "LSOGrade" event. |
|
On after "Load" event. |
|
On after "PassingWaypoint" event. |
|
On after "RecoveryCase" event. |
|
On after "RecoveryPause" event. |
|
On after "RecoveryStart" event. |
|
On after "RecoveryStop" event. |
|
On after "RecoveryUnpause" event. |
|
On after "Save" event. |
|
On after Start event. |
|
On after Status event. |
|
On after Stop event. |
|
On before "Load" event. |
|
On before "RecoveryCase" event. |
|
On before "Save" event. |
|
Table of players. |
|
Table holding all player scores and grades. |
|
Name of the aircraft acting as sender for broadcasting LSO radio messages from the carrier. DCS shortcoming workaround. |
|
Name of the aircraft acting as sender for broadcasting Marhsal radio messages from the carrier. DCS shortcoming workaround. |
|
Radio queue scheduler. |
|
List of time windows when aircraft are recovered including the recovery case and holding offset. |
|
Current or next recovery window opened. |
|
If true, respawn AI flights as they enter the CCA to detach and airfields from the mission plan. Default false. |
|
Name of the aircraft acting as sender for broadcasting radio messages from the carrier. DCS shortcoming workaround. |
|
Manual recovery case. |
|
If true, add skipper menu. |
|
Holding offset angle in degrees for Case II/III manual recoveries. |
|
Speed in knots for manual recovery start. |
|
Recovery time in min for manual recovery. |
|
U-turn on/off via menu. |
|
Folder within the mission (miz) file where airboss sound files are located. |
|
Folder withing the mission (miz) file where LSO sound files are stored. |
|
Folder withing the mission (miz) file where Marshal sound files are stored. |
|
AI groups in this set will be handled by the airboss. |
|
Mission uses static rather than dynamic weather. |
|
Recovery tanker flying overhead of carrier. |
|
The DCS map used in the mission. |
|
Path where to save the trap sheets. |
|
File prefix for trap sheet files. |
|
If true, players can save their trap sheets. |
|
If true, carrier is currently turning. |
|
If true, carrier is currently turning into the wind. |
|
Use user sound output instead of radio transmissions. |
|
Airboss class version. |
|
Waypoint coordinates of carrier. |
|
If true, display welcome message to player. |
|
Running number counting the recovery windows. |
|
Carrier controlled area (CCA), i.e. a zone of 50 NM radius around the carrier. |
|
Carrier controlled zone (CCZ), i.e. a zone of 5 NM radius around the carrier. |
|
Fields and Methods inherited from FSM | Description |
---|---|
Adds an End state. |
|
Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task. |
|
Adds a score for the FSM to be achieved. |
|
AIRBOSS:AddScoreProcess(From, Event, State, ScoreText, Score) |
Adds a score for the FSM_PROCESS to be achieved. |
Add a new transition rule to the FSM. |
|
Get current state. |
|
Returns the End states. |
|
Returns a table of the SubFSM rules defined within the FSM. |
|
Returns a table with the scores defined. |
|
Returns the start state of the FSM. |
|
Get current state. |
|
Returns a table with the Subs defined. |
|
Returns a table of the transition rules defined within the FSM. |
|
Check if FSM is in state. |
|
Load call backs. |
|
Creates a new FSM object. |
|
Sets the start state of the FSM. |
|
Add to map. |
|
Call handler. |
|
Create transition. |
|
Delayed transition. |
|
Event map. |
|
Go sub. |
|
Handler. |
|
Is end state. |
|
Sub maps. |
|
Check if can do an event. |
|
Check if cannot do an event. |
|
Check if FSM is in state. |
|
Fields and Methods inherited from AIRBOSS.AircraftAoA | Description |
---|---|
Really fast AoA threshold. |
|
Fast AoA threshold. Smaller means faster. |
|
Optimal on-speed AoA. |
|
Maximum on speed AoA. Values above are slow. |
|
Minimum on speed AoA. Values below are fast |
|
Really slow AoA threshold. |
|
Slow AoA threshold. Larger means slower. |
Fields and Methods inherited from AIRBOSS.AircraftCarrier | Description |
---|---|
A-4E Community mod. |
|
AV-8B Night Harrier. Works only with the HMS Hermes, HMS Invincible, USS Tarawa, USS America, and Juan Carlos I. |
|
Grumman C-2A Greyhound from Military Aircraft Mod. |
|
Grumman E-2D Hawkeye AWACS. |
|
F-14A by Heatblur. |
|
F-14A Tomcat (AI). |
|
F-14B by Heatblur. |
|
F/A-18C Hornet (AI). |
|
FEA-18G Superhornet (mod). |
|
F/A-18C Lot 20 Hornet by Eagle Dynamics. |
|
F/A-18E Superhornet (mod). |
|
F/A-18F Superhornet (mod). |
|
Lockheed S-3B Viking. |
|
Lockheed S-3B Viking tanker. |
|
T-45C by VNAO. |
Fields and Methods inherited from AIRBOSS.CarrierParameters | Description |
---|---|
Height of deck in meters. For USS Stennis ~63 ft = 19 meters. |
|
Distance in meeters to the landing position. |
|
Runway angle in degrees. for carriers with angled deck. For USS Stennis -9 degrees. |
|
Length of the landing runway in meters. |
|
Width of the landing runway in meters. |
|
Distance in meters from carrier position to stern of carrier. For USS Stennis -150 meters. |
|
Total length of carrier. |
|
Total with of the carrier from stern position to port side (asymmetric carriers). |
|
Total with of the carrier from stern position to starboard side (asymmetric carriers). |
|
Distance in meters from carrier position to first wire. |
|
Distance in meters from carrier position to second wire. |
|
Distance in meters from carrier position to third wire. |
|
Distance in meters from carrier position to fourth wire. |
Fields and Methods inherited from AIRBOSS.CarrierType | Description |
---|---|
USS America (LHA-6) [V/STOL Carrier] |
|
USS Forrestal (CV-59) [Heatblur Carrier Module] |
|
HMS Hermes (R12) [V/STOL Carrier] |
|
Canberra (L02) [V/STOL Carrier] |
|
HMS Invincible (R05) [V/STOL Carrier] |
|
Juan Carlos I (L61) [V/STOL Carrier] |
|
Admiral Kuznetsov (CV 1143.5) |
|
USS Abraham Lincoln (CVN-72) [Super Carrier Module] |
|
USS Theodore Roosevelt (CVN-71) [Super Carrier Module] |
|
USS John C. Stennis (CVN-74) |
|
USS Tarawa (LHA-1) [V/STOL Carrier] |
|
USS Harry S. Truman (CVN-75) [Super Carrier Module] |
|
USS Carl Vinson (CVN-70) [Deprecated!] |
|
USS George Washington (CVN-73) [Super Carrier Module] |
Fields and Methods inherited from AIRBOSS.Checkpoint | Description |
---|---|
Latitudal threshold for triggering the next step if X>Xmax. |
|
Latitudal threshold for triggering the next step if X |
|
Latitudal threshold for triggering the next step if Z>Zmax. |
|
Latitudal threshold for triggering the next step if Z |
|
Maximum allowed longitual distance to carrier. |
|
Minimum allowed longitual distance to carrier. |
|
Maximum allowed latitudal distance to carrier. |
|
Minimum allowed latitudal distance to carrier. |
|
Name of checkpoint. |
Fields and Methods inherited from AIRBOSS.Difficulty | Description |
---|---|
Flight Student. Shows tips and hints in important phases of the approach. |
|
TOPGUN graduate. For people who know what they are doing. Nearly ziplip. |
|
Naval aviator. Moderate number of hints but not really zip lip. |
Fields and Methods inherited from AIRBOSS.FlightElement | Description |
---|---|
If true, AI sits inside. If false, human player is flying. |
|
If true, flight called the ball in the groove. |
|
Onboard number of the aircraft. |
|
If true, element was successfully recovered. |
|
Aircraft unit. |
|
Name of the unit. |
Fields and Methods inherited from AIRBOSS.FlightGroup | Description |
---|---|
Charlie (abs) time in seconds. |
|
Aircraft type name. |
|
If true, flight is purly AI. |
|
If true, flight called the ball in the groove. |
|
Recovery case of flight. |
|
Distance to carrier in meters when the group was first detected inside the CCA. |
|
Flight group elements. |
|
Flag value describing the current stack. |
|
Flight group. |
|
Name of the group. |
|
If true, flight is in holding zone. |
|
Player name or name of first AI unit. |
|
Number of units in group. |
|
Onboard number of player or first unit in group. |
|
Onboard numbers of aircraft in the group. |
|
Flight is refueling. |
|
Name of section lead. |
|
Other human flight groups belonging to this flight. This flight is the lead. |
|
Timestamp in seconds of timer.getAbsTime() of the last important event, e.g. added to the queue. |
Fields and Methods inherited from AIRBOSS.GLE | Description |
---|---|
H threshold. Default 1.5 deg. |
|
(H) threshold. Default 0.8 deg. |
|
L threshold. Default -0.9 deg. |
|
(L) threshold. Default -0.6 deg. |
|
Max OK value. Default 0.4 deg. |
|
Min OK value. Default -0.3 deg. |
Fields and Methods inherited from AIRBOSS.GrooveData | Description |
---|---|
Altitude in meters. |
|
Angle of Attack. |
|
Fly through up "/" or fly through down "\". |
|
Glideslope error in degrees. |
|
Relative heading player to carrier's runway. 0=parallel, +-90=perpendicular. |
|
LSO grade. |
|
LSO grade details. |
|
LSO grade points |
|
Lineup error in degrees. |
|
Pitch angle in degrees. |
|
Distance in meters. |
|
Roll angle in degrees. |
|
Current step. |
|
Time in seconds. |
|
Total velocity in m/s. |
|
Vertical velocity in m/s. |
|
Distance in meters. |
|
Yaw angle in degrees. |
|
Distance in meters. |
Fields and Methods inherited from AIRBOSS.GroovePos | Description |
---|---|
"AL": Abeam landing position (V/STOL). |
|
"AR": At the ramp. |
|
"IC": In close. |
|
"IM": In the middle. |
|
"IW": In the wires. |
|
"LC": Level crossing (V/STOL). |
|
"X0": Entering the groove. |
|
"XX": At the start, i.e. 3/4 from the run down. |
Fields and Methods inherited from AIRBOSS.LSOCalls | Description |
---|---|
"Bolter, Bolter" call. |
|
"Call the Ball" call. |
|
"CHECK" call. |
|
"Cleared to land" call. |
|
Radio end transmission click sound. |
|
"Come left" call. |
|
"Depart and re-enter" call. |
|
"Expect heavy wavoff" call. |
|
"Expect spot 5" call. |
|
"Expect spot 7.5" call. |
|
"You're fast" call. |
|
"Foul Deck" call. |
|
"You're high" call. |
|
"Idle" call. |
|
"You're long in the groove" call. |
|
"You're low" call. |
|
"Zero" call. |
|
"One" call. |
|
"Two" call. |
|
"Three" call. |
|
"Four" call. |
|
"Five" call. |
|
"Six" call. |
|
"Seven" call. |
|
"Eight" call. |
|
"Nine" call. |
|
Static noise sound. |
|
"Paddles, contact" call. |
|
"Power" call. |
|
"Paddles, radio check" call. |
|
"Right for line up" call. |
|
"Roger ball" call. |
|
"You're slow" call. |
|
"Spin it" call. |
|
"Stabilized" call. |
|
"Wave off" call. |
|
"Welcome aboard" call. |
Fields and Methods inherited from AIRBOSS.LSOgrade | Description |
---|---|
Time in the groove in seconds. |
|
Aircraft type name of player. |
|
Carrier name/alias. |
|
Carrier type name. |
|
Recovery case. |
|
Detailed flight analysis. |
|
Points received after player has finally landed. This is the average over all incomplete passes (bolter, waveoff) before. |
|
LSO grade, i.e. OK, OK, (OK), --, CUT |
|
Mission date in yyyy/mm/dd format. |
|
Mission time in hh:mm:ss+d format |
|
Onboard number. |
|
Real live date. Needs os to be desanitized. |
|
Points received. |
|
DCS map. |
|
Wind speed on deck in knots. |
|
Wire caught. |
Fields and Methods inherited from AIRBOSS.LUE | Description |
---|---|
LUR threshold. Default -3.0 deg. |
|
(LUR) threshold. Default -1.0 deg. |
|
threshold for AA/OS measuring. Default -2.0 deg. |
|
LUL threshold. Default 3.0 deg. |
|
(LUL) threshold. Default 1.0 deg. |
|
threshold for AA/OS measuring. Default 2.0 deg. |
|
Max OK value. Default 0.5 deg. |
|
Min OK value. Default -0.5 deg. |
Fields and Methods inherited from AIRBOSS.MarshalCalls | Description |
---|---|
"Affirmative" call. |
|
"Altimeter" call. |
|
"BRC" call. |
|
"Turn to heading" call. |
|
"Case" call. |
|
"Charlie Time" call. |
|
"You're cleared for case" call. |
|
Radio end transmission click sound. |
|
"Deck closed" sound. |
|
"Degrees" call. |
|
"Expected" call. |
|
"Fly your needles" call. |
|
"Hold at angels" call. |
|
"Hours" sound. |
|
"Marshal radial" call. |
|
"Zero" call. |
|
"One" call. |
|
"Two" call. |
|
"Three" call. |
|
"Four" call. |
|
"Five" call. |
|
"Six" call. |
|
"Seven" call. |
|
"Eight" call. |
|
"Nine" call. |
|
"Negative" sound. |
|
"New final bearing" call. |
|
Static noise sound. |
|
"Obs" call. |
|
"Point" call. |
|
"Radio check" call. |
|
"Recovery" call. |
|
"Recovery ops stopped" sound. |
|
"Recovery paused until further notice" call. |
|
"Recovery paused and will be resumed at" call. |
|
"Report see me" call. |
|
"Resuming aircraft recovery" call. |
|
"Roger" call. |
|
"Say needles" call. |
|
"Marshal stack is currently full. Hold outside 10 NM zone and wait for further instructions" call. |
|
"Starting aircraft recovery" call. |
Fields and Methods inherited from AIRBOSS.PatternStep | Description |
---|---|
"Abeam". |
|
"Arc Turn In". |
|
"Arc Turn Out". |
|
"Bolter Pattern". |
|
"Break Entry". |
|
"Bullseye". |
|
"Commencing". |
|
"Debrief". |
|
"Dirty Up". |
|
"Early Break". |
|
"Emergency Landing". |
|
"Final". |
|
"Groove Abeam Landing Spot". |
|
"Groove At the Ramp". |
|
"Groove In Close". |
|
"Groove In the Middle". |
|
"Groove In the Wires". |
|
"Groove Level Cross". |
|
"Groove X". |
|
"Holding". |
|
"Initial". |
|
"Late Break". |
|
"Ninety". |
|
"Platform". |
|
"Refueling". |
|
"Spinning". |
|
"Undefined". |
|
"Waiting for free Marshal stack". |
|
"Wake". |
Fields and Methods inherited from AIRBOSS.PlayerData | Description |
---|---|
Time in groove start timer.getTime(). |
|
Time in the groove in seconds. |
|
Last time the LSO gave an advice. |
|
If true, display aircraft attitude and other parameters constantly. |
|
If true, player boltered. |
|
Callsign of player. |
|
Client object of player. |
|
Debrief analysis of the current step of this pass. |
|
Debrief scheduler ID. |
|
Difficulty level. |
|
Final score if points are averaged over multiple passes. |
|
Data table at each position in the groove. Elements are of type AIRBOSS.GrooveData. |
|
If true, player landed or attempted to land. |
|
Debrief of player performance of last completed pass. |
|
If true, player was long in the groove. |
|
If true, own waveoff by player. |
|
Number of passes. |
|
Points of passes until finally landed. |
|
If true, show step hints. |
|
Current/next pattern step. |
|
If true, display subtitles of radio messages. |
|
If true, save trap sheets. |
|
Groove data table recorded every 0.5 seconds. |
|
Aircraft of the player. |
|
Name of the unit. |
|
If true, player made a valid approach. Is set true on start of Groove X. |
|
Set true once the player got a warning. |
|
If true, player was waved off during final approach. |
|
Wire caught by player when trapped. |
|
If true, player was waved off because of a foul deck. |
|
If true, player was waved off during the pattern. |
Fields and Methods inherited from AIRBOSS.Radio | Description |
---|---|
Radio alias. |
|
Frequency in Hz. |
|
Band modulation. |
|
Fields and Methods inherited from AIRBOSS.RadioCall | Description |
---|---|
Duration of the sound in seconds. This is also the duration the subtitle is displayed. |
|
Sound file name without suffix. |
|
Loud version of sound file available. |
|
Onboard number of the receiver (optional). |
|
Onboard number of the sender (optional). |
|
Sender of the message (optional). Default radio alias. |
|
Duration in seconds the subtitle is displayed. |
|
Subtitle displayed during transmission. |
|
File suffix/extension, e.g. "ogg". |
Fields and Methods inherited from AIRBOSS.Radioitem | Description |
---|---|
Abs time when transmission should be played. |
|
Abs time when transmission began to play. |
|
Radio call. |
|
Interval in seconds after the last sound was played. |
|
Currently playing. |
|
If true, play loud version of file. |
|
Radio object. |
Fields and Methods inherited from AIRBOSS.Recovery | Description |
---|---|
Recovery case (1-3) of that time slot. |
|
Recovery window ID. |
|
Angle offset of the holding pattern in degrees. Usually 0, +-15, or +-30 degrees. |
|
Recovery window is currently open. |
|
Recovery window is over and closed. |
|
The speed in knots the carrier has during the recovery. |
|
Start of recovery in seconds of abs mission time. |
|
End of recovery in seconds of abs mission time. |
|
If true, carrier makes a U-turn to the point it came from before resuming its route to the next waypoint. |
|
Carrier will turn into the wind. |
AIRBOSS class.
Field(s)
Airboss radio frequency in MHz.
Airboss radio modulation "AM" or "FM".
Name of the class.
Debug mode. Messages to all about status.
Case II/III dirty up and on speed position at 1200 ft and 10-12 NM from the carrier.
ICLS channel.
ICLS morse code, e.g. "STN".
Automatic ICLS is activated.
LSO radio frequency in MHz.
LSO radio modulation "AM" or "FM".
Time interval in seconds before the LSO will make its next call.
Marshal radio frequency in MHz.
Marshal radio modulation "AM" or "FM".
Main group level radio menu: F10 Other/Airboss.
Airboss mission level F10 root menu.
Number of max section members (excluding the lead itself), i.e. NmaxSection=1 is a section of two.
Number of max flights per stack. Default 2.
Number of max Case I Marshal stacks available. Default 3, i.e. angels 2, 3 and 4.
Max number of aircraft in landing pattern.
Queue of marshalling aircraft groups.
Queue of aircraft groups in the landing pattern.
Queue of aircraft currently spinning.
Queue of aircraft groups waiting outside 10 NM zone for the next free Marshal stack.
Radio queue of LSO.
Radio queue of marshal.
SRSQUEUE
TACAN channel.
TACAN mode, i.e. "X" or "Y".
TACAN morse code, e.g. "STN".
Automatic TACAN is activated.
Abs mission time, the last transmission ended.
Abs mission time, the last transmission ended.
Last time the beacons were refeshed.
Last time timer.gettime() the stack collapsed.
Default duration in seconds messages are displayed to players.
Tower radio frequency in MHz.
Last time in seconds of timer.getTime() the queue was updated.
If true, carrier patrols ad infinitum, i.e. when reaching its last waypoint it starts at waypoint one again.
Airboss is a nice guy.
Alias of the carrier.
If true, all player grades are automatically saved to a file on disk.
File name of the auto player grades save file. Default is auto generated from carrier name/alias.
Path where the player grades file is saved on auto save.
Type name of aircraft carrier.
Recovery case I, II or III currently in progress.
Distance up to which collision checks are done.
Current waypoint, i.e. the one that has been passed last.
Time interval to refresh the beacons. Default 5 minutes.
Time interval in seconds for updating the queues etc.
Time interval for call FSM status updates.
Default recovery case. This is the case used if not specified otherwise.
Default holding pattern update if not specified otherwise.
Default player skill AIRBOSS.Difficulty.
Despawn group after engine shutdown.
If true, carrier is currently making a detour from its path along the ME waypoints.
If true (default), allow emergency landings, i.e. bypass any pattern and go for final approach.
AI groups in this set will be explicitly excluded from handling by the airboss and not forced into the Marshal pattern.
List of all flights in the CCA.
If true (default), handle AI aircraft.
Offset [degrees] of Case II/III holding pattern.
Timestamp when the carrier first came to an unexpected hold.
Max altitude in meters to register in the inital zone.
If true, use old into wind calculation.
Class id string for output to DCS log file.
Low fuel threshold for AI groups in percent.
Magnetic declination in degrees.
Radius of the Marshal stack zone.
Table of units where the F10 radio menu was added.
If false, disables the option to mark zones via smoke or flares.
If true, menu is optimized for a single carrier.
If false, disables the option to mark zones via smoke.
Table of players.
Table holding all player scores and grades.
Name of the aircraft acting as sender for broadcasting LSO radio messages from the carrier. DCS shortcoming workaround.
Name of the aircraft acting as sender for broadcasting Marhsal radio messages from the carrier. DCS shortcoming workaround.
List of time windows when aircraft are recovered including the recovery case and holding offset.
If true, respawn AI flights as they enter the CCA to detach and airfields from the mission plan. Default false.
Name of the aircraft acting as sender for broadcasting radio messages from the carrier. DCS shortcoming workaround.
Manual recovery case.
If true, add skipper menu.
Holding offset angle in degrees for Case II/III manual recoveries.
Speed in knots for manual recovery start.
Recovery time in min for manual recovery.
U-turn on/off via menu.
Folder within the mission (miz) file where airboss sound files are located.
Folder withing the mission (miz) file where LSO sound files are stored.
Folder withing the mission (miz) file where Marshal sound files are stored.
Mission uses static rather than dynamic weather.
The DCS map used in the mission.
Path where to save the trap sheets.
File prefix for trap sheet files.
If true, players can save their trap sheets.
If true, carrier is currently turning.
If true, carrier is currently turning into the wind.
Use user sound output instead of radio transmissions.
Airboss class version.
Waypoint coordinates of carrier.
If true, display welcome message to player.
Running number counting the recovery windows.
Carrier controlled area (CCA), i.e. a zone of 50 NM radius around the carrier.
Carrier controlled zone (CCZ), i.e. a zone of 5 NM radius around the carrier.
Create holding zone.
Function(s)
Add a group to the exclude set.
If no set exists, it is created.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP Group
The group to be excluded.
Return value:
self
Add aircraft recovery time window and recovery case.
Defined in:
AIRBOSS
Parameters:
#string starttime
Start time, e.g. "8:00" for eight o'clock. Default now.
#string stoptime
Stop time, e.g. "9:00" for nine o'clock. Default 90 minutes after start time.
#number case
Recovery case for that time slot. Number between one and three.
#number holdingoffset
Only for CASE II/III: Angle in degrees the holding pattern is offset.
#boolean turnintowind
If true, carrier will turn into the wind 5 minutes before the recovery window opens.
#number speed
Speed in knots during turn into wind leg.
#boolean uturn
If true (or nil), carrier wil perform a U-turn and go back to where it came from before resuming its route to the next waypoint. If false, it will go directly to the next waypoint.
Return value:
Recovery window.
Broadcast radio message.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.Radio radio
Radio sending transmission.
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
#boolean loud
Play loud version of file.
Let the carrier make a detour to a given point.
When it reaches the point, it will resume its normal route.
Defined in:
AIRBOSS
Parameters:
Core.Point#COORDINATE coord
Coordinate of the detour.
#number speed
Speed in knots. Default is current carrier velocity.
#boolean uturn
(Optional) If true, carrier will go back to where it came from before it resumes its route to the next waypoint.
#number uspeed
Speed in knots after U-turn. Default is same as before.
Core.Point#COORDINATE tcoord
Additional coordinate to make turn smoother.
Return value:
self
Carrier resumes the route at its next waypoint.
Defined in:
AIRBOSS
Parameter:
Core.Point#COORDINATE gotocoord
(Optional) First goto this coordinate before resuming route.
Return value:
self
Let the carrier turn into the wind.
Defined in:
AIRBOSS
Parameters:
#number time
Time in seconds.
#number vdeck
Speed on deck m/s. Carrier will
#boolean uturn
Make U-turn and go back to initial after downwind leg.
Return value:
self
Close currently running recovery window and stop recovery ops.
Recovery window is deleted.
Defined in:
AIRBOSS
Parameter:
#number Delay
(Optional) Delay in seconds before the window is deleted.
Delete all recovery windows.
Defined in:
AIRBOSS
Parameter:
#number Delay
(Optional) Delay in seconds before the windows are deleted.
Return value:
self
Delete a recovery window.
If the window is currently open, it is closed and the recovery stopped.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.Recovery Window
Recovery window.
#number Delay
Delay in seconds, before the window is deleted.
Set up SRS for usage without sound files
Defined in:
AIRBOSS
Parameters:
#string PathToSRS
Path to SRS folder, e.g. "C:\Program Files\DCS-SimpleRadio-Standalone".
#number Port
Port of the SRS server, defaults to 5002.
#string Culture
(Optional, Airboss Culture) Culture, defaults to "en-US".
#string Gender
(Optional, Airboss Gender) Gender, e.g. "male" or "female". Defaults to "male".
#string Voice
(Optional, Airboss Voice) Set to use a specific voice. Will override gender and culture settings.
#string GoogleCreds
(Optional) Path to Google credentials, e.g. "C:\Program Files\DCS-SimpleRadio-Standalone\yourgooglekey.json".
#number Volume
(Optional) E.g. 0.75. Defaults to 1.0 (loudest).
#table AltBackend
(Optional) See MSRS for details.
Return value:
self
Get base recovery course (BRC) of carrier.
The is the magnetic heading of the carrier.
Defined in:
AIRBOSS
Return value:
#number:
BRC in degrees.
Get base recovery course (BRC) when the carrier would head into the wind.
This includes the current wind direction and accounts for the angled runway.
Defined in:
AIRBOSS
Parameter:
#number vdeck
Desired wind velocity over deck in knots.
Return value:
#number:
BRC into the wind in degrees.
Get carrier coalition.
Defined in:
AIRBOSS
Return value:
#number:
Coalition side of carrier.
Get carrier coordinate.
Get carrier coordinate.
Get final bearing (FB) of carrier.
By default, the routine returns the magnetic FB depending on the current map (Caucasus, NTTR, Normandy, Persion Gulf etc). The true bearing can be obtained by setting the TrueNorth parameter to true.
Defined in:
AIRBOSS
Parameter:
#boolean magnetic
If true, magnetic FB is returned.
Return value:
#number:
FB in degrees.
Get true (or magnetic) heading of carrier.
Defined in:
AIRBOSS
Parameter:
#boolean magnetic
If true, calculate magnetic heading. By default true heading is returned.
Return value:
#number:
Carrier heading in degrees.
Get true (or magnetic) heading of carrier into the wind.
This accounts for the angled runway.
Defined in:
AIRBOSS
Parameters:
#number vdeck
Desired wind velocity over deck in knots.
#boolean magnetic
If true, calculate magnetic heading. By default true heading is returned.
Core.Point#COORDINATE coord
(Optional) Coordinate from which heading is calculated. Default is current carrier position.
Return values:
#number:
Carrier heading in degrees.
#number:
Carrier speed in knots to reach desired wind speed on deck.
Get true (or magnetic) heading of carrier into the wind.
This accounts for the angled runway. Implementation based on Mags & Bambi.
Defined in:
AIRBOSS
Parameters:
#number vdeck
Desired wind velocity over deck in knots.
#boolean magnetic
If true, calculate magnetic heading. By default true heading is returned.
Core.Point#COORDINATE coord
(Optional) Coordinate from which heading is calculated. Default is current carrier position.
Return values:
#number:
Carrier heading in degrees.
#number:
Carrier speed in knots to reach desired wind speed on deck.
Get true (or magnetic) heading of carrier into the wind.
This accounts for the angled runway.
Defined in:
AIRBOSS
Parameters:
#number vdeck
Desired wind velocity over deck in knots.
#boolean magnetic
If true, calculate magnetic heading. By default true heading is returned.
Core.Point#COORDINATE coord
(Optional) Coordinate from which heading is calculated. Default is current carrier position.
Return value:
#number:
Carrier heading in degrees.
Get next time the carrier will start recovering aircraft.
Defined in:
AIRBOSS
Parameter:
#boolean InSeconds
If true, abs. mission time seconds is returned. Default is a clock #string.
Return values:
#string:
Clock start (or start time in abs. seconds).
#string:
Clock stop (or stop time in abs. seconds).
Get radial with respect to carrier BRC or FB and (optionally) holding offset.
- case=1: radial=FB-180
- case=2: radial=HDG-180 (+offset)
- case=3: radial=FB-180 (+offset)
Defined in:
AIRBOSS
Parameters:
#number case
Recovery case.
#boolean magnetic
If true, magnetic radial is returned. Default is true radial.
#boolean offset
If true, inlcude holding offset.
#boolean inverse
Return inverse, i.e. radial-180 degrees.
Return value:
#number:
Radial in degrees.
Return the recovery window of the given ID.
Defined in:
AIRBOSS
Parameter:
#number id
The ID of the recovery window.
Return value:
Recovery window with the right ID or nil if no such window exists.
Get wind direction and speed at carrier position.
Defined in:
AIRBOSS
Parameters:
#number alt
Altitude ASL in meters. Default 18 m.
#boolean magnetic
Direction including magnetic declination.
Core.Point#COORDINATE coord
(Optional) Coordinate at which to get the wind. Default is current carrier position.
Return values:
#number:
Direction the wind is blowing from in degrees.
#number:
Wind speed in m/s.
Get wind speed on carrier deck parallel and perpendicular to runway.
Defined in:
AIRBOSS
Parameter:
#number alt
Altitude in meters. Default 18 m.
Return values:
#number:
Wind component parallel to runway im m/s.
#number:
Wind component perpendicular to runway in m/s.
#number:
Total wind strength in m/s.
Triggers the FSM event "Idle" that puts the carrier into state "Idle" where no recoveries are carried out.
Defined in:
AIRBOSS
Check if carrier is idle, i.e.
no operations are carried out.
Defined in:
AIRBOSS
Return value:
#boolean:
If true, carrier is in idle state.
Check if recovery of aircraft is paused.
Defined in:
AIRBOSS
Return value:
#boolean:
If true, recovery is paused
Check if carrier is recovering aircraft.
Defined in:
AIRBOSS
Return value:
#boolean:
If true, time slot for recovery is open.
Triggers the FSM event "LSOGrade".
Called when the LSO grades a player
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player Data.
#AIRBOSS.LSOgrade grade
LSO grade.
Triggers the FSM event "Load" that loads the player scores from a file.
AIRBOSS FSM must not be started at this point.
Defined in:
AIRBOSS
Parameters:
#string path
Path where the file is located. Default is the DCS installation root directory.
#string filename
(Optional) File name. Default is AIRBOSS-
Triggers the FSM event "Marshal".
Called when a flight is send to the Marshal stack.
Send text message to all players in the marshal queue.
Message format will be "SENDER: RECCEIVER, MESSAGE".
Defined in:
AIRBOSS
Parameters:
#string message
The message to send.
#string sender
The person who sends the message or nil.
#string receiver
The person who receives the message. Default player's onboard number. Set to "" for no receiver.
#number duration
Display message duration. Default 10 seconds.
#boolean clear
If true, clear screen from previous messages.
#number delay
Delay in seconds, before the message is displayed.
Send text message to all players in the pattern queue.
Message format will be "SENDER: RECCEIVER, MESSAGE".
Defined in:
AIRBOSS
Parameters:
#string message
The message to send.
#string sender
The person who sends the message or nil.
#string receiver
The person who receives the message. Default player's onboard number. Set to "" for no receiver.
#number duration
Display message duration. Default 10 seconds.
#boolean clear
If true, clear screen from previous messages.
#number delay
Delay in seconds, before the message is displayed.
Send text message to player client.
Message format will be "SENDER: RECCEIVER, MESSAGE".
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string message
The message to send.
#string sender
The person who sends the message or nil.
#string receiver
The person who receives the message. Default player's onboard number. Set to "" for no receiver.
#number duration
Display message duration. Default 10 seconds.
#boolean clear
If true, clear screen from previous messages.
#number delay
Delay in seconds, before the message is displayed.
Create a new AIRBOSS class object for a specific aircraft carrier unit.
Defined in:
AIRBOSS
Parameters:
carriername
Name of the aircraft carrier unit as defined in the mission editor.
alias
(Optional) Alias for the carrier. This will be used for radio messages and the F10 radius menu. Default is the carrier name as defined in the mission editor.
Return value:
self or nil if carrier unit does not exist.
On after "LSOGrade" user function.
Called when the carrier passes a waypoint of its route.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#AIRBOSS.PlayerData playerData
Player Data.
#AIRBOSS.LSOgrade grade
LSO grade.
On after "Load" event user function.
Called when the player scores are loaded from disk.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#string path
Path where the file is located. Default is the DCS installation root directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
(Optional) File name. Default is AIRBOSS-ALIAS_LSOgrades.csv.
On after "Marshal" user function.
Called when a flight is send to the Marshal stack.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#AIRBOSS.FlightGroup flight
The flight group data.
On after "PassingWaypoint" user function.
Called when the carrier passes a waypoint of its route.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#number waypoint
Number of waypoint.
On after "RecoveryStart" user function.
Called when recovery of aircraft is started and carrier switches to state "Recovering".
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#number Case
The recovery case (1, 2 or 3) to start.
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
On after "RecoveryStop" user function.
Called when recovery of aircraft is stopped.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
On after "Save" event user function.
Called when the player scores are saved to disk.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#string path
Path where the file is saved. Default is the DCS installation root directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
(Optional) File name. Default is AIRBOSS-ALIAS_LSOgrades.csv.
On after "Start" user function.
Called when the AIRBOSS FSM is started.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
Airboss event handler for event birth.
Airboss event handler for event crash.
Airboss event handler for event Ejection.
Airboss event handler for event that a unit shuts down its engines.
Airboss event function handling the mission end event.
Handles the case when the mission is ended.
Airboss event handler for event REMOVEUNIT.
Airboss event handler for event land.
Airboss event handler for event that a unit takes off.
Triggers the FSM event "PassingWaypoint".
Called when the carrier passes a waypoint.
Defined in:
AIRBOSS
Parameter:
#number waypoint
Number of waypoint.
Add Radio transmission to radio queue.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.Radio radio
Radio sending the transmission.
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
#boolean loud
If true, play loud sound file version.
#number delay
Delay in seconds, before the message is broadcasted.
#number interval
Interval in seconds after the last sound has been played.
#boolean click
If true, play radio click at the end.
#boolean pilotcall
If true, it's a pilot call.
Triggers the FSM event "RecoveryCase" that switches the aircraft recovery case.
Defined in:
AIRBOSS
Parameters:
#number Case
The new recovery case (1, 2 or 3).
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
Triggers the FSM event "RecoveryPause" that pauses the recovery of aircraft.
Defined in:
AIRBOSS
Parameter:
#number duration
Duration of pause in seconds. After that recovery is automatically resumed.
Triggers the FSM event "RecoveryStart" that starts the recovery of aircraft.
Marshalling aircraft are send to the landing pattern.
Defined in:
AIRBOSS
Parameters:
#number Case
Recovery case (1, 2 or 3) that is started.
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
Triggers the FSM event "RecoveryStop" that stops the recovery of aircraft.
Defined in:
AIRBOSS
Triggers the FSM event "RecoveryUnpause" that resumes the recovery of aircraft if it was paused.
Defined in:
AIRBOSS
Triggers the FSM event "Save" that saved the player scores to a file.
Defined in:
AIRBOSS
Parameters:
#string path
Path where the file is saved. Default is the DCS installation root directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
(Optional) File name. Default is AIRBOSS-ALIAS_LSOgrades.csv.
Define an AWACS associated with the carrier.
Defined in:
AIRBOSS
Parameter:
AWACS (recovery tanker) object.
Return value:
self
Airboss is a rather nice guy and not strictly following the rules.
Fore example, he does allow you into the landing pattern if you are not coming from the Marshal stack.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, Airboss bends the rules a bit.
Return value:
self
Set Airboss radio frequency and modulation.
Default frequency is Tower frequency.
Defined in:
AIRBOSS
Parameters:
#number Frequency
(Optional) Frequency in MHz. Default frequency is Tower frequency.
#string Modulation
(Optional) Modulation, "AM" or "FM". Default "AM".
#string Voice
(Optional) SRS specific voice
#string Gender
(Optional) SRS specific gender
#string Culture
(Optional) SRS specific culture
Return value:
self
Usage:
-- Set single frequency
myairboss:SetAirbossRadio(127.5,"AM",MSRS.Voices.Google.Standard.en_GB_Standard_F)
-- Set multiple frequencies, note you **need** to pass one modulation per frequency given!
myairboss:SetAirbossRadio({127.5,243},{radio.modulation.AM,radio.modulation.AM},MSRS.Voices.Google.Standard.en_GB_Standard_F)
Enable auto save of player results each time a player is finally graded.
Finally means after the player landed on the carrier! After intermediate passes (bolter or waveoff) the stats are not saved.
Defined in:
AIRBOSS
Parameters:
#string path
Path where to save the asset data file. Default is the DCS root installation directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
File name. Default is generated automatically from airboss carrier name/alias.
Return value:
self
Set beacon (TACAN/ICLS) time refresh interfal in case the beacons die.
Defined in:
AIRBOSS
Parameter:
#number TimeInterval
(Optional) Time interval in seconds. Default 1200 sec = 20 min.
Return value:
self
Set carrier controlled area (CCA).
This is a large zone around the carrier, which is constantly updated wrt the carrier position.
Defined in:
AIRBOSS
Parameter:
#number Radius
Radius of zone in nautical miles (NM). Default 50 NM.
Return value:
self
Set carrier controlled zone (CCZ).
This is a small zone (usually 5 NM radius) around the carrier, which is constantly updated wrt the carrier position.
Defined in:
AIRBOSS
Parameter:
#number Radius
Radius of zone in nautical miles (NM). Default 5 NM.
Return value:
self
Set distance up to which water ahead is scanned for collisions.
Defined in:
AIRBOSS
Parameter:
#number Distance
Distance in NM. Default 5 NM.
Return value:
self
Deactivate debug mode.
This is also the default setting.
Activate debug mode.
Display debug messages on screen.
Set duration how long messages are displayed to players.
Defined in:
AIRBOSS
Parameter:
#number Duration
Duration in seconds. Default 10 sec.
Return value:
self
Set default player skill.
New players will be initialized with this skill.
- "Flight Student" = AIRBOSS.Difficulty.Easy
- "Naval Aviator" = AIRBOSS.Difficulty.Normal
- "TOPGUN Graduate" = AIRBOSS.Difficulty.Hard
Defined in:
AIRBOSS
Parameter:
#string skill
Player skill. Default "Naval Aviator".
Return value:
self
Despawn AI groups after they they shut down their engines.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, AI groups are despawned.
Return value:
self
Allow emergency landings, i.e.
bypassing any pattern and go directly to final approach.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, emergency landings are okay.
Return value:
self
Define a set of AI groups that excluded from AI handling.
Members of this set will be left allone by the airboss and not forced into the Marshal pattern.
Defined in:
AIRBOSS
Parameter:
Core.Set#SET_GROUP SetGroup
The set of AI groups which are excluded.
Return value:
self
Will play the inbound calls, commencing, initial, etc.
from the player when requesteing marshal
Will simulate the inbound call, commencing, initial, etc from the AI when requested by Airboss
Set FunkMan socket.
LSO grades and trap sheets will be send to your Discord bot. Requires running FunkMan program.
Defined in:
AIRBOSS
Parameters:
#number Port
Port. Default 10042
.
#string Host
Host. Default "127.0.0.1"
.
Return value:
self
Defined in:
AIRBOSS
Parameters:
_max
_min
High
HIGH
Low
LOW
Do not handle AI aircraft.
Set holding pattern offset from final bearing for Case II/III recoveries.
Usually, this is +-15 or +-30 degrees. You should not use and offset angle >= 90 degrees, because this will cause a devision by zero in some of the equations used to calculate the approach corridor. So best stick to the defaults up to 30 degrees.
Defined in:
AIRBOSS
Parameter:
#number Offset
Offset angle in degrees. Default 0.
Return value:
self
Set ICLS channel of carrier.
Defined in:
AIRBOSS
Parameters:
#number Channel
(Optional) ICLS channel. Default 1.
#string MorseCode
(Optional) Morse code identifier. Three letters, e.g. "STN". Default "STN".
Return value:
self
Disable automatic ICLS activation.
Set max altitude to register flights in the initial zone.
Aircraft above this altitude will not be registerered.
Defined in:
AIRBOSS
Parameter:
#number MaxAltitude
Max altitude in feet. Default 1300 ft.
Return value:
self
Set if old into wind calculation is used when carrier turns into the wind for a recovery.
Defined in:
AIRBOSS
Parameter:
#boolean SwitchOn
If true
or nil
, use old into wind calculation.
Return value:
self
Set time interval between LSO calls.
Optimal time in the groove is ~16 seconds. So the default of 4 seconds gives around 3-4 correction calls in the groove.
Defined in:
AIRBOSS
Parameter:
#number TimeInterval
Time interval in seconds between LSO calls. Default 4 sec.
Return value:
self
Set LSO radio frequency and modulation.
Default frequency is 264 MHz AM.
Defined in:
AIRBOSS
Parameters:
#number Frequency
(Optional) Frequency in MHz. Default 264 MHz.
#string Modulation
(Optional) Modulation, "AM" or "FM". Default "AM".
#string Voice
(Optional) SRS specific voice
#string Gender
(Optional) SRS specific gender
#string Culture
(Optional) SRS specific culture
Return value:
self
Defined in:
AIRBOSS
Parameters:
_max
_min
Left
LeftMed
LEFT
Right
RightMed
RIGHT
Set multiplayer environment wire correction.
Defined in:
AIRBOSS
Parameter:
#number Dcorr
Correction distance in meters. Default 12 m.
Return value:
self
Set the magnetic declination (or variation).
By default this is set to the standard declination of the map.
Defined in:
AIRBOSS
Parameter:
#number declination
Declination in degrees or nil for default declination of the map.
Return value:
self
Set Marshal radio frequency and modulation.
Default frequency is 305 MHz AM.
Defined in:
AIRBOSS
Parameters:
#number Frequency
(Optional) Frequency in MHz. Default 305 MHz.
#string Modulation
(Optional) Modulation, "AM" or "FM". Default "AM".
#string Voice
(Optional) SRS specific voice
#string Gender
(Optional) SRS specific gender
#string Culture
(Optional) SRS specific culture
Return value:
self
Set Case I Marshal radius.
This is the radius of the valid zone around "the post" aircraft are supposed to be holding in the Case I Marshal stack. The post is 2.5 NM port of the carrier.
Defined in:
AIRBOSS
Parameter:
#number Radius
Radius in NM. Default 2.8 NM, which gives a diameter of 5.6 NM.
Return value:
self
Set max number of flights per stack.
All members of a section count as one "flight".
Defined in:
AIRBOSS
Parameter:
#number nmax
Number of max allowed flights per stack. Default is two. Minimum is one, maximum is 4.
Return value:
self
Set number of aircraft units, which can be in the landing pattern before the pattern is full.
Defined in:
AIRBOSS
Parameter:
#number nmax
Max number. Default 4. Minimum is 1, maximum is 6.
Return value:
self
Set number available Case I Marshal stacks.
If Marshal stacks are full, flights requesting Marshal will be told to hold outside 10 NM zone until a stack becomes available again. Marshal stacks for Case II/III are unlimited.
Defined in:
AIRBOSS
Parameter:
#number nmax
Max number of stacks available to players and AI flights. Default 3, i.e. angels 2, 3, 4. Minimum is 1.
Return value:
self
Set max number of section members.
Minimum is one, i.e. the section lead itself. Maximum number is four. Default is two, i.e. the lead and one other human flight.
Defined in:
AIRBOSS
Parameter:
#number nmax
Number of max allowed members including the lead itself. For example, Nmax=2 means a section lead plus one member.
Return value:
self
Enable or disable F10 radio menu for marking zones via smoke or flares.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, menu is enabled. If false, menu is not available to players.
Return value:
self
Enable F10 menu to manually start recoveries.
Defined in:
AIRBOSS
Parameters:
#number Duration
Default duration of the recovery in minutes. Default 30 min.
#number WindOnDeck
Default wind on deck in knots. Default 25 knots.
#boolean Uturn
U-turn after recovery window closes on=true or off=false/nil. Default off.
#number Offset
Relative Marshal radial in degrees for Case II/III recoveries. Default 30°.
Return value:
self
Optimized F10 radio menu for a single carrier.
The menu entries will be stored directly under F10 Other/Airboss/ and not F10 Other/Airboss/"Carrier Alias"/. WARNING: If you use this with two airboss objects/carriers, the radio menu will be screwed up!
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil single menu is enabled. If false, menu is for multiple carriers in the mission.
Return value:
self
Enable or disable F10 radio menu for marking zones via smoke.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, menu is enabled. If false, menu is not available to players.
Return value:
self
Carrier patrols ad inifintum.
If the last waypoint is reached, it will go to waypoint one and repeat its route.
Defined in:
AIRBOSS
Parameter:
#boolean switch
If true or nil, patrol until the end of time. If false, go along the waypoints once and stop.
Return value:
self
Set time interval for updating queues and other stuff.
Defined in:
AIRBOSS
Parameter:
#number TimeInterval
Time interval in seconds. Default 30 sec.
Return value:
self
Set unit acting as radio relay for the LSO radio.
Set unit acting as radio relay for the Marshal radio.
Set unit name for sending radio messages.
Set the default recovery case.
Defined in:
AIRBOSS
Parameter:
#number Case
Case of recovery. Either 1, 2 or 3. Default 1.
Return value:
self
Define recovery tanker associated with the carrier.
Defined in:
AIRBOSS
Parameter:
Ops.RecoveryTanker#RECOVERYTANKER recoverytanker
Recovery tanker object.
Return value:
self
Set time before carrier turns and recovery window opens.
Defined in:
AIRBOSS
Parameter:
#number Interval
Time interval in seconds. Default 300 sec.
Return value:
self
Give AI aircraft the refueling task if a recovery tanker is present or send them to the nearest divert airfield.
Defined in:
AIRBOSS
Parameter:
#number LowFuelThreshold
Low fuel threshold in percent. AI will go refueling if their fuel level drops below this value. Default 10 %.
Return value:
self
Respawn AI groups once they reach the CCA.
Clears any attached airbases and allows making them land on the carrier via script.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, AI groups are respawned.
Return value:
self
Set SRS voice for the pilot calls.
Defined in:
AIRBOSS
Parameters:
#string Voice
(Optional) SRS specific voice
#string Gender
(Optional) SRS specific gender
#string Culture
(Optional) SRS specific culture
Return value:
self
Set folder path where the airboss sound files are located within you mission (miz) file.
The default path is "l10n/DEFAULT/" but sound files simply copied there will be removed by DCS the next time you save the mission. However, if you create a new folder inside the miz file, which contains the sounds, it will not be deleted and can be used.
Defined in:
AIRBOSS
Parameter:
#string FolderPath
The path to the sound files, e.g. "Airboss Soundfiles/".
Return value:
self
Define a set of AI groups that are handled by the airboss.
Defined in:
AIRBOSS
Parameter:
Core.Set#SET_GROUP SetGroup
The set of AI groups which are handled by the airboss.
Return value:
self
Specify weather the mission has set static or dynamic weather.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true or nil, mission uses static weather. If false, dynamic weather is used in this mission.
Return value:
self
Set time interval for updating player status and other things.
Defined in:
AIRBOSS
Parameter:
#number TimeInterval
Time interval in seconds. Default 0.5 sec.
Return value:
self
Set TACAN channel of carrier and switches TACAN on.
Defined in:
AIRBOSS
Parameters:
#number Channel
(Optional) TACAN channel. Default 74.
#string Mode
(Optional) TACAN mode, i.e. "X" or "Y". Default "X".
#string MorseCode
(Optional) Morse code identifier. Three letters, e.g. "STN". Default "STN".
Return value:
self
Disable automatic TACAN activation
Enable saving of player's trap sheets and specify an optional directory path.
Defined in:
AIRBOSS
Parameters:
#string Path
(Optional) Path where to save the trap sheets.
#string Prefix
(Optional) Prefix for trap sheet files. File name will be saved as *prefix_aircrafttype-0001.csv*, *prefix_aircrafttype-0002.csv*, etc.
Return value:
self
Use user sound output instead of radio transmission for messages.
Might be handy if radio transmissions are broken.
Init voice over radio transmission call.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.RadioCall radiocall
LSO or Marshal radio call object.
#number duration
Duration of the voice over in seconds.
#string subtitle
(Optional) Subtitle to be displayed along with voice over.
#number subduration
(Optional) Duration how long the subtitle is displayed.
#string filename
(Optional) Name of the voice over sound file.
#string suffix
(Optional) Extention of file. Default ".ogg".
Set parameters for LSO Voice overs by funkyfranky.
Defined in:
AIRBOSS
Parameter:
#string mizfolder
(Optional) Folder within miz file where the sound files are located.
Set parameters for LSO Voice overs by Raynor.
Defined in:
AIRBOSS
Parameter:
#string mizfolder
(Optional) Folder within miz file where the sound files are located.
Intit parameters for Marshal Voice overs by funkyfranky.
Defined in:
AIRBOSS
Parameter:
#string mizfolder
(Optional) Folder within miz file where the sound files are located.
Init parameters for Marshal Voice overs Gabriella by HighwaymanEd.
Defined in:
AIRBOSS
Parameter:
#string mizfolder
(Optional) Folder within miz file where the sound files are located.
Init parameters for Marshal Voice overs by Raynor.
Defined in:
AIRBOSS
Parameter:
#string mizfolder
(Optional) Folder within miz file where the sound files are located.
Set welcome messages for players.
Defined in:
AIRBOSS
Parameter:
#boolean Switch
If true, display welcome message to player.
Return value:
self
Player user sound to player if he is inside the CCA.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#AIRBOSS.Radio radio
The radio used for transmission.
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
#boolean loud
If true, play loud sound file version.
#number delay
Delay in seconds, before the message is broadcasted.
Test LSO radio sounds.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds be sound check starts.
Return value:
self
Test Marshal radio sounds.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds be sound check starts.
Return value:
self
Triggers the FSM event "Start" that starts the airboss.
Initializes parameters and starts event handlers.
Defined in:
AIRBOSS
Triggers the FSM event "Stop" that stops the airboss.
Event handlers are stopped.
Defined in:
AIRBOSS
Abeam position.
Pattern aborted.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#number X
X distance player to carrier.
#number Z
Z distance player to carrier.
#AIRBOSS.Checkpoint posData
Checkpoint data.
#boolean patternwo
(Optional) Pattern wave off.
Add menu commands for player.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of player unit.
Add flight to pattern queue and set recoverd to false for all elements of the flight and its section members.
Add a flight group to the Marshal queue at a specific stack.
Flight is informed via message. This fixes the recovery case to the current case ops in progress self.case).
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
Flight group.
#number stack
Marshal stack. This (re-)sets the flag value.
Append text to debriefing.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string hint
Debrief text of this step.
#string step
(Optional) Current step in the pattern. Default from playerData.
Evaluate player's altitude at checkpoint.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number altopt
Optimal altitude in meters.
Return values:
Score for correct AoA.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#number optaoa
Optimal AoA.
Return values:
#string:
Feedback message text or easy and normal difficulty level or nil for hard.
#string:
Debriefing text.
Radio call.
Convert AoA from degrees to arbitrary units.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number degrees
AoA in degrees.
Return value:
#number:
AoA in arbitrary units.
Convert AoA from arbitrary units to degrees.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number aoaunits
AoA in arbitrary units.
Return value:
#number:
AoA in degrees.
Arc in turn for case II/III recoveries.
Arc out turn for case II/III recoveries.
Provide info about player status on the fly.
Bolter pattern.
Sends player to abeam for Case I/II or Bullseye for Case III ops.
Break.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#string part
Part of the break.
Break entry for case I/II recoveries.
Intercept glide slop and follow ICLS, aka Bullseye for case III recovery.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return value:
#boolean:
If true, player is in bullseye zone.
Check AI status.
Pattern queue AI in the groove? Marshal queue AI arrived in holding zone?
Defined in:
AIRBOSS
Check if a player is within the right area.
Defined in:
AIRBOSS
Parameters:
#number X
X distance player to carrier.
#number Z
Z distance player to carrier.
Position data limits.
Return value:
#boolean:
If true, approach should be aborted.
Check if carrier is turning.
If turning started or stopped, we inform the players via radio message.
Defined in:
AIRBOSS
Check for possible collisions between two coordinates.
Defined in:
AIRBOSS
Parameters:
Core.Point#COORDINATE coordto
Coordinate to which the collision is check.
Core.Point#COORDINATE coordfrom
Coordinate from which the collision is check.
Return values:
#boolean:
If true, surface type ahead is not deep water.
#number:
Max free distance in meters.
Check if player is in CASE II/III approach corridor.
Long downwind leg check.
Check if other aircraft are currently on the landing runway.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data.
Return value:
boolean If true, we have a foul deck.
Check Collision.
Defined in:
AIRBOSS
Parameter:
Core.Point#COORDINATE fromcoord
Coordinate from which the path to the next WP is calculated. Default current carrier position.
Return value:
#boolean:
If true, surface type ahead is not deep water.
Check limits for reaching next step.
Defined in:
AIRBOSS
Parameters:
#number X
X position of player unit.
#number Z
Z position of player unit.
#AIRBOSS.Checkpoint check
Checkpoint.
Return value:
#boolean:
If true, checkpoint condition for next step was reached.
Checks if a player is in the pattern queue and has missed a step in Case II/III approach.
Check if heading or position of carrier have changed significantly.
Defined in:
AIRBOSS
Check if player in the landing pattern is too close to another aircarft in the pattern.
Check radio queue for transmissions to be broadcasted.
Defined in:
AIRBOSS
Parameters:
#table radioqueue
The radio queue.
#string name
Name of the queue.
Function called by DCS timer.
Unused.
Defined in:
AIRBOSS
Parameters:
#table param
Parameters.
#number time
Time.
Check recovery times and start/stop recovery mode of aircraft.
Defined in:
AIRBOSS
Check if all elements of a flight were recovered.
This also checks potential section members. If so, flight is removed from the queue.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.FlightGroup flight
Flight group to check.
Return value:
#boolean:
If true, all elements landed.
LSO check if player needs to wave off.
Wave off conditions are:
- Glideslope error <1.2 or >1.8 degrees.
- |Line up error| > 3 degrees.
- AoA check but only for TOPGUN graduates.
Defined in:
AIRBOSS
Parameters:
#number glideslopeError
Glideslope error in degrees.
#number lineupError
Line up error in degrees.
#number AoA
Angle of attack of player aircraft.
#AIRBOSS.PlayerData playerData
Player data.
Return value:
#boolean:
If true, player should wave off!
Clear flight for landing.
AI are removed from Marshal queue and the Marshal stack is collapsed. If next in line is an AI flight, this is done. If human player is next, we wait for "Commence" via F10 radio menu command.
Collapse marshal stack.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
Flight that left the marshal stack.
#boolean nopattern
If true, flight does not go to pattern.
Commence approach.
This step initializes the player data. Section members are also set to commence. Next step depends on recovery case:
- Case 1: Initial
- Case 2/3: Platform
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#boolean zonecheck
If true, zone is checked before player is released.
Aircraft commencing call (both for players and AI).
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
unit
Return value:
Unit of player or nil.
Create a new flight group.
Usually when a flight appears in the CCA.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP group
Aircraft group.
Return value:
Flight group.
Debrief player and set next step.
Dirty up and level out at 1200 ft for case III recovery.
Turn player's aircraft attitude display on or off.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Report information about carrier.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Report weather conditions at the carrier location.
Temperature, QFE pressure and wind data.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Display last debriefing.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Display top 10 player scores.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Display player status.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of the player unit.
Display marshal or pattern queue.
Defined in:
AIRBOSS
Parameters:
#string _unitname
Name of the player unit.
#string qname
Name of the queue.
Display top 10 player scores.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Evaluate player's distance to the boat at checkpoint.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number optdist
Optimal distance in meters.
Return values:
#string:
Feedback message text.
#string:
Debriefing text.
Distance radio call. Not implemented yet.
Grade player time in the groove - from turning to final until touchdown.
If time
- < 9 seconds: No Grade "--"
- 9-11 seconds: Fair "(OK)"
- 12-21 seconds: OK (15-18 is ideal)
- 22-24 seconds: Fair "(OK)
- > 24 seconds: No Grade "--"
If you manage to be between 16.4 and and 16.6 seconds, you will even get and okay underline "_OK_". No groove time for Harrier on LHA, LHD set to Tgroove Unicorn as starting point to allow possible OK 5.0.
If time in the AV-8B
- < 55 seconds: Fast V/STOL
- < 75 seconds: OK V/STOL
- > 76 Seconds: SLOW V/STOL (Early hover stop selection)
If you manage to be between 60.0 and 65.0 seconds in the AV-8B, you will even get and okay underline "_OK_"
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return value:
#string:
LSO grade for time in groove, i.e. _OK_, OK, (OK), --.
Turn to final.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#boolean nocheck
If true, player is not checked to be in the right position.
Grade flight data.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string groovestep
Step in the groove.
#AIRBOSS.GrooveData fdata
Flight data in the groove.
Return values:
#string:
LSO grade or empty string if flight data table is nil.
#number:
Number of deviations from perfect flight path.
Get short name of the grove step.
Defined in:
AIRBOSS
Parameters:
#string step
Player step.
#number n
Use -1 for previous or +1 for next. Default 0.
Return value:
#string:
Shortcut name "X", "RB", "IM", "AR", "IW".
Get aircraft nickname.
Defined in:
AIRBOSS
Parameter:
#string actype
Aircraft type name.
Return value:
#string:
Aircraft nickname. E.g. "Hornet" for the F/A-18C or "Tomcat" For the F-14A.
Get optimal aircraft AoA parameters..
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return value:
AoA parameters for the given aircraft type.
Get optimal aircraft flight parameters at checkpoint.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#string step
Pattern step.
Return values:
#number:
Altitude in meters or nil.
#number:
Angle of Attack or nil.
#number:
Distance to carrier in meters or nil.
#number:
Speed in m/s or nil.
Get altitude of aircraft wrt carrier deck.
Should give zero when the aircraft touched down.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Aircraft unit.
Return value:
#number:
Altitude in meters wrt carrier height.
Convert altitude from meters to angels (thousands of feet).
Defined in:
AIRBOSS
Parameter:
alt
altitude in meters.
Return value:
#number:
Altitude in Anglels = thousands of feet using math.floor().
Calculate an estimate of the charlie time of the player based on how many other aircraft are in the marshal or pattern queue before him.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.FlightGroup flightgroup
Flight data.
Return value:
#number:
Charlie (abs) time in seconds. Or nil, if stack<0 or no recovery window will open.
Get difference between to headings in degrees taking into accound the [0,360) periodocity.
Defined in:
AIRBOSS
Parameters:
#number hdg1
Heading one.
#number hdg2
Heading two.
Return value:
#number:
Difference between the two headings in degrees.
Calculate distances between carrier and aircraft unit.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Aircraft unit.
Return values:
#number:
Distance [m] in the direction of the orientation of the carrier.
#number:
Distance [m] perpendicular to the orientation of the carrier.
#number:
Distance [m] to the carrier.
#number:
Angle [Deg] from carrier to plane. Phi=0 if the plane is directly behind the carrier, phi=90 if the plane is starboard, phi=180 if the plane is in front of the carrier.
Estimated the carrier position at some point in the future given the current waypoints and speeds.
Get element in flight.
Defined in:
AIRBOSS
Parameter:
#string unitname
Name of the unit.
Return values:
Element of the flight or nil.
#number:
Element index or nil.
The Flight group or nil
Get flight from group in a queue.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Group that will be removed from queue.
#table queue
The queue from which the group will be removed.
Return values:
Get section lead of a flight.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.FlightGroup flight
Return values:
The leader of the section. Could be the flight itself.
#boolean:
If true, flight is lead.
Get number of (airborne) units in a flight.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
The flight group.
#boolean onground
If true, include units on the ground. By default only airborne units are counted.
Return values:
#number:
Number of units in flight including section members.
#number:
Number of units in flight excluding section members.
#number:
Number of section members.
Get next free Marshal stack.
Depending on AI/human and recovery case.
Defined in:
AIRBOSS
Parameters:
#boolean ai
If true, get a free stack for an AI flight group.
#number case
Recovery case. Default current (self) case in progress.
#boolean empty
Return lowest stack that is completely empty.
Return value:
#number:
Lowest free stack available for the given case or nil if all Case I stacks are taken.
Get next free Marshal stack.
Depending on AI/human and recovery case.
Defined in:
AIRBOSS
Parameters:
#boolean ai
If true, get a free stack for an AI flight group.
#number case
Recovery case. Default current (self) case in progress.
#boolean empty
Return lowest stack that is completely empty.
Return value:
#number:
Lowest free stack available for the given case or nil if all Case I stacks are taken.
Get fuel state in pounds.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
The unit for which the mass is determined.
Return value:
#number:
Fuel state in pounds.
Get error margin depending on player skill.
- Flight students: 10% and 20%
- Naval Aviators: 5% and 10%
- TOPGUN Graduates: 2.5% and 5%
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return values:
#number:
Error margin for still being okay.
#number:
Error margin for really sucking.
Get groove data.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return value:
Groove data table.
Get landing spot on Tarawa and others.
Get the lead flight group of a flight group.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.FlightGroup flight
Flight group to check.
Return value:
Flight group of the leader or flight itself if no other leader.
Get marshal altitude and two positions of a counter-clockwise race track pattern.
Defined in:
AIRBOSS
Parameters:
#number stack
Assigned stack number. Counting starts at one, i.e. stack=1 is the first stack.
#number case
Recovery case. Default is self.case.
Return values:
#number:
Holding altitude in meters.
First race track coordinate.
Second race track coordinate.
Get next marshal flight which is ready to enter the landing pattern.
Defined in:
AIRBOSS
Return value:
Marshal flight next in line and ready to enter the pattern. Or nil if no flight is ready.
Get next waypoint of the carrier.
Defined in:
AIRBOSS
Return values:
Format text into SRS friendly string
Defined in:
AIRBOSS
Parameter:
#string text
Return value:
#string:
text
Get onboard number of player or client.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP group
Aircraft group.
Return value:
#string:
Onboard number as string.
Get onboard numbers of all units in a group.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Aircraft group.
#boolean playeronly
If true, return the onboard number for player or client skill units.
Return value:
#table:
Table of onboard numbers.
Get optimal landing position of the aircraft.
Usually between second and third wire. In case of Tarawa, Canberrra, Juan Carlos and America we take the abeam landing spot 120 ft above and 21 ft abeam the 7.5 position, for the Juan Carlos I, HMS Invincible, and HMS Hermes and Invincible it is 120 ft above and 21 ft abeam the 5 position. For CASE III it is 120ft directly above the landing spot.
Get player data from group object.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP group
Group in question.
Return value:
Player data or nil if not player with this name or unit exists.
Get player data from unit object
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Unit in question.
Return value:
Player data or nil if not player with this name or unit exists.
Returns the unit of a player and the player name from the self.players table if it exists.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of the player unit.
Return values:
Returns the unit of a player and the player name.
If the unit does not belong to a player, nil is returned.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of the player unit.
Return values:
Get number of groups and units in queue, which are alive and airborne.
In units we count the section members as well.
Defined in:
AIRBOSS
Parameters:
#table queue
The queue. Can be self.flights, self.Qmarshal or self.Qpattern.
#number case
(Optional) Only count flights, which are in a specific recovery case. Note that you can use case=23 for flights that are either in Case II or III. By default all groups/units regardless of case are counted.
Return values:
#number:
Total number of flight groups in queue.
#number:
Total number of aircraft in queue since each flight group can contain multiple aircraft.
Get unit from which we want to transmit a radio message.
This has to be an aircraft for subtitles to work.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.Radio radio
Airboss radio data.
Return value:
Sending aircraft unit or nil if was not setup, is not an aircraft or is not alive.
Get relative heading of player wrt carrier.
This is the angle between the direction/orientation vector of the carrier and the direction/orientation vector of the provided unit. Note that this is calculated in the X-Z plane, i.e. the altitude Y is not taken into account.
Defined in:
AIRBOSS
Parameters:
Wrapper.Unit#UNIT unit
Player unit.
#boolean runway
(Optional) If true, return relative heading of unit wrt to angled runway of the carrier.
Return value:
#number:
Relative heading in degrees. An angle of 0 means, unit fly parallel to carrier. An angle of + or - 90 degrees means, unit flies perpendicular to carrier.
Get relative velocity of player unit wrt to carrier
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Player unit.
Return value:
#number:
Relative velocity in m/s.
Get static weather of this mission from env.mission.weather.
Defined in:
AIRBOSS
Parameters:
#table Clouds
table which has entries "thickness", "density", "base", "iprecptns".
#number Visibility
distance in meters.
#table Fog
table, which has entries "thickness", "visibility" or nil if fog is disabled in the mission.
#number Dust
density or nil if dust is disabled in the mission.
Get "stern" coordinate.
Get time in the groove of player.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data.
Return value:
#number:
Player's time in groove in seconds.
Get unit masses especially fuel from DCS descriptor values.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
The unit for which the mass is determined.
Return values:
#number:
Mass of fuel in kg.
#number:
Empty weight of unit in kg.
#number:
Max weight of unit in kg.
#number:
Max cargo weight in kg.
Get wire from landing position.
Defined in:
AIRBOSS
Parameters:
Core.Point#COORDINATE Lcoord
Landing position.
#number dc
Distance correction. Shift the landing coord back if dc>0 and forward if dc<0.
Return value:
#number:
Trapped wire (1-4) or 99 if no wire was trapped.
Get wire from draw argument.
Defined in:
AIRBOSS
Parameter:
Core.Point#COORDINATE Lcoord
Landing position.
Return value:
#number:
Trapped wire (1-4) or 99 if no wire was trapped.
Allow for Clear to land call from LSO approaching abeam the landing spot if stable as per NATOPS 00-80T
Get arc in zone with radius 1 NM and DME 14 NM from the carrier.
Radial depends on recovery case.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Return value:
Arc in zone.
Get arc out zone with radius 1 NM and DME 12 NM from the carrier.
Radial depends on recovery case.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Return value:
Arc in zone.
Get Bullseye zone with radius 1 NM and DME 3 NM from the carrier.
Radial depends on recovery case.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Return value:
Arc in zone.
Get zone of carrier.
Carrier is approximated as rectangle.
Get zone where player are automatically commence when enter.
Defined in:
AIRBOSS
Parameters:
#number case
Recovery case.
#number stack
Stack for Case II/III as we commence from stack>=1.
Return value:
Holding zone.
Get approach corridor zone.
Shape depends on recovery case.
Defined in:
AIRBOSS
Parameters:
#number case
Recovery case.
#number l
Length of the zone in NM. Default 31 (=21+10) NM.
Return value:
Box zone.
Get dirty up zone with radius 1 NM and DME 9 NM from the carrier.
Radial depends on recovery case.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Return value:
Dirty up zone.
Get groove zone.
Defined in:
AIRBOSS
Parameters:
#number l
Length of the groove in NM. Default 1.5 NM.
#number w
Width of the groove in NM. Default 0.25 NM.
#number b
Width of the beginning in NM. Default 0.10 NM.
Return value:
Groove zone.
Get holding zone of player.
Defined in:
AIRBOSS
Parameters:
#number case
Recovery case.
#number stack
Marshal stack number.
Return value:
Holding zone.
Get Initial zone for Case I or II.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery Case.
Return value:
Initial zone.
Get zone of the primary landing spot of the USS Tarawa.
Get lineup groove zone.
Get platform zone with radius 1 NM and DME 19 NM from the carrier.
Radial depends on recovery case.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Return value:
Circular platform zone.
Get zone of landing runway.
Get glide slope of aircraft unit.
Defined in:
AIRBOSS
Parameters:
Wrapper.Unit#UNIT unit
Aircraft unit.
#number optangle
(Optional) Return glide slope relative to this angle, i.e. the error from the optimal glide slope ~3.5 degrees.
Return value:
#number:
Glide slope angle in degrees measured from the deck of the carrier and third wire.
Get glide slope of aircraft unit.
Defined in:
AIRBOSS
Parameters:
Wrapper.Unit#UNIT unit
Aircraft unit.
#number optangle
(Optional) Return glide slope relative to this angle, i.e. the error from the optimal glide slope ~3.5 degrees.
Return value:
#number:
Glide slope angle in degrees measured from the deck of the carrier and third wire.
In the groove.
Holding.
Check if a group is in a queue.
Defined in:
AIRBOSS
Parameters:
#table queue
The queue to check.
Wrapper.Group#GROUP group
The group to be checked.
Return value:
#boolean:
If true, group is in the queue. False otherwise.
Initialize player data by (re-)setting parmeters to initial values.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string step
(Optional) New player step. Default UNDEFINED.
Return value:
Initialized player data.
Initialize Mission Editor waypoints.
Start pattern when player enters the initial zone in case I/II recoveries.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return value:
#boolean:
True if player is in the initial zone.
Check if aircraft is capable of landing on this aircraft carrier.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Aircraft unit. (Will also work with groups as given parameter.)
Return value:
#boolean:
If true, aircraft can land on a carrier.
Checks if a group has a human player.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP group
Aircraft group.
Return value:
#boolean:
If true, human player inside group.
Checks if a human player sits in the unit.
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
Aircraft unit.
Return value:
#boolean:
If true, human player inside the unit.
Check if text is an onboard number of a flight.
Defined in:
AIRBOSS
Parameter:
#string text
Text to check.
Return value:
#boolean:
If true, text is an onboard number of a flight.
AI aircraft calls the ball.
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
#string nickname
Aircraft nickname.
#number fuelstate
Aircraft fuel state in thouthands of pounds.
LSO radio check.
Will broadcase LSO message at given LSO frequency.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
LSO advice radio call.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number glideslopeError
Error in degrees.
#number lineupError
Error in degrees.
Grade approach.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.PlayerData playerData
Player data table.
Return values:
#string:
LSO grade, i.g. OK, OK, (OK), --, etc.
#number:
Points.
#string:
LSO analysis of flight path.
Tell AI to land on the carrier.
Get line up of player wrt to carrier.
Defined in:
AIRBOSS
Parameters:
Wrapper.Unit#UNIT unit
Aircraft unit.
#boolean runway
If true, include angled runway.
Return value:
#number:
Line up with runway heading in degrees. 0 degrees = perfect line up. +1 too far left. -1 too far right.
Mark CASE I or II/II zones by either smoke or flares.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name of the player unit.
#boolean flare
If true, flare the zone. If false, smoke the zone.
Mark current marshal zone of player by either smoke or flares.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name of the player unit.
#boolean flare
If true, flare the zone. If false, smoke the zone.
Command AI flight to orbit at a specified position at a specified altitude with a specified speed.
If flight is not in the Marshal queue yet, it is added. This fixes the recovery case. If the flight is not already holding in the Marshal stack, it is guided there first.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
Flight group.
#number nstack
Stack number of group. Can also be the current stack if AI position needs to be updated wrt to changed carrier position.
#boolean respawn
If true, respawn the flight otherwise update mission task with new waypoints.
Compile a radio call when Marshal tells a flight the holding altitude.
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
#number case
Recovery case.
#number brc
Base recovery course.
#number altitude
Holding altitude.
#string charlie
Charlie Time estimate.
#number qfe
Alitmeter inHg.
Compile a radio call when Marshal tells a flight the holding altitude.
Defined in:
AIRBOSS
Parameter:
#number hdg
Heading in degrees.
Inform flight that he is cleared for recovery.
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
#number case
Recovery case.
AI is bingo and goes to the divert field.
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
#string divertname
Name of the divert field.
AI is bingo and goes to the recovery tanker.
Defined in:
AIRBOSS
Parameter:
#string modex
Tail number.
Inform everyone about new final bearing.
Defined in:
AIRBOSS
Parameter:
#number FB
Final Bearing in degrees.
Inform everyone that recovery is paused and will resume at a certain time.
Defined in:
AIRBOSS
Parameter:
#string clock
Time.
Inform everyone that recovery is paused and will resume at a certain time.
Defined in:
AIRBOSS
Compile a radio call when Marshal tells a flight the holding altitude.
Defined in:
AIRBOSS
Parameter:
case
Inform everyone that recovery ops are stopped and deck is closed.
Defined in:
AIRBOSS
Parameter:
#number case
Recovery case.
Inform everyone that recovery is resumed after pause.
Defined in:
AIRBOSS
Compile a radio call when Marshal tells a flight the holding altitude.
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
#number nwaiting
Number of flights already waiting.
Orbit at a specified position at a specified altitude with a specified speed.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#number stack
The Marshal stack the player gets.
Marshal radio check.
Will broadcase Marshal message at given Marshal frequency.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Aircraft request marshal (Inbound call both for players and AI).
Defined in:
AIRBOSS
Parameters:
#string modex
Tail number.
unit
Return value:
Unit of player or nil.
Check if a call needs a subtitle because the complete voice overs are not available.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
Return value:
#boolean:
If true, call needs a subtitle.
Initialize player data after birth event of player unit.
Defined in:
AIRBOSS
Parameter:
#string unitname
Name of the player unit.
Return value:
Player data.
Generate a new radio call (deepcopy) from an existing default call.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.RadioCall call
Radio call to be enhanced.
#string sender
Sender of the message. Default is the radio alias.
#string subtitle
Subtitle of the message. Default from original radio call. Use "" for no subtitle.
#number subduration
Time in seconds the subtitle is displayed. Default 10 seconds.
#string modexreceiver
Onboard number of the receiver or nil.
#string modexsender
Onboard number of the sender or nil.
At the Ninety.
Convert a number (as string) into a radio message.
E.g. for board number or headings.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.Radio radio
Radio used for transmission.
#string number
Number string, e.g. "032" or "183".
#number delay
Delay before transmission in seconds.
#number interval
Interval between the next call.
#boolean pilotcall
If true, use pilot sound files.
Return value:
#number:
Duration of the call in seconds.
Convert a number (as string) into an outsound and play it to a player group.
E.g. for board number or headings.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string sender
Who is sending the call, either "LSO" or "MARSHAL".
#string number
Number string, e.g. "032" or "183".
#number delay
Delay before transmission in seconds.
Return value:
#number:
Duration of the call in seconds.
Function called when a group is passing a waypoint.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Group that passed the waypoint
#AIRBOSS airboss
Airboss object.
#number i
Waypoint number that has been reached.
#number final
Final waypoint number.
Patrol carrier.
Platform at 5k ft for case II/III recoveries.
Descent at 2000 ft/min.
Display hint to player.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number delay
Delay before playing sound messages. Default 0 sec.
#boolean soundoff
If true, don't play and sound hint.
Airboss event handler for event player leave unit.
Defined in:
AIRBOSS
Parameter:
Core.Event#EVENTDATA EventData
function AIRBOSS:OnEventPlayerLeaveUnit(EventData)
Print holding queue.
Defined in:
AIRBOSS
Parameters:
#table queue
Queue to print.
#string name
Queue name.
Get full file name for radio call.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
#boolean loud
Use loud version of file if available.
#string channel
Radio channel alias "LSO" or "LSOCall", "MARSHAL" or "MarshalCall".
Return value:
#string:
The file name of the radio sound.
Create radio subtitle from radio call.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.Radio radio
The radio used for transmission.
#AIRBOSS.RadioCall call
Radio sound files and subtitles.
#boolean loud
If true, append "!" else ".".
Return value:
#string:
Subtitle to be displayed.
Function called when a group has reached the holding zone.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Group that reached the holding zone.
#AIRBOSS airboss
Airboss object.
#AIRBOSS.FlightGroup flight
Flight group that has reached the holding zone.
Sets flag recovered=true for a flight element, which was successfully recovered (landed).
Defined in:
AIRBOSS
Parameter:
Wrapper.Unit#UNIT unit
The aircraft unit that was recovered.
Return value:
Flight group of element.
Tell AI to refuel.
Either at the recovery tanker or at the nearest divert airfield.
Remove dead flight groups from all queues.
Defined in:
AIRBOSS
Parameter:
Wrapper.Group#GROUP group
Aircraft group.
Return value:
Flight group.
Remove a flight from Marshal, Pattern and Waiting queues.
If flight is in Marhal queue, the above stack is collapsed. Also set player step to undefined if applicable or remove human flight if option completely is true.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData flight
The flight to be removed.
#boolean completely
If true, also remove human flight from all flights table.
Get element in flight.
Defined in:
AIRBOSS
Parameter:
#string unitname
Name of the unit.
Return value:
#boolean:
If true, element could be removed or nil otherwise.
Remove a flight group from the Marshal queue.
Marshal stack is collapsed, too, if flight was in the queue. Waiting flights are send to marshal.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
Flight group that will be removed from queue.
#boolean nopattern
If true, flight is NOT going to landing pattern.
Return values:
#boolean:
True, flight was removed or false otherwise.
#number:
Table index of the flight in the Marshal queue.
Remove a flight group from a queue.
Defined in:
AIRBOSS
Parameters:
#table queue
The queue from which the group will be removed.
#AIRBOSS.FlightGroup flight
Flight group that will be removed from queue.
Return values:
#boolean:
True, flight was in Queue and removed. False otherwise.
#number:
Table index of removed queue element or nil.
Remove a flight, which is a member of a section, from this section.
Defined in:
AIRBOSS
Parameter:
#AIRBOSS.FlightGroup flight
The flight to be removed from the section
Remove a member from the player's section.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player
#AIRBOSS.PlayerData sectionmember
The section member to be removed.
Return value:
#boolean:
If true, flight was a section member and could be removed. False otherwise.
Remove a unit and its element from a flight group (e.g.
when landed) and update all queues if the whole flight group is gone.
Request to commence landing approach.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Request emergency landing.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Request marshal.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Player requests refueling.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of the player unit.
Request spinning.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Reset player status.
Player is removed from all queues and its status is set to undefined.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Carrier Strike Group resumes the route of the waypoints defined in the mission editor.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Carrier Strike Group that passed the waypoint.
#AIRBOSS airboss
Airboss object.
Core.Point#COORDINATE gotocoord
Go to coordinate before route is resumed.
Save trapsheet data.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#AIRBOSS.LSOgrade grade
LSO grad data.
Set difficulty level.
Defined in:
AIRBOSS
Parameters:
#string _unitname
Name of the player unit.
#AIRBOSS.Difficulty difficulty
Difficulty level.
Turn player's aircraft attitude display on or off.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Set player step.
Any warning is erased and next step hint shown.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string step
Next step.
#number delay
(Optional) Set set after a delay in seconds.
Set all flights within 100 meters to be part of my section.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name of the player unit.
Set time in the groove for player.
Skipper set recovery offset angle.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name fo the player unit.
#number offset
Recovery holding offset angle in degrees for Case II/III.
Skipper set recovery speed.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name fo the player unit.
#number speed
Recovery speed in knots.
Skipper set recovery time.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name fo the player unit.
#number time
Recovery time in minutes.
Skipper set recovery speed.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Reset player status.
Player is removed from all queues and its status is set to undefined.
Defined in:
AIRBOSS
Parameters:
#string _unitName
Name fo the player unit.
#number case
Recovery case.
Skipper Stop recovery function.
Defined in:
AIRBOSS
Parameter:
#string _unitName
Name fo the player unit.
Evaluate player's speed.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data table.
#number speedopt
Optimal speed in m/s.
Return values:
Spinning
Check AI status.
Pattern queue AI in the groove? Marshal queue AI arrived in holding zone?
Defined in:
AIRBOSS
Display hint for flight students about the (next) step.
Message is displayed after one second.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.PlayerData playerData
Player data.
#string step
Step for which hint is given.
Turn radio subtitles of player on or off.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Function called when a group should be send to the Marshal stack.
If stack is full, it is send to wait.
Defined in:
AIRBOSS
Parameters:
Wrapper.Group#GROUP group
Group that reached the holding zone.
#AIRBOSS airboss
Airboss object.
#AIRBOSS.FlightGroup flight
Flight group that has reached the holding zone.
Generate a text if a player is too far from where he should be.
Defined in:
AIRBOSS
Parameters:
#number X
X distance player to carrier.
#number Z
Z distance player to carrier.
#AIRBOSS.Checkpoint posData
Checkpoint data.
Trapped?
Check if in air or not after landing event.
Turn radio subtitles of player on or off.
Defined in:
AIRBOSS
Parameter:
#string _unitname
Name of the player unit.
Update section if a flight is removed.
If removed flight is member of a section, he is removed for the leaders section. If removed flight is the section lead, we try to find a new leader.
Command AI flight to orbit outside the 10 NM zone and wait for a free Marshal stack.
If the flight is not already holding in the Marshal stack, it is guided there first.
Defined in:
AIRBOSS
Parameters:
#AIRBOSS.FlightGroup flight
Flight group.
#boolean respawn
If true respawn the group. Otherwise reset the mission task with new waypoints.
Tell player to wait outside the 10 NM zone until a Marshal stack is available.
Waiting outside 10 NM zone for free Marshal stack.
At the Wake.
Triggers the FSM delayed event "Idle" that puts the carrier into state "Idle" where no recoveries are carried out.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds.
Triggers the FSM event "LSOGrade".
Delayed called when the LSO grades a player.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#AIRBOSS.PlayerData playerData
Player Data.
#AIRBOSS.LSOgrade grade
LSO grade.
Triggers the FSM delayed event "Load" that loads the player scores from a file.
AIRBOSS FSM must not be started at this point.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#string path
Path where the file is located. Default is the DCS installation root directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
(Optional) File name. Default is AIRBOSS-ALIAS_LSOgrades.csv.
Triggers the FSM event "Marshal".
Delayed call when a flight is send to the Marshal stack.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#AIRBOSS.FlightGroup flight
The flight group data.
Triggers the FSM delayed event "PassingWaypoint".
Called when the carrier passes a waypoint.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#number Case
Recovery case (1, 2 or 3) that is started.
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
Triggers the delayed FSM event "RecoveryCase" that sets the used aircraft recovery case.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#number Case
The new recovery case (1, 2 or 3).
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
Triggers the FSM delayed event "RecoveryPause" that pauses the recovery of aircraft.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#number duration
Duration of pause in seconds. After that recovery is automatically resumed.
Triggers the FSM delayed event "RecoveryStart" that starts the recovery of aircraft.
Marshalling aircraft are send to the landing pattern.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#number Case
Recovery case (1, 2 or 3) that is started.
#number Offset
Holding pattern offset angle in degrees for CASE II/III recoveries.
Triggers the FSM delayed event "RecoveryStop" that stops the recovery of aircraft.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds.
Triggers the FSM delayed event "RecoveryUnpause" that resumes the recovery of aircraft if it was paused.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds.
Triggers the FSM delayed event "Save" that saved the player scores to a file.
Defined in:
AIRBOSS
Parameters:
#number delay
Delay in seconds.
#string path
Path where the file is saved. Default is the DCS installation root directory or your "Saved Games\DCS" folder if lfs was desanitized.
#string filename
(Optional) File name. Default is AIRBOSS-ALIAS_LSOgrades.csv.
Triggers the FSM event "Start" that starts the airboss after a delay.
Initializes parameters and starts event handlers.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds.
Triggers the FSM event "Stop" that stops the airboss after a delay.
Event handlers are stopped.
Defined in:
AIRBOSS
Parameter:
#number delay
Delay in seconds.
On after "Idle" event.
Carrier goes to state "Idle".
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
On after "LSOGrade" event.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#AIRBOSS.PlayerData playerData
Player Data.
#AIRBOSS.LSOgrade grade
LSO grade.
On after "Load" event.
Loads grades of all players from file.
Defined in:
AIRBOSS
Parameters:
#string From
From state.
#string Event
Event.
#string To
To state.
#string path
Path where the file is loaded from. Default is the DCS root installation folder or your "Saved Games\DCS" folder if lfs was desanizied.
#string filename
(Optional) File name for saving the player grades. Default is "AIRBOSS-