Pretense generator - dcs-retribution/dcs-retribution GitHub Wiki

Overview

DCS Retribution is capable of generating a Pretense campaign in addition to the regular campaign missions in its dynamic campaign. Click the Pretense logo with the word "Generate" in the top bar to generate a miz file (pretense_campaign.miz) which has a self-contained Pretense campaign within, generated from the currently running turn on your Retribution campaign. Please note that it can take several minutes to generate the Pretense campaign, especially on heavier Retribution campaigns.

image

Inclusion of the Pretense script as a plugin in Retribution has been done with Dzsekeb's explicit permission and he deserves all credit for that work. Pretense script copyright 2023, 2024 https://github.com/Dzsek

Each Retribution control point is generated as a zone in the Pretense campaign. Zones are connected based on the supply routes and shipping lanes defined in the Retribution campaign configuration. In addition, additional zone connections can be added using the Pretense options in settings.

Dzsekeb has done a lot of balancing work on the campaigns he has released as official Pretense campaigns. This is naturally different compared to the Retribution generated campaigns. The campaigns generated with Retribution will have their balance defined primarily by the Retribution campaign configuration.

Campaign requirements

Please note that not every Retribution campaign will work, and not with all factions. Examples:

  • The campaign needs to have at least one front line for Pretense to work
  • The campaign needs to have at least two control points per side
  • The campaign control point network needs to correspond to a suitable Pretense zone network
    • All Pretense zones need to be connected to the network. Increase the extra zone connections in the settings, if needed.
  • Each campaign control point should have at least one theater ground object group and one building/structure
  • The factions should contain the aircraft classes for all Pretense mission types, otherwise the campaign experience might be sub-par.
    • Example: Pretense supply injections make heavy use of fixed wing transport aircraft, and specifically the An-26 to allow transports to land at smaller airfields too.

Pretense has its own economy when it comes to frontline units, garrisons, buildings and so on. Purchasing frontline units in the Retribution campaign is therefore not necessary, because the Pretense script will control the purchasing of ground units once the campaign has been started in-game. Air defence sites will be placed at those control points / zones which have a site of the relevant type in the Retribution campaign. Example: if Maykop has an SA-11 site in the Retribution campaign, it will have one in the generated Pretense campaign correspondingly.

Missions and squadrons

The Pretense generator will generate AI Pretense missions and also attempt to create the desired number of player flyable slots at each airfield.

  1. For the initial controlling faction at airfields durign the campaign start, the AI flights will be generated based on the campaign yaml and the campaign creation wizard when the Retribution campaign is generated.
  2. Next, the Pretense generator will generate transport squadrons if these missions were not fulfilled by the first step.
  3. Each airfield will also contain both AI and player flights, provided they have enough parking space for it, for the other faction after the airfield has changed hands. These squadrons can naturally not be defined in the campaign yaml, so new squadrons for these flights will be generated using the regular Retribution squadron generation logic (more details here). The Pretense generator will attempt to generate squadrons for all possible Pretense mission types.

If you are running out of parking space at any airfield in the campaign, please be aware that new parking slots can be added by inserting ground spawns in the campaign miz before generating the Retribution campaign (instructions how to do that can be found here). Unfortunately, ground spawns cannot be inserted after the campaign has already started. Dzsekeb makes heavy use of ground spawns in the stock Pretense campaigns for player aircraft, so adding ground spawns to Retribution-generated Pretense campaigns is similarly recommended on airfields with limited parking slots in DCS.

Carriers in Pretense campaigns

Retribution allows for two separate implementations for the player side carrier in the generated Pretense campaign:

  1. Pretense native carrier support (controllable carrier)
  2. Carriers as regular Pretense zones

The implementation can be selected by the user in the campaign settings. OPFOR carriers are always of the latter type.

Pretense native carriers (controllable carriers) are able to move on the campaign map and can be controlled by the player via the F10 communications menu, provided that the player's character in the Pretense campaign has sufficient rank to do so. They will need to be manually resupplied by players, AI resupply missions will not be launched to deliver supplies to them. image

Carriers as regular Pretense zones will be automatically resupplied by AI, but the zones will not move on the campaign map. The carriers can move by steaming into the wind (a separate option in settings), but they cannot be controlled via the F10 communications menu. These carrier zones can be disabled by sinking the fuel tanks and other support structures. You can switch these fuel tanks and support structures for supply ships and tankers by modifying the lua files in the resources\plugins\pretense folder. image

Troubleshooting

Common errors with the generated Pretense campaign include the following:

  • Zone labels are greyed out when viewing the F10 map
  • Inoperative AI units
  • Units incorrectly spawned behind enemy lines
  • Mission list is empty
  • Poor performance when running the mission

These are usually caused by a lua scripting error in the Pretense script. The campaign generated by Retribution likely contains a condition which the official Pretense campaigns do not, and the script therefore does not have handling for that specific condition. These can include, just to name a few, certain preconditions for player SEAD or CSAR missions.

For troubleshooting the exact cause, please look at "SCRIPTING (Main): Mission script error" lines in your dcs.log file (Saved Games\DCS\Logs folder) and pay attention to the line number after the lua filename, followed by a colon (:) character. The line number usually refers to a specific line in the pretense_compiled.lua Pretense script file (resources\plugins\pretense folder).