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.

Example Of An Aircraft On A Firefighting Activity

 

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 a COPILOT node. See here for more information.
  • The aircraft will need to have the ApronWithoutCovers.flt file (as explained below).
  • 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 the point.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 the ASOBO_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, a reference_points.cfg will be needed to set the position and direction of the doors, which can be done very easily using The Edition Gizmo:
    Positioning The Door Reference Points In The SimulationThis file needs the same number of reference points as defined doors, and the Name parameter of each point must be pos_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, so pos_door_1 references Door.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 the ASOBO_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:

Example Of Firefighting Aircraft Controls

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 &gt; (A:LIQUID DROPPING DOOR OPEN VALUE:0, Percent over 100) 0 &gt; 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 &gt; (A:LIQUID DROPPING DOOR OPEN VALUE:0, Percent over 100) 0 &gt; 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 the reference_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 the doorIndex 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 and LIQUID DROPPING DOOR OPEN VALUE), which should match the door index given to the doorIndex parameter.

 

 

FLT Files

When a user starts a firefighting activity they will not be going through the usual Preflight checks, and so they will need to have an ApronWithoutCovers.flt file in the aircraft preset for the activity instead of the Apron.flt. This file should be set up like a regular apron FLT file, however you should ensure that the following parameters and sections are setup correctly: