36 Commits

Author SHA1 Message Date
MetalStormGhost
0a7b885626 Now will not call CarrierMap:new() when game.settings.pretense_controllable_carrier is disabled. 2024-04-06 20:27:39 +03:00
MetalStormGhost
64b1410de8 Implemented support for player controllable carriers in Pretense campaigns. This functionality can be enabled or disabled in settings, because the controllable carriers in Pretense do not build and deploy AI missions autonomously, so the old functionality is retained.
Added new options in settings:
- Carriers steam into wind
- Navmesh to use for Pretense carrier zones
- Remove ground spawn statics, including invisible FARPs, at airbases.
- Percentage of randomly selected aircraft types (only for generated squadrons)
intended to allow the user to increase aircraft variety.

Will now store the ICLS channel and Link4 frequency in missiondata.py CarrierInfo.

Implemented artillery groups as Pretense garrisons. Artillery groups are spawned by the Artillery Bunker. Will now also ensure that the logistics units spawned as part of Pretense garrisons are actually capable of ammo resupply.

Fixed the Pretense generator generating a bit too many missions per squadron. Ground spawns: Also hot start aircraft which require ground crew support (ground air or chock removal) which might not be available at roadbases. Also, pretensetgogenerator.py will now correctly handle air defence units in ground_unit_of_class(). Added Roland groups in the Pretense generator.
2024-04-06 15:46:11 +03:00
MetalStormGhost
3831f4f309 Added Iron Dome, David's Slinh, NASAMS-B and Rapier sites to Pretense. Fixed the timestamp in the save file name. 2024-02-06 10:59:25 +02:00
MetalStormGhost
59f6a3dcba Will now append the date and time in the Pretense savefile, mitigating risks of missions script errors when trying to load a savefile from a previously generated mission. 2024-02-06 10:59:22 +02:00
MetalStormGhost
09362cade4 Removed a non-functional option from the settings. 2024-02-06 10:59:22 +02:00
MetalStormGhost
85cec06098 Updated the Pretense script to version 1.3.8 - 3 Dec 2023 and MIST to version 4.5.122. 2024-02-06 10:59:21 +02:00
MetalStormGhost
de0802a3c2 Implemented new options in settings:
- Pretense: Extra friendly zone connections - Add connections from each zone to this many closest friendly zones, which don't have an existing supply route defined in the campaign.
- Number of cargo planes per side
- Number of AI SEAD flights per control point / zone
- Number of AI CAS flights per control point / zone
- Number of AI BAI flights per control point / zone
- Number of AI Strike flights per control point / zone
- Number of AI BARCAP flights per control point / zone
- Number of AI aircraft per flight
- Number of player flights per aircraft type at each base
- Number of AI cargo planes per side

Implemented CAS helo mission handling for Pretense. Implemented separate pretense_air_groups container for storing/referencing Flight objects. Tweaked the supply costs of SAM sites and Command centers. Will no longer generate player air starts at roadbases either. Restored the missing DEAD flights to Pretense. Removed spawning of frontline units and moved the JTAC spawning to pretensemissiongenerator.py
2024-02-06 10:59:21 +02:00
MetalStormGhost
595c468ab2 Restored Retribution scripts and triggers to Pretense campaigns. Pretense progress can now be translated back to Retribution. Moved the trigger clearing from pretenseluagenerator.py to pretensemissiongenerator.py
keepActive is now only enabled for airbases and carriers/LHAs, for performance reasons.
2024-02-06 10:59:20 +02:00
MetalStormGhost
4f742b51f7 Moved SAM site presets from presets.defenses.sam to presets.defenses.red/blue 2024-02-06 10:58:43 +02:00
MetalStormGhost
359a579e65 Fixed a bug in SHORAD and SAM generation. 2024-02-06 10:58:42 +02:00
MetalStormGhost
473e70c44b Implemented SAM sites as products of a Command Center at a control point / zone, if the Retribution campaign has the corresponding SAM site there. The SAM site presets are still static, I might make them dynamic in the future. 2024-02-06 10:58:41 +02:00
MetalStormGhost
9be06d9601 Fixed a bug in generate_pretense_zone_connection(). 2024-02-06 10:58:41 +02:00
MetalStormGhost
ffac036266 Implemented spawning of ship statics/units at naval control points instead of land structures or SHORAD sites. 2024-02-06 10:58:40 +02:00
MetalStormGhost
687ae88685 Implemented a static method for creating the Pretense zone connections and to avoid duplicate connections. 2024-02-06 10:58:40 +02:00
MetalStormGhost
d1b8e20fde Replaced the air defence Command Center with a bunker for SHORADs. Will use the Command Center in the future for medium/long range SAMs. 2024-02-06 10:58:39 +02:00
MetalStormGhost
8f883d51d7 Aircraft squadrons are now products of the Hangar, instead of the air defence Command Center. 2024-02-06 10:58:38 +02:00
MetalStormGhost
7653866ddb Improved the typing of game.pretense_air 2024-02-06 10:58:37 +02:00
MetalStormGhost
1e3f6baceb Changed tanker_tacan from "N/A" to 0.0 when the tanker is not compatible with TACAN, in order to avoid mission script errors. 2024-02-06 10:58:36 +02:00
Raffson
a30fb0f368 Blast through errors 2024-02-06 10:58:35 +02:00
MetalStormGhost
bc27dc4621 Cleaned up some code. 2024-02-06 10:58:34 +02:00
MetalStormGhost
94c1455249 Now generates air units for both sides at airfields. 2024-02-06 10:58:34 +02:00
MetalStormGhost
4be122e11a Split the Pretense zone definition generation into separate methods: generate_pretense_zone_land() for land control points and generate_pretense_zone_sea() for carriers/LHAs. 2024-02-06 10:58:34 +02:00
MetalStormGhost
c7ec3283bd Added configuration constants for flights generated for Pretense. Fixed a bug which caused only one squadron per CP to be generated. Will now not generate Pretense cargo flights from Retribution off-map spawns, but instead will generate own air spawn points for them. Added a helper function initialize_pretense_data_structures(). 2024-02-06 10:58:33 +02:00
MetalStormGhost
730b982247 Will now dynamically generate offmapZones for supply cargo aircraft. 2024-02-06 10:58:33 +02:00
MetalStormGhost
19984636e3 Converted closest_friendly_control_points_to from returning a tuple of the two closest control points to returning a list of all in sorted order. 2024-02-06 10:58:32 +02:00
MetalStormGhost
a787cd4f70 Disabled the base Retribution plugin in pretenseluagenerator.py and disabled adding zones for OffMapSpawns. 2024-02-06 10:58:31 +02:00
MetalStormGhost
a975e2c2dc Now connects more isolated zones in Pretense. 2024-02-06 10:58:30 +02:00
MetalStormGhost
5621649f10 Also connect carrier and LHA control points to adjacent friendly points in Pretense. Enlarged the carrier trigger zones. 2024-02-06 10:58:29 +02:00
MetalStormGhost
acf035697f Implemented dynamic outputting of JTAC units to the Pretense init script. 2024-02-06 10:58:28 +02:00
MetalStormGhost
93265040f6 First version of the generated Pretense campaign running in-game. 2024-02-06 10:58:27 +02:00
MetalStormGhost
d517b1cdeb Now clears Retribution triggers when generating a Pretense campaign. 2024-02-06 10:58:27 +02:00
MetalStormGhost
c4effe88ee Implemented adding ground unit groups to pretense data containers. 2024-02-06 10:58:26 +02:00
MetalStormGhost
f7e618bd0f Tanker and AWACS frequency, TACAN and variant handling. 2024-02-06 10:58:26 +02:00
MetalStormGhost
73f7d94bda Dynamically generate Pretense air groups (pretense/pretenseluagenerator.py) 2024-02-06 10:58:26 +02:00
MetalStormGhost
cc713f089a First version of PretenseLuaGenerator, inherited from LuaGenerator 2024-02-06 10:58:25 +02:00
MetalStormGhost
c8f78c1bf4 Copied luagenerator.py as a template/inheritance for generating Pretense campaigns from Retribution campaigns. 2024-02-06 10:58:22 +02:00