5094 Commits

Author SHA1 Message Date
MetalStormGhost
85db8c908e Restored compatibility of the Pretense generator after the timedelta -> datetime change and other changes caused by the Liberation merge/sync. 2024-02-25 12:40:42 +02:00
MetalStormGhost
b6449a7056 In the event of too many channel users, fail gracefully by reusing a random channel instead of always the previous one. 2024-02-25 12:40:42 +02:00
MetalStormGhost
91a9a9b88f Moved SAM site presets from presets.defenses.sam to presets.defenses.red/blue 2024-02-25 12:40:42 +02:00
Raffson
b36215b808 Fix errors due to LaserCodeRegistry move 2024-02-25 12:40:41 +02:00
MetalStormGhost
ced7aa4d72 Implemented generating amphibious units for Pretense unit groups. Amphibious units are selected out of a pre-defined list. Units which the faction has access to are preferred, but certain default unit types are selected as a fall-back to ensure that all the generated units can swim. 2024-02-25 12:40:41 +02:00
MetalStormGhost
08930f4a9a Added new icons and a separate button which will point to the Pretense/Foothold Discord. 2024-02-25 12:39:48 +02:00
MetalStormGhost
921b1ee9fd Fixed a bug in SHORAD and SAM generation. 2024-02-25 12:39:47 +02:00
MetalStormGhost
713cd98d10 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-25 12:39:47 +02:00
MetalStormGhost
cf9cc9ba33 Fixed a bug in generate_pretense_zone_connection(). 2024-02-25 12:39:47 +02:00
MetalStormGhost
39c80cb974 Implemented a list of units which will be removed from Pretense ground assault groups due to pathfinding problems. The units will just remain still instead of advancing. Also added one tank to each group and increased the maximum size of the groups to 5. Removed artillery units from the groups, similarly due to pathfinding problems. 2024-02-25 12:39:47 +02:00
MetalStormGhost
cf9538f7df Implemented spawning of ship statics/units at naval control points instead of land structures or SHORAD sites. 2024-02-25 12:39:46 +02:00
MetalStormGhost
3d15505347 Implemented a static method for creating the Pretense zone connections and to avoid duplicate connections. 2024-02-25 12:39:46 +02:00
MetalStormGhost
11a0713e50 Pretense SEAD missions will now also target AAA. Also incorporates the fix to fullBuild():
Dzsekeb — 03/09/2023 11:50
add the highlighted line to the fullbuild function
https://discord.com/channels/959044877470027848/1031459721313517578/1147815809075392604
2024-02-25 12:39:46 +02:00
MetalStormGhost
dd0217a220 Pretense SEAD flights will use the SEAD Sweep loadout, when available. 2024-02-25 12:39:45 +02:00
MetalStormGhost
d870099f41 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-25 12:39:45 +02:00
MetalStormGhost
c6a8673b5e Added missing generation of AI BAI flights. Player flight groups are now generated as single-ship groups to support the Pretense missions for all players. Moved repetitive code in PretenseFlightGroupSpawner to insert_into_pretense() method. Disabled spawning of air assault statics by PretenseFlightGroupConfigurator since they are unnecessary in Pretense. 2024-02-25 12:39:45 +02:00
MetalStormGhost
cc3bef7937 Copied flightgroupconfigurator.py as a template/inheritance for generating Pretense campaigns from Retribution campaigns. 2024-02-25 12:39:44 +02:00
MetalStormGhost
0bdb989a2c Aircraft squadrons are now products of the Hangar, instead of the air defence Command Center. 2024-02-25 12:39:44 +02:00
MetalStormGhost
765c85b639 Now generates one transport helicopter squadron for each control point which can operate one. Also implemented generating several Pretense cargo plane squadrons, defined by PRETENSE_AI_CARGO_PLANES_PER_SIDE. Cleaned up PretenseMissionGenerator.generate_air_units() a bit. 2024-02-25 12:39:44 +02:00
Raffson
7b9ddb1ece Formatting 2024-02-25 12:39:44 +02:00
MetalStormGhost
5fa7757ae1 Fixed not all generated flights getting inserted into Pretense data structures. 2024-02-25 12:39:43 +02:00
MetalStormGhost
064d17aab0 Improved the typing of game.pretense_air 2024-02-25 12:39:43 +02:00
MetalStormGhost
47ee0e5340 Added naval units (supply/cargo/landing ships) to Pretense scripts. 2024-02-25 12:39:43 +02:00
MetalStormGhost
6fd60d150e Raise NoParkingSlotError instead of RuntimeError when running out of ground spawns. 2024-02-25 12:39:43 +02:00
MetalStormGhost
946d578ffb Implemented generating player slots in the Pretense campaign. 2024-02-25 12:39:42 +02:00
MetalStormGhost
95bac8ec17 Run aircraft_generator.generate_packages() only once per ATO, instead of multiple times. Fixed the duplicated flights issue. 2024-02-25 12:39:42 +02:00
MetalStormGhost
91cfff58d9 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-25 12:39:42 +02:00
MetalStormGhost
585b3e74a0 Implemented a separate generate_packages() method in PretenseAircraftGenerator to prevent generating the same ATO multiple times over. 2024-02-25 12:39:41 +02:00
Raffson
4ff31ea86d Blast through errors 2024-02-25 12:39:41 +02:00
Raffson
231a8609a1 imports 2024-02-25 12:39:41 +02:00
MetalStormGhost
a6104968e8 Don't spawn flights for the other squadron in generate_pretense_aircraft(). 2024-02-25 12:39:40 +02:00
MetalStormGhost
77060031da Cleaned up some code. 2024-02-25 12:39:40 +02:00
MetalStormGhost
51a4b6603d Now generates air units for both sides at airfields. 2024-02-25 12:39:40 +02:00
MetalStormGhost
4e4eeff9ec 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-25 12:39:39 +02:00
MetalStormGhost
4b092e0763 Fixed FlightType.AEWC and FlightType.REFUELING handling in generate_pretense_aircraft(). 2024-02-25 12:39:39 +02:00
MetalStormGhost
aa641e1ff6 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-25 12:39:39 +02:00
MetalStormGhost
d0ff363bb5 Now splits the generated Pretense group role properly in create_vehicle_group(). 2024-02-25 12:39:39 +02:00
MetalStormGhost
a97b3fee99 Will now dynamically generate offmapZones for supply cargo aircraft. 2024-02-25 12:39:38 +02:00
MetalStormGhost
51462673a2 Cleaned up pretense/pretenseaircraftgenerator.py
Moved a lot of logic into proper methods and added comments for all of those methods.
2024-02-25 12:39:38 +02:00
MetalStormGhost
3c139d8038 Fixed conflicting types for cp in generate_mid_mission(). 2024-02-25 12:39:38 +02:00
MetalStormGhost
b99a719d1c 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-25 12:39:38 +02:00
MetalStormGhost
992beb5f45 Fixed a type assignment in pretensecargo.py 2024-02-25 12:39:37 +02:00
MetalStormGhost
ae13a422c3 Calling the constructor of MissionGenerator in PretenseMissionGenerator in unnecessary, so leaving it out. 2024-02-25 12:39:37 +02:00
MetalStormGhost
0b8fa9099c Disabled the base Retribution plugin in pretenseluagenerator.py and disabled adding zones for OffMapSpawns. 2024-02-25 12:39:37 +02:00
MetalStormGhost
13e7e976c3 Now connects more isolated zones in Pretense. 2024-02-25 12:39:36 +02:00
MetalStormGhost
529841bfe4 Add CJTF factions to the coalitions in Pretense, if they're not being used in the Retribution campaign. 2024-02-25 12:39:36 +02:00
MetalStormGhost
c0e26b3b7f Fixed Pretense ground unit group id/name handling. 2024-02-25 12:39:36 +02:00
MetalStormGhost
a869c2a758 Also connect carrier and LHA control points to adjacent friendly points in Pretense. Enlarged the carrier trigger zones. 2024-02-25 12:39:35 +02:00
MetalStormGhost
60fde46249 Split the init_body.lua script in two parts to facilitate dynamic JTAC spawning. 2024-02-25 12:39:35 +02:00
MetalStormGhost
27b1c92815 PretenseFlightGroupSpawner method for spawning mid-mission flights and setting the appropriate Pretense names to them. 2024-02-25 12:39:35 +02:00