From 4d4f4d1930330bb167c84891f4924125d853f2ed Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:50:24 +0200 Subject: [PATCH] F-4B/C mod support v2.8.7.204 (#217) * Rename pydcs_extensions/f4/__init__.py (from pydcs_extensions/f4b/__init__.py) Rename pydcs_extensions/f4/f4b.py (from pydcs_extensions/f4b/f4b.py) * Rename pydcs_extensions/f4/f4.py (from pydcs_extensions/f4/f4b.py) * Support for the updated F-4B/C mod Updated the F4.py pydcs extension to match the updated F-4B/C mod and reworked the standard payloads to add "clean" to new F-4B pylons 11 and 12. This includes a workaround to allow Liberation to use the new VSN F-4B weapons with combined 2x Aim-9js on pylons 3 and 9 underslung with bombs on ters on new pylons 11 and 12. In mission editor the combined weapons are selected in pylons 3 and 9 and their under-slung counterparts are forced onto 11 and 12 using "required" arguments in the mod's lua. All other pylon 3 and 9 weapons use "required clean" arguments. Liberation doesn't have a way to force these linkages onto pylons 11 and 12 and without them, even without clean, no weapons will load on 3 and 9 or 11 and 12. The workaround for normal weapons on the F-4B is to set the standard load-outs to "clean" on pylons 11 and 12. This allows all normal weapons to work on pylons 3 and 9 so long as pylons 11 and 12 are left as Clean. It also allows Clean into the Liberation dropdown so it can be selected later if necessary. The workaround for the 4 new weapons that combines pylons 3 with 11 and 9 with 12 is that the user has to use the matching pair on each set of pylons. For example - if F4B_LAU105_AIM9J_2_BRU42A_MK82_3 is selected for pylon 3, BRU 42A MK823 LAU105 AIM9J2 must be selected for pylon 11. Failure to do this correctly doesn't crash liberation or DCS, the result will just be either no weapons at all on either pylon or the underslung weapons on 11 and 12 floating without a pylon attaching it to the plane. When updating f4.py in the future, note that running the pydcs database export doesn't pull any data for Pylons 11 and 12. Those matching weapons / classes have to be manually defined in those pylons for the F-4B. This is noted in f4.py. * F-4 mod support update to 2.8.7.201 * Updated QGeneratorSettings.py and the changelog. * Updated F-4B and F-4C loadouts. * Added the Phantom to some additional factions. * Changelog updated: Updated support for F-4B/C Phantom mod to 2.8.7.204 The pydcs export for the latest patch was identical, which means it's also supported. * Migrator change for renamed F-4B/C folder --------- Co-authored-by: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Co-authored-by: Raffson --- changelog.md | 1 + game/persistency.py | 3 + pydcs_extensions/__init__.py | 2 +- pydcs_extensions/f4/__init__.py | 1 + pydcs_extensions/{f4b/f4b.py => f4/f4.py} | 345 +++++++++++------ pydcs_extensions/f4b/__init__.py | 1 - .../newgame/WizardPages/QGeneratorSettings.py | 5 +- resources/customized_payloads/VSN_F4B.lua | 306 +++++++++++----- resources/customized_payloads/VSN_F4C.lua | 346 +++++++++++++----- resources/factions/iran_1988.json | 1 + resources/factions/spain_1990.json | 1 + resources/factions/uk_1990.json | 1 + resources/factions/usa_1965.json | 2 +- resources/factions/usa_1975.json | 1 + resources/units/aircraft/VSN_F4B.yaml | 1 + 15 files changed, 736 insertions(+), 281 deletions(-) create mode 100644 pydcs_extensions/f4/__init__.py rename pydcs_extensions/{f4b/f4b.py => f4/f4.py} (77%) delete mode 100644 pydcs_extensions/f4b/__init__.py diff --git a/changelog.md b/changelog.md index 6a17822d..ec8a7007 100644 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,7 @@ * **[Options]** Split off the **Automatic AWACS package planning** and **Automatic Theater tanker package planning** settings from **Automatic package planning behavior** so players can choose to have AWACS and theater tankers auto-planned, while managing everything else themselves * **[Modding]** Updated support for Su-30 mod to V2.1.12 beta * **[Modding]** Updated support for Su-57 mod to build-04 +* **[Modding]** Updated support for F-4B/C Phantom mod to 2.8.7.204 * **[Modding]** Updated Community A-4E-C mod version support to 2.2.0 release. * **[Modding]** Added F/A-18E/F Super Hornet AI Tanker mod support (Chiller Juice Studios SuperBug Tanker AI version 1.4) * **[Radios]** Added HF-FM band for AN/ARC-222 diff --git a/game/persistency.py b/game/persistency.py index bc2b05f7..69d610fa 100644 --- a/game/persistency.py +++ b/game/persistency.py @@ -8,6 +8,7 @@ from typing import Optional, TYPE_CHECKING, Any import dcs.terrain.falklands.airports +import pydcs_extensions from game.profiling import logged_duration if TYPE_CHECKING: @@ -59,6 +60,8 @@ class MigrationUnpickler(pickle.Unpickler): return dcs.terrain.falklands.airports.Hipico_Flying_Club if name in ["SaveManager", "SaveGameBundle"]: return DummyObject + if module == "pydcs_extensions.f4b.f4b": + return pydcs_extensions.f4 return super().find_class(module, name) # fmt: on diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index c48e6dd0..692f872f 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -9,7 +9,7 @@ from .f15d import * from .f15i_idf import * from .f16i_idf import * from .f22a import * -from .f4b import * +from .f4 import * from .f84g import * from .fa18efg import * from .fa18ef_tanker import * diff --git a/pydcs_extensions/f4/__init__.py b/pydcs_extensions/f4/__init__.py new file mode 100644 index 00000000..b8b5b9bc --- /dev/null +++ b/pydcs_extensions/f4/__init__.py @@ -0,0 +1 @@ +from .f4 import * diff --git a/pydcs_extensions/f4b/f4b.py b/pydcs_extensions/f4/f4.py similarity index 77% rename from pydcs_extensions/f4b/f4b.py rename to pydcs_extensions/f4/f4.py index a9be9eb7..eed1dfac 100644 --- a/pydcs_extensions/f4b/f4b.py +++ b/pydcs_extensions/f4/f4.py @@ -1,3 +1,5 @@ +from typing import Any, Dict, Set + from dcs import task from dcs.planes import PlaneType from dcs.weapons_data import Weapons @@ -7,35 +9,15 @@ from pydcs_extensions.weapon_injector import inject_weapons class WeaponsF4BC: - F4B_SUU_23_Gun_Pod = { - "clsid": "{VSN_F4B_Gunpod}", - "name": "F4B SUU-23 Gun Pod", - "weight": 112.35, - } F4B_Gunpod_w_SAPHEI_T = { "clsid": "{VSN_F4B_Equalizer}", "name": "F4B Gunpod w/SAPHEI-T", "weight": 244.46, } - VSN_F4EC_PTB = { - "clsid": "VSN_F4EC_PTB", - "name": "Fuel tank 600 Gal", - "weight": 1980, - } - VSN_F4EL_PTB = { - "clsid": "VSN_F4EL_PTB", - "name": "Fuel tank 370 Gal", - "weight": 1240, - } - VSN_F4ER_PTB = { - "clsid": "VSN_F4ER_PTB", - "name": "Fuel tank 370 Gal", - "weight": 1240, - } - VSN_F4B_C2_PTB = { - "clsid": "VSN_F4B_C2_PTB", - "name": "Fuel tank Center 370 Gal", - "weight": 1240, + F4B_SUU_23_Gun_Pod = { + "clsid": "{VSN_F4B_Gunpod}", + "name": "F4B SUU-23 Gun Pod", + "weight": 112.35, } LAU_105_2_AIM_9J = { "clsid": "{VSN_F4B_LAU105_AIM9J}", @@ -47,6 +29,66 @@ class WeaponsF4BC: "name": "LAU-105 2*AIM-9JULI", "weight": 332, } + VSN_F4B_C2_PTB = { + "clsid": "VSN_F4B_C2_PTB", + "name": "Fuel tank Center 370 Gal", + "weight": 1240, + } + VSN_F4EC_PTB = { + "clsid": "VSN_F4EC_PTB", + "name": "Fuel tank Center 600 Gal", + "weight": 1980, + } + VSN_F4EL_PTB = { + "clsid": "VSN_F4EL_PTB", + "name": "Fuel tank Wing L 370 Gal", + "weight": 1240, + } + VSN_F4ER_PTB = { + "clsid": "VSN_F4ER_PTB", + "name": "Fuel tank Wing R 370 Gal", + "weight": 1240, + } + F4B_LAU105_AIM9J_2_BRU42A_M117_3 = { + "clsid": "{F4B_LAU105_AIM9J_2_BRU42A_M117_3}", + "name": "F4B_LAU105_AIM9J_2_BRU42A_M117_3", + "weight": 332, + } + F4B_LAU105_AIM9J_2_BRU42A_MK82_3 = { + "clsid": "{F4B_LAU105_AIM9J_2_BRU42A_MK82_3}", + "name": "F4B_LAU105_AIM9J_2_BRU42A_MK82_3", + "weight": 332, + } + F4B_LAU105_AIM9J_2_MER_MK20_3 = { + "clsid": "{F4B_LAU105_AIM9J_2_MER_MK20_3}", + "name": "F4B_LAU105_AIM9J_2_MER_MK20_3", + "weight": 332, + } + F4B_LAU105_AIM9J_2_TER9A_MK82SE_3 = { + "clsid": "{F4B_LAU105_AIM9J_2_TER9A_MK82SE_3}", + "name": "F4B_LAU105_AIM9J_2_TER9A_MK82SE_3", + "weight": 332, + } + BRU_42A_M117_3_LAU105_AIM9J_2 = { + "clsid": "{F4B_BRU42A_M117_3_LAU105_AIM9J_2}", + "name": "BRU 42A M117*3 LAU105 AIM9J*2", + "weight": 1500, + } + BRU_42A_MK82_3_LAU105_AIM9J_2 = { + "clsid": "{F4B_BRU42A_MK82_3_LAU105_AIM9J_2}", + "name": "BRU 42A MK82*3 LAU105 AIM9J*2", + "weight": 1500, + } + LAU_118a_and_AGM_45A_Shrike___Passive_radar_homing_Anti_Radiation_Missile = { + "clsid": "{F4C_LAU118_AGM45A}", + "name": "LAU-118a and AGM-45A Shrike - Passive radar homing Anti-Radiation-Missile", + "weight": 177, + } + SUU_23A_M61_Gunpod_HE_AP_HE_INV_ = { + "clsid": "{VSN_F4B_Equalizer}", + "name": "SUU-23A M61 Gunpod HE/AP/HE-INV.", + "weight": 744.362, + } inject_weapons(WeaponsF4BC) @@ -67,9 +109,32 @@ class VSN_F4B(PlaneType): chaff_charge_size = 1 flare_charge_size = 1 category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 127.5 + radio_frequency = 264 - livery_name = "VSN_F4B" # from type + panel_radio = { + 1: { + "channels": { + 1: 264, + 2: 265, + 4: 254, + 8: 258, + 16: 267, + 17: 251, + 9: 262, + 18: 253, + 5: 250, + 10: 259, + 11: 268, + 3: 256, + 6: 270, + 12: 269, + 13: 260, + 7: 257, + 14: 263, + 15: 261, + }, + }, + } class Pylon1: Smoke_Generator___red_ = (1, Weapons.Smoke_Generator___red_) @@ -80,15 +145,18 @@ class VSN_F4B(PlaneType): Smoke_Generator___orange_ = (1, Weapons.Smoke_Generator___orange_) class Pylon2: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 2, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (2, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 2, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, ) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 2, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 2, + Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, + ) Mk_84___2000lb_GP_Bomb_LD = (2, Weapons.Mk_84___2000lb_GP_Bomb_LD) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 2, @@ -123,19 +191,10 @@ class VSN_F4B(PlaneType): 2, Weapons.BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD, ) - BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( - 2, - Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, - ) BIN_200 = (2, Weapons.BIN_200) VSN_F4EL_PTB = (2, WeaponsF4BC.VSN_F4EL_PTB) class Pylon3: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 3, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 3, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, @@ -192,6 +251,19 @@ class VSN_F4B(PlaneType): Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) BIN_200 = (3, Weapons.BIN_200) + F4B_LAU105_AIM9J_2_BRU42A_M117_3 = ( + 3, + WeaponsF4BC.F4B_LAU105_AIM9J_2_BRU42A_M117_3, + ) + F4B_LAU105_AIM9J_2_BRU42A_MK82_3 = ( + 3, + WeaponsF4BC.F4B_LAU105_AIM9J_2_BRU42A_MK82_3, + ) + F4B_LAU105_AIM9J_2_TER9A_MK82SE_3 = ( + 3, + WeaponsF4BC.F4B_LAU105_AIM9J_2_TER9A_MK82SE_3, + ) + F4B_LAU105_AIM9J_2_MER_MK20_3 = (3, WeaponsF4BC.F4B_LAU105_AIM9J_2_MER_MK20_3) class Pylon4: AIM_7F_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) @@ -206,6 +278,7 @@ class VSN_F4B(PlaneType): 5, Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar, ) + ALQ_131___ECM_Pod = (5, Weapons.ALQ_131___ECM_Pod) class Pylon6: Smokewinder___red = (6, Weapons.Smokewinder___red) @@ -225,8 +298,10 @@ class VSN_F4B(PlaneType): 6, Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, ) - ALQ_131___ECM_Pod = (6, Weapons.ALQ_131___ECM_Pod) - F4B_Gunpod_w_SAPHEI_T = (6, WeaponsF4BC.F4B_Gunpod_w_SAPHEI_T) + SUU_23A_M61_Gunpod_HE_AP_HE_INV_ = ( + 6, + WeaponsF4BC.SUU_23A_M61_Gunpod_HE_AP_HE_INV_, + ) VSN_F4EC_PTB = (6, WeaponsF4BC.VSN_F4EC_PTB) VSN_F4B_C2_PTB = (6, WeaponsF4BC.VSN_F4B_C2_PTB) @@ -245,11 +320,6 @@ class VSN_F4B(PlaneType): ) class Pylon9: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 9, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (9, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 9, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, @@ -306,21 +376,34 @@ class VSN_F4B(PlaneType): Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) BIN_200 = (9, Weapons.BIN_200) + F4B_LAU105_AIM9J_2_BRU42A_M117_3 = ( + 9, + WeaponsF4BC.F4B_LAU105_AIM9J_2_BRU42A_M117_3, + ) + F4B_LAU105_AIM9J_2_BRU42A_MK82_3 = ( + 9, + WeaponsF4BC.F4B_LAU105_AIM9J_2_BRU42A_MK82_3, + ) + F4B_LAU105_AIM9J_2_TER9A_MK82SE_3 = ( + 9, + WeaponsF4BC.F4B_LAU105_AIM9J_2_TER9A_MK82SE_3, + ) + F4B_LAU105_AIM9J_2_MER_MK20_3 = (9, WeaponsF4BC.F4B_LAU105_AIM9J_2_MER_MK20_3) class Pylon10: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 10, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = ( - 10, - Weapons.GBU_12___500lb_Laser_Guided_Bomb, - ) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 10, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, ) Mk_84___2000lb_GP_Bomb_LD = (10, Weapons.Mk_84___2000lb_GP_Bomb_LD) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 10, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 10, + Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, + ) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 10, Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, @@ -354,14 +437,39 @@ class VSN_F4B(PlaneType): 10, Weapons.BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD, ) - BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( - 10, - Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, - ) BIN_200 = (10, Weapons.BIN_200) VSN_F4ER_PTB = (10, WeaponsF4BC.VSN_F4ER_PTB) - pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + # ERRR + # ERRR + + class Pylon11: + # all added manually - did not pull using database export + BRU42A_M117_3_LAU105_AIM9J_2 = (11, WeaponsF4BC.BRU_42A_M117_3_LAU105_AIM9J_2) + BRU42A_MK82_3_LAU105_AIM9J_2 = (11, WeaponsF4BC.BRU_42A_MK82_3_LAU105_AIM9J_2) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 11, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( + 11, + Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, + ) + + class Pylon12: + # all added manually - did not pull using database export + BRU42A_M117_3_LAU105_AIM9J_2 = (12, WeaponsF4BC.BRU_42A_M117_3_LAU105_AIM9J_2) + BRU42A_MK82_3_LAU105_AIM9J_2 = (12, WeaponsF4BC.BRU_42A_MK82_3_LAU105_AIM9J_2) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 12, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( + 12, + Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, + ) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} tasks = [ task.CAP, @@ -373,6 +481,7 @@ class VSN_F4B(PlaneType): task.CAS, task.AFAC, task.RunwayAttack, + task.PinpointStrike, ] task_default = task.CAP @@ -392,9 +501,32 @@ class VSN_F4C(PlaneType): chaff_charge_size = 1 flare_charge_size = 1 category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 127.5 + radio_frequency = 264 - livery_name = "VSN_F4C" # from type + panel_radio = { + 1: { + "channels": { + 1: 264, + 2: 265, + 4: 254, + 8: 258, + 16: 267, + 17: 251, + 9: 262, + 18: 253, + 5: 250, + 10: 259, + 11: 268, + 3: 256, + 6: 270, + 12: 269, + 13: 260, + 7: 257, + 14: 263, + 15: 261, + }, + }, + } class Pylon1: Smoke_Generator___red_ = (1, Weapons.Smoke_Generator___red_) @@ -405,16 +537,19 @@ class VSN_F4C(PlaneType): Smoke_Generator___orange_ = (1, Weapons.Smoke_Generator___orange_) class Pylon2: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 2, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (2, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 2, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, ) Mk_84___2000lb_GP_Bomb_LD = (2, Weapons.Mk_84___2000lb_GP_Bomb_LD) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 2, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 2, + Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, + ) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 2, Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, @@ -448,19 +583,10 @@ class VSN_F4C(PlaneType): 2, Weapons.BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD, ) - BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( - 2, - Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, - ) BIN_200 = (2, Weapons.BIN_200) VSN_F4EL_PTB = (2, WeaponsF4BC.VSN_F4EL_PTB) class Pylon3: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 3, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 3, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, @@ -470,6 +596,10 @@ class VSN_F4C(PlaneType): Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, ) Mk_84___2000lb_GP_Bomb_LD = (3, Weapons.Mk_84___2000lb_GP_Bomb_LD) + LAU_118A___AGM_45B_Shrike_ARM__Imp_ = ( + 3, + Weapons.LAU_118A___AGM_45B_Shrike_ARM__Imp_, + ) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 3, Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, @@ -498,11 +628,6 @@ class VSN_F4C(PlaneType): ) LAU_105_2_AIM_9J = (3, WeaponsF4BC.LAU_105_2_AIM_9J) LAU_105_2_AIM_9JULI = (3, WeaponsF4BC.LAU_105_2_AIM_9JULI) - AIM_7F_Sparrow_Semi_Active_Radar = (3, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) - AIM_7E_2_Sparrow_Semi_Active_Radar = ( - 3, - Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar, - ) Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( 3, Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, @@ -517,6 +642,10 @@ class VSN_F4C(PlaneType): Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) BIN_200 = (3, Weapons.BIN_200) + LAU_118a_and_AGM_45A_Shrike___Passive_radar_homing_Anti_Radiation_Missile = ( + 3, + WeaponsF4BC.LAU_118a_and_AGM_45A_Shrike___Passive_radar_homing_Anti_Radiation_Missile, + ) class Pylon4: AIM_7F_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) @@ -531,6 +660,7 @@ class VSN_F4C(PlaneType): 5, Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar, ) + ALQ_131___ECM_Pod = (5, Weapons.ALQ_131___ECM_Pod) class Pylon6: Smokewinder___red = (6, Weapons.Smokewinder___red) @@ -550,10 +680,12 @@ class VSN_F4C(PlaneType): 6, Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, ) - ALQ_131___ECM_Pod = (6, Weapons.ALQ_131___ECM_Pod) - F4B_Gunpod_w_SAPHEI_T = (6, WeaponsF4BC.F4B_Gunpod_w_SAPHEI_T) + SUU_23A_M61_Gunpod_HE_AP_HE_INV_ = ( + 6, + WeaponsF4BC.SUU_23A_M61_Gunpod_HE_AP_HE_INV_, + ) VSN_F4EC_PTB = (6, WeaponsF4BC.VSN_F4EC_PTB) - VSN_F4ER_PTB = (6, WeaponsF4BC.VSN_F4ER_PTB) + VSN_F4B_C2_PTB = (6, WeaponsF4BC.VSN_F4B_C2_PTB) class Pylon7: AIM_7F_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) @@ -570,11 +702,6 @@ class VSN_F4C(PlaneType): ) class Pylon9: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 9, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = (9, Weapons.GBU_12___500lb_Laser_Guided_Bomb) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 9, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, @@ -584,6 +711,10 @@ class VSN_F4C(PlaneType): Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, ) Mk_84___2000lb_GP_Bomb_LD = (9, Weapons.Mk_84___2000lb_GP_Bomb_LD) + LAU_118A___AGM_45B_Shrike_ARM__Imp_ = ( + 9, + Weapons.LAU_118A___AGM_45B_Shrike_ARM__Imp_, + ) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 9, Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, @@ -612,11 +743,6 @@ class VSN_F4C(PlaneType): ) LAU_105_2_AIM_9J = (9, WeaponsF4BC.LAU_105_2_AIM_9J) LAU_105_2_AIM_9JULI = (9, WeaponsF4BC.LAU_105_2_AIM_9JULI) - AIM_7F_Sparrow_Semi_Active_Radar = (9, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) - AIM_7E_2_Sparrow_Semi_Active_Radar = ( - 9, - Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar, - ) Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( 9, Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, @@ -631,21 +757,25 @@ class VSN_F4C(PlaneType): Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) BIN_200 = (9, Weapons.BIN_200) + LAU_118a_and_AGM_45A_Shrike___Passive_radar_homing_Anti_Radiation_Missile = ( + 9, + WeaponsF4BC.LAU_118a_and_AGM_45A_Shrike___Passive_radar_homing_Anti_Radiation_Missile, + ) class Pylon10: - GBU_10___2000lb_Laser_Guided_Bomb = ( - 10, - Weapons.GBU_10___2000lb_Laser_Guided_Bomb, - ) - GBU_12___500lb_Laser_Guided_Bomb = ( - 10, - Weapons.GBU_12___500lb_Laser_Guided_Bomb, - ) BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets = ( 10, Weapons.BRU_42_with_3_x_Mk_20_Rockeye___490lbs_CBUs__247_x_HEAT_Bomblets, ) Mk_84___2000lb_GP_Bomb_LD = (10, Weapons.Mk_84___2000lb_GP_Bomb_LD) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 10, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 10, + Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, + ) LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 10, Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, @@ -679,14 +809,13 @@ class VSN_F4C(PlaneType): 10, Weapons.BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD, ) - BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( - 10, - Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, - ) BIN_200 = (10, Weapons.BIN_200) VSN_F4ER_PTB = (10, WeaponsF4BC.VSN_F4ER_PTB) - pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + # ERRR + # ERRR + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} tasks = [ task.CAP, @@ -698,5 +827,7 @@ class VSN_F4C(PlaneType): task.CAS, task.AFAC, task.RunwayAttack, + task.SEAD, + task.PinpointStrike, ] task_default = task.CAP diff --git a/pydcs_extensions/f4b/__init__.py b/pydcs_extensions/f4b/__init__.py deleted file mode 100644 index f8d6cfc7..00000000 --- a/pydcs_extensions/f4b/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .f4b import * diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index 6e39ca21..d35c75e6 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -154,10 +154,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("A-6A Intruder (v2.7.5.01)", self.a6a_intruder), ("A-7E Corsair II", self.a7e_corsair2), ("C-130J-30 Super Hercules", self.hercules), - ( - "F-4B/C Phantom II (v2.8.1.01 Standalone + 29Jan23 Patch)", - self.f4bc_phantom, - ), + ("F-4B/C Phantom II (2.8.7.204)", self.f4bc_phantom), ("F-15D Baz (v1.0)", self.f15d_baz), ("F-15I Ra'am (v1.0 by IDF Mods Project)", self.f_15_idf), ("F-16I Sufa & F-16D (v3.6 by IDF Mods Project)", self.f_16_idf), diff --git a/resources/customized_payloads/VSN_F4B.lua b/resources/customized_payloads/VSN_F4B.lua index 2f30ee23..e789afa3 100644 --- a/resources/customized_payloads/VSN_F4B.lua +++ b/resources/customized_payloads/VSN_F4B.lua @@ -2,6 +2,110 @@ local unitPayloads = { ["name"] = "VSN_F4B", ["payloads"] = { [1] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{F4B_LAU105_AIM9J_2_BRU42A_MK82_3}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{F4B_LAU105_AIM9J_2_BRU42A_MK82_3}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [10] = { + ["CLSID"] = "{F4B_BRU42A_MK82_3_LAU105_AIM9J_2}", + ["num"] = 11, + }, + [11] = { + ["CLSID"] = "{F4B_BRU42A_MK82_3_LAU105_AIM9J_2}", + ["num"] = 12, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{F4B_LAU105_AIM9J_2_MER_MK20_3}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{F4B_LAU105_AIM9J_2_MER_MK20_3}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [10] = { + ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + ["num"] = 11, + }, + [11] = { + ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + ["num"] = 12, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { ["name"] = "CAP", ["pylons"] = { [1] = { @@ -21,161 +125,195 @@ local unitPayloads = { ["num"] = 5, }, [5] = { - ["CLSID"] = "{VSN_F4B_Gunpod}", - ["num"] = 6, - }, - [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 7, }, - [7] = { + [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 8, }, - [8] = { + [7] = { ["CLSID"] = "LAU-105_2*AIM-9L", ["num"] = 9, }, - [9] = { + [8] = { ["CLSID"] = "VSN_F4ER_PTB", ["num"] = 10, }, + [9] = { + ["CLSID"] = "", + ["num"] = 11, + }, + [10] = { + ["CLSID"] = "", + ["num"] = 12, + }, + [11] = { + ["CLSID"] = "{VSN_F4B_Equalizer}", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 18, + [2] = 19, + [3] = 11, + }, + }, + [4] = { + ["name"] = "STRIKE", + ["pylons"] = { + [1] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [10] = { + ["CLSID"] = "", + ["num"] = 11, + }, + [11] = { + ["CLSID"] = "", + ["num"] = 12, + }, }, ["tasks"] = { [1] = 11, }, }, - [2] = { - ["name"] = "STRIKE", + [5] = { + ["name"] = "ANTISHIP", ["pylons"] = { [1] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 2, + ["CLSID"] = "{F4B_LAU105_AIM9J_2_BRU42A_MK82_3}", + ["num"] = 9, }, [2] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", + ["CLSID"] = "{F4B_LAU105_AIM9J_2_BRU42A_MK82_3}", ["num"] = 3, }, [3] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 4, + ["num"] = 5, }, [4] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 5, + ["num"] = 7, }, [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, }, [6] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 7, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, }, [7] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 8, + ["num"] = 4, }, [8] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 9, + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, }, [9] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 10, + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [10] = { + ["CLSID"] = "{F4B_BRU42A_MK82_3_LAU105_AIM9J_2}", + ["num"] = 11, + }, + [11] = { + ["CLSID"] = "{F4B_BRU42A_MK82_3_LAU105_AIM9J_2}", + ["num"] = 12, }, }, ["tasks"] = { - [1] = 32, + [1] = 11, }, }, - [3] = { - ["displayName"] = "Retribution OCA/Runway", - ["name"] = "Retribution OCA/Runway", + [6] = { + ["displayName"] = "DEAD", + ["name"] = "DEAD", ["pylons"] = { [1] = { - ["CLSID"] = "{BRU41_6X_MK-82}", - ["num"] = 2, + ["CLSID"] = "{F4B_LAU105_AIM9J_2_MER_MK20_3}", + ["num"] = 9, }, [2] = { - ["CLSID"] = "{60CC734F-0AFA-4E2E-82B8-93B941AB11CF}", + ["CLSID"] = "{F4B_LAU105_AIM9J_2_MER_MK20_3}", ["num"] = 3, }, [3] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 4, + ["num"] = 5, }, [4] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 5, - }, - [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, - }, - [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 7, }, - [7] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 8, - }, - [8] = { - ["CLSID"] = "{60CC734F-0AFA-4E2E-82B8-93B941AB11CF}", - ["num"] = 9, - }, - [9] = { - ["CLSID"] = "{BRU41_6X_MK-82}", - ["num"] = 10, - }, - }, - ["tasks"] = { - [1] = 32, - }, - }, - [4] = { - ["name"] = "CAS", - ["pylons"] = { - [1] = { - ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", ["num"] = 2, }, - [2] = { - ["CLSID"] = "{BRU33_2*LAU10}", - ["num"] = 3, - }, - [3] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 4, - }, - [4] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 5, - }, - [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, - }, [6] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 7, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, }, [7] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 8, + ["num"] = 4, }, [8] = { - ["CLSID"] = "{BRU33_2*LAU10}", - ["num"] = 9, + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, }, [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [10] = { ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", - ["num"] = 10, + ["num"] = 11, + }, + [11] = { + ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + ["num"] = 12, }, }, ["tasks"] = { - [1] = 31, + [1] = 11, }, }, }, diff --git a/resources/customized_payloads/VSN_F4C.lua b/resources/customized_payloads/VSN_F4C.lua index cfb31261..15d6ae87 100644 --- a/resources/customized_payloads/VSN_F4C.lua +++ b/resources/customized_payloads/VSN_F4C.lua @@ -2,6 +2,140 @@ local unitPayloads = { ["name"] = "VSN_F4C", ["payloads"] = { [1] = { + ["displayName"] = "SEAD Sweep", + ["name"] = "SEAD Sweep", + ["pylons"] = { + [1] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{6D21ECEA-F85B-4E8D-9D51-31DC9B8AA4EF}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "VSN_F4EL_PTB", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "VSN_F4ER_PTB", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "{6D21ECEA-F85B-4E8D-9D51-31DC9B8AA4EF}", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { + ["displayName"] = "DEAD", + ["name"] = "DEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{6D21ECEA-F85B-4E8D-9D51-31DC9B8AA4EF}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [4] = { ["name"] = "CAP", ["pylons"] = { [1] = { @@ -21,125 +155,126 @@ local unitPayloads = { ["num"] = 5, }, [5] = { - ["CLSID"] = "{VSN_F4C_Gunpod}", - ["num"] = 6, - }, - [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 7, }, - [7] = { + [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 8, }, - [8] = { + [7] = { ["CLSID"] = "LAU-105_2*AIM-9L", ["num"] = 9, }, - [9] = { + [8] = { ["CLSID"] = "VSN_F4ER_PTB", ["num"] = 10, }, + [9] = { + ["CLSID"] = "{VSN_F4B_Equalizer}", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 18, + [2] = 19, + [3] = 11, + }, + }, + [5] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU41_6X_MK-82}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU41_6X_MK-82}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, }, ["tasks"] = { [1] = 11, }, }, - [2] = { + [6] = { ["name"] = "STRIKE", ["pylons"] = { [1] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 2, + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 9, }, [2] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", ["num"] = 3, }, [3] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 4, + ["num"] = 5, }, [4] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 5, - }, - [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, - }, - [6] = { ["CLSID"] = "{AIM-7F}", ["num"] = 7, }, - [7] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 8, - }, - [8] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 9, - }, - [9] = { - ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", - ["num"] = 10, - }, - }, - ["tasks"] = { - [1] = 32, - }, - }, - [3] = { - ["displayName"] = "Retribution OCA/Runway", - ["name"] = "Retribution OCA/Runway", - ["pylons"] = { - [1] = { - ["CLSID"] = "{BRU41_6X_MK-82}", + [5] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", ["num"] = 2, }, - [2] = { - ["CLSID"] = "{60CC734F-0AFA-4E2E-82B8-93B941AB11CF}", - ["num"] = 3, + [6] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 10, }, - [3] = { + [7] = { ["CLSID"] = "{AIM-7F}", ["num"] = 4, }, - [4] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 5, - }, - [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, - }, - [6] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 7, - }, - [7] = { + [8] = { ["CLSID"] = "{AIM-7F}", ["num"] = 8, }, - [8] = { - ["CLSID"] = "{60CC734F-0AFA-4E2E-82B8-93B941AB11CF}", - ["num"] = 9, - }, [9] = { - ["CLSID"] = "{BRU41_6X_MK-82}", - ["num"] = 10, + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, }, }, ["tasks"] = { - [1] = 32, + [1] = 11, }, }, - [4] = { - ["name"] = "CAS", + [7] = { + ["name"] = "ANTISHIP", ["pylons"] = { [1] = { - ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", - ["num"] = 2, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 9, }, [2] = { ["CLSID"] = "{BRU33_2*LAU10}", @@ -147,35 +282,80 @@ local unitPayloads = { }, [3] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 4, + ["num"] = 5, }, [4] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 5, + ["num"] = 7, }, [5] = { - ["CLSID"] = "VSN_F4EC_PTB", - ["num"] = 6, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, }, [6] = { - ["CLSID"] = "{AIM-7F}", - ["num"] = 7, + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, }, [7] = { ["CLSID"] = "{AIM-7F}", - ["num"] = 8, + ["num"] = 4, }, [8] = { - ["CLSID"] = "{BRU33_2*LAU10}", - ["num"] = 9, + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, }, [9] = { - ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", - ["num"] = 10, + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, }, }, ["tasks"] = { - [1] = 31, + [1] = 11, + }, + }, + [8] = { + ["displayName"] = "SEAD Escort", + ["name"] = "SEAD Escort", + ["pylons"] = { + [1] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 9, + }, + [2] = { + ["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515405}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{6D21ECEA-F85B-4E8D-9D51-31DC9B8AA4EF}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 2, + }, + [6] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 10, + }, + [7] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{AIM-7F}", + ["num"] = 8, + }, + [9] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + }, + ["tasks"] = { + [1] = 11, }, }, }, diff --git a/resources/factions/iran_1988.json b/resources/factions/iran_1988.json index f8464e01..131d46f7 100644 --- a/resources/factions/iran_1988.json +++ b/resources/factions/iran_1988.json @@ -10,6 +10,7 @@ "AH-1J SeaCobra", "F-14A Tomcat (AI)", "F-14A Tomcat (Block 135-GR Late)", + "F-4C Phantom II", "F-4E Phantom II", "F-5E Tiger II", "MiG-21bis Fishbed-N" diff --git a/resources/factions/spain_1990.json b/resources/factions/spain_1990.json index 3b68f408..cbde2a91 100644 --- a/resources/factions/spain_1990.json +++ b/resources/factions/spain_1990.json @@ -10,6 +10,7 @@ "AV-8B Harrier II Night Attack", "C-130", "C-101CC Aviojet", + "F-4C Phantom II", "F-5E Tiger II", "Mirage-F1BE", "Mirage-F1CE", diff --git a/resources/factions/uk_1990.json b/resources/factions/uk_1990.json index 08bb94a3..2758ddab 100644 --- a/resources/factions/uk_1990.json +++ b/resources/factions/uk_1990.json @@ -12,6 +12,7 @@ "C-130", "C-130J-30 Super Hercules", "Gazelle AH.1", + "Phantom FG.1", "Phantom F.3", "Tornado GR4" ], diff --git a/resources/factions/usa_1965.json b/resources/factions/usa_1965.json index 399cef8a..6738d559 100644 --- a/resources/factions/usa_1965.json +++ b/resources/factions/usa_1965.json @@ -13,7 +13,7 @@ "A-4E Skyhawk", "A-6A Intruder", "F-4B Phantom II", - "F-4E Phantom II", + "F-4C Phantom II", "F-5E Tiger II", "F-100 Super Sabre", "F-104C Starfighter", diff --git a/resources/factions/usa_1975.json b/resources/factions/usa_1975.json index fcd36208..d3ace208 100644 --- a/resources/factions/usa_1975.json +++ b/resources/factions/usa_1975.json @@ -16,6 +16,7 @@ "F-14A Tomcat (AI)", "F-14A Tomcat (Block 135-GR Late)", "F-4B Phantom II", + "F-4C Phantom II", "F-4E Phantom II", "F-5E Tiger II", "F-100 Super Sabre", diff --git a/resources/units/aircraft/VSN_F4B.yaml b/resources/units/aircraft/VSN_F4B.yaml index f0d7d70c..5c35e8d0 100644 --- a/resources/units/aircraft/VSN_F4B.yaml +++ b/resources/units/aircraft/VSN_F4B.yaml @@ -18,6 +18,7 @@ max_range: 370 carrier_capable: true variants: F-4B Phantom II: {} + Phantom FG.1: {} tasks: BAI: 180 BARCAP: 220