AERIAL FIREFIGHTING
An advanced career activity available to users in Microsoft Flight Simulator 2024 is that of flying aerial firefighting flights. There are two types of firefighting activities available (for planes only):
-
Initial Attack
On this activity you will face the challenge of maneuvering through columns of dense smoke to reach critical areas of a burning forest mega-fire. -
Extended Attack
With this activity you will be expected to get to the source of a fire before it gets out of control, drop your payload of water to extinguish an area of the fire, and then refill from any nearby bodies of water before returning to battle the flames again.
If you wish your aircraft to be used on these activities you will need a preset that has been appropriately set up as part of the Modular SimObject, as explained below. For more information on the various other career activities and how to prepare your aircraft, please see here:
Aerial Firefighting Constraints
When it comes to setting up planes for the available firefighting activities, there are a few requirements that must be fulfilled (they requirements are identical for both types of activity):
- The plane will need to have setup the
navigation_graph_pilot.cfg
. Note that for the Extended Attack activities, the aircraft must include aCOPILOT
node. See here for more information. - The aircraft will need to have the
ApronWithoutCovers.flt
file (as explained here). - The
object_class
must be "Airplane". - The
operating_status
must be either "in_service" or "experimental". - The aircraft cannot be flagged as military.
- The aircraft cannot be flagged as premium.
- The plane
ui_max_range
must be greater than 1. - The plane should have either wheeled landing gear (but not big-wheels), and/or floats.
- The plane must have at least 1 scoop, 1 tank and 1 door (see the Setting Up The Liquid Dropping System section, below, for more information). There cannot be more than 4 doors, however, and each door must be correctly referenced by a corresponding tank.
- Each door requires a matching reference point as defined in the
reference_points.cfg
. - The Initial Attack activity requires that the water capacity of the plane should be between 1 and 4000 liters. The Extended Attack activity requires that the water capacity of the plane should be greater than 4000 liters. In both cases, this is calculated as the sum of the capacities of all the defined Tanks.
Following these constraints will give the aircraft the FIR_Cabin
type. See here for more information:
Setting Up The Liquid Dropping System
Aerial firefighting requires an aircraft that can pickup, store and then release large quantities of water. For this to happen the aircraft will need to have a correctly set Liquid Dropping System, which is setup in the systems.cfg using The SimObject Editor. Your aircraft will need at least 1 each of the following:
- A
Tank.N
to hold the water that the aircraft will scoop/drop. Tanks can be positioned using The Edition Gizmo in the simulation from the SimObject editor, and once added, they will need to reference the attached scoops and doors. Note that if any of the door indices are incorrect then the aircraft will not be valid for firefighting.
- A
Scoop.N
which will be used to fill up the tank when flying low over a body of water. When creating the scoop parameter, you will need to add a contact point index. This is thepoint.N
index of a contact point of the type "liquid dropping system scoop", and this should be positioned at the approximate point where the scoop opening will be when open. Each scoop will need to be added into one of the defined tank hashmaps. Each scoop will need to be part of a component in the model XML, and you can use theASOBO_Liquid_Dropping_Scoop_Animation_Template
to set them up correctly.
- A
Door.N
for releasing the water from the tank when over a fire. Note that this doesn't have to be literally a "door" - although it can be - but is simply one or more parts of the aircraft where water from the tank can be output. So nozzles, hatches, etc... would all need to be assigned a "door". Since doors do not have a position directly associated with them, areference_points.cfg
will be needed to set the position and direction of the doors, which can be done very easily using The Edition Gizmo:
This file needs the same number of reference points as defined doors, and theName
parameter of each point must bepos_door_N
, where N is the door number + 1 (doors are created with an initial index of 0, but for the reference point CFG the index starts at 1, sopos_door_1
referencesDoor.0
). Each door will also need to be added into one of the defined tank hashmaps. Each door will need to be part of a component in the model XML, and you can use theASOBO_Liquid_Dropping_Door_Animation_Template
to set them up correctly. Note that these reference points are not related to how the VFX will spawn, but are instead required to have an accurate simulation of the water being dropped. VFX is controlled through model behaviors, as explained below.
Once you have the liquid dropping system setup you will then need to create and setup instrumentation in the cockpit to control the system. As an example this is from one of the planes included in the simulation:
How you set it up will depend on the aircraft and systems involved, but you'll need to use the Liquid Dropping System key events, like LIQUID_DROPPING_SYSTEM_DOOR_SET
and LIQUID_DROPPING_SYSTEM_SCOOP_SET
and you'll find the different Interaction Templates useful as well.
VFX Setup
For the aircraft to show the water being dropped you will need to set up the VFX for the aircraft. This is done in the model XML for the part with the doors. In this XML you need to add a component that uses either the ASOBO_ET_FX_WATERDROP_LARGE
template (for bigger aircraft with larger tanks) or the ASOBO_ET_FX_WATERDROP_SMALL
(for aircraft with smaller tanks) template, something like this:
<!-- For Large Tanks-->
<UseTemplate Name="ASOBO_ET_FX_WATERDROP_LARGE">
<FX_NODE>pos_door_1</FX_NODE>
<FX_GRAPH_PARAM_0>doorIndex, 0</FX_GRAPH_PARAM_0>
<FX_CODE>(A:LIQUID DROPPING DOOR FLOW:0, Pounds per hour) 0 > (A:LIQUID DROPPING DOOR OPEN VALUE:0, Percent over 100) 0 > and</FX_CODE>
</UseTemplate>
<!-- For Small Tanks -->
<UseTemplate Name="ASOBO_ET_FX_WATERDROP_SMALL">
<FX_NODE>pos_door_1</FX_NODE>
<FX_GRAPH_PARAM_0>doorIndex, 0</FX_GRAPH_PARAM_0>
<FX_CODE>(A:LIQUID DROPPING DOOR FLOW:0, Pounds per hour) 0 > (A:LIQUID DROPPING DOOR OPEN VALUE:0, Percent over 100) 0 > and</FX_CODE>
</UseTemplate>
In these templates you need to supply the following information:
<FX_NODE>
- This is either the name of the reference point (as defined in thereference_points.cfg
file) associated with the water drop door, or a helper node on the actual model itself where the door is.<FX_GRAPH_PARAM_0>
- Here you give a value to thedoorIndex
parameter. This needs to be the index (not the name) of the water drop door.<FX_CODE>
- The code shown should be copied and used "as is", with the exception of the index given to the two SimVars (LIQUID DROPPING DOOR FLOW
andLIQUID DROPPING DOOR OPEN VALUE
), which should match the door index given to thedoorIndex
parameter.