diff --git a/game/ato/ai_flight_planner_db.py b/game/ato/ai_flight_planner_db.py index d9dcb47b..5cac3364 100644 --- a/game/ato/ai_flight_planner_db.py +++ b/game/ato/ai_flight_planner_db.py @@ -140,7 +140,7 @@ from pydcs_extensions.f16i_idf.f16i_idf import ( F_16I, ) from pydcs_extensions.f22a.f22a import F_22A -from pydcs_extensions.f4b.f4b import VSN_F4B +from pydcs_extensions.f4b.f4b import VSN_F4B, VSN_F4C from pydcs_extensions.f84g.f84g import VSN_F84G from pydcs_extensions.hercules.hercules import Hercules from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG @@ -188,6 +188,7 @@ ESCORT_CAPABLE = [ F_16A_MLU, F_16A, F_4E, + VSN_F4C, VSN_F4B, MiG_31, MiG_25PD, @@ -335,13 +336,14 @@ CAS_CAPABLE = [ MQ_9_Reaper, RQ_1A_Predator, VSN_A6A, + VSN_F4C, + VSN_F4B, VSN_F100, VSN_F105G, VSN_F105D, VSN_F104S_AG, VSN_F104G, VSN_F104C, - VSN_F4B, VSN_F84G, ] @@ -470,6 +472,8 @@ STRIKE_CAPABLE = [ F_4E, A_10C_2, A_10C, + VSN_F4C, + VSN_F4B, S_3B, A_4E_C, Bronco_OV_10A, @@ -511,7 +515,6 @@ STRIKE_CAPABLE = [ VSN_F104C, VSN_F105G, VSN_F105D, - VSN_F4B, VSN_F84G, ] @@ -604,6 +607,8 @@ RUNWAY_ATTACK_CAPABLE = [ F_4E, A_10C_2, A_10C, + VSN_F4C, + VSN_F4B, S_3B, A_4E_C, Bronco_OV_10A, @@ -637,7 +642,6 @@ RUNWAY_ATTACK_CAPABLE = [ VSN_F104G, VSN_F104C, VSN_F100, - VSN_F4B, ] # For any aircraft that isn't necessarily directly involved in strike diff --git a/game/factions/faction.py b/game/factions/faction.py index 80f02073..31194ddf 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -335,8 +335,9 @@ class Faction: if not mod_settings.uh_60l: self.remove_aircraft("UH-60L") self.remove_aircraft("KC130J") - if not mod_settings.f4b_phantom: + if not mod_settings.f4bc_phantom: self.remove_aircraft("VSN_F4B") + self.remove_aircraft("VSN_F4C") if not mod_settings.f15d_baz: self.remove_aircraft("F-15D") if not mod_settings.f_16_idf: diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 2af4cbae..d4e98c40 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -55,7 +55,7 @@ class GeneratorSettings: class ModSettings: a4_skyhawk: bool = False a6a_intruder: bool = False - f4b_phantom: bool = False + f4bc_phantom: bool = False f15d_baz: bool = False f_16_idf: bool = False f22_raptor: bool = False diff --git a/pydcs_extensions/f4b/f4b.py b/pydcs_extensions/f4b/f4b.py index 20953812..51904602 100644 --- a/pydcs_extensions/f4b/f4b.py +++ b/pydcs_extensions/f4b/f4b.py @@ -7,12 +7,17 @@ from game.modsupport import planemod from pydcs_extensions.weapon_injector import inject_weapons -class WeaponsF4B: +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", @@ -28,6 +33,11 @@ class WeaponsF4B: "name": "Fuel tank 370 Gal", "weight": 1240, } + VSN_F4B_C2_PTB = { + "clsid": "VSN_F4B_C2_PTB", + "name": "Fuel tank Center 370 Gal", + "weight": 1240, + } LAU_105_2_AIM_9J = { "clsid": "{VSN_F4B_LAU105_AIM9J}", "name": "LAU-105 2*AIM-9J", @@ -40,7 +50,7 @@ class WeaponsF4B: } -inject_weapons(WeaponsF4B) +inject_weapons(WeaponsF4BC) @planemod @@ -98,10 +108,6 @@ class VSN_F4B(PlaneType): 2, Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos, ) - LAU_118a_with_AGM_45B_Shrike_ARM__Imp_ = ( - 2, - Weapons.LAU_118a_with_AGM_45B_Shrike_ARM__Imp_, - ) Smokewinder___red = (2, Weapons.Smokewinder___red) Smokewinder___green = (2, Weapons.Smokewinder___green) Smokewinder___blue = (2, Weapons.Smokewinder___blue) @@ -123,7 +129,8 @@ class VSN_F4B(PlaneType): 2, Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, ) - VSN_F4EL_PTB = (2, WeaponsF4B.VSN_F4EL_PTB) + BIN_200 = (2, Weapons.BIN_200) + VSN_F4EL_PTB = (2, WeaponsF4BC.VSN_F4EL_PTB) class Pylon3: GBU_10___2000lb_Laser_Guided_Bomb = ( @@ -140,18 +147,6 @@ class VSN_F4B(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_88_with_2_x_AGM_65K___Maverick_K__CCD_Imp_ASM_ = ( - 3, - Weapons.LAU_88_with_2_x_AGM_65K___Maverick_K__CCD_Imp_ASM_, - ) - LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 3, - Weapons.LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_118a_with_AGM_45B_Shrike_ARM__Imp_ = ( - 3, - Weapons.LAU_118a_with_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, @@ -168,18 +163,6 @@ class VSN_F4B(PlaneType): 3, Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, ) - LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 3, - Weapons.LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_88_with_3_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 3, - Weapons.LAU_88_with_3_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_105_with_2_x_AIM_9M_Sidewinder_IR_AAM = ( - 3, - Weapons.LAU_105_with_2_x_AIM_9M_Sidewinder_IR_AAM, - ) LAU_105_2_AIM_9L = (3, Weapons.LAU_105_2_AIM_9L) LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM = ( 3, @@ -190,9 +173,8 @@ class VSN_F4B(PlaneType): 3, Weapons.LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM, ) - LAU_105_2_AIM_9J = (3, WeaponsF4B.LAU_105_2_AIM_9J) - LAU_105_2_AIM_9JULI = (3, WeaponsF4B.LAU_105_2_AIM_9JULI) - AIM_120B_AMRAAM___Active_Rdr_AAM = (3, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) + 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_Sparrow_Semi_Active_Radar = (3, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( @@ -208,18 +190,15 @@ class VSN_F4B(PlaneType): 3, Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) + BIN_200 = (3, Weapons.BIN_200) class Pylon4: - AIM_7M_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7M_Sparrow_Semi_Active_Radar) AIM_7F_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) AIM_7E_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) - AIM_120B_AMRAAM___Active_Rdr_AAM = (4, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) class Pylon5: - AIM_7M_Sparrow_Semi_Active_Radar = (5, Weapons.AIM_7M_Sparrow_Semi_Active_Radar) AIM_7F_Sparrow_Semi_Active_Radar = (5, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) AIM_7E_Sparrow_Semi_Active_Radar = (5, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) - AIM_120B_AMRAAM___Active_Rdr_AAM = (5, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) class Pylon6: Smokewinder___red = (6, Weapons.Smokewinder___red) @@ -240,20 +219,17 @@ class VSN_F4B(PlaneType): Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD, ) ALQ_131___ECM_Pod = (6, Weapons.ALQ_131___ECM_Pod) - F4B_SUU_23_Gun_Pod = (6, WeaponsF4B.F4B_SUU_23_Gun_Pod) - VSN_F4EC_PTB = (6, WeaponsF4B.VSN_F4EC_PTB) + F4B_Gunpod_w_SAPHEI_T = (6, WeaponsF4BC.F4B_Gunpod_w_SAPHEI_T) + VSN_F4EC_PTB = (6, WeaponsF4BC.VSN_F4EC_PTB) + VSN_F4B_C2_PTB = (6, WeaponsF4BC.VSN_F4B_C2_PTB) class Pylon7: - AIM_7M_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7M_Sparrow_Semi_Active_Radar) AIM_7F_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) AIM_7E_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) - AIM_120B_AMRAAM___Active_Rdr_AAM = (7, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) class Pylon8: - AIM_7M_Sparrow_Semi_Active_Radar = (8, Weapons.AIM_7M_Sparrow_Semi_Active_Radar) AIM_7F_Sparrow_Semi_Active_Radar = (8, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) AIM_7E_Sparrow_Semi_Active_Radar = (8, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) - AIM_120B_AMRAAM___Active_Rdr_AAM = (8, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) class Pylon9: GBU_10___2000lb_Laser_Guided_Bomb = ( @@ -270,18 +246,6 @@ class VSN_F4B(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_88_with_2_x_AGM_65K___Maverick_K__CCD_Imp_ASM_ = ( - 9, - Weapons.LAU_88_with_2_x_AGM_65K___Maverick_K__CCD_Imp_ASM_, - ) - LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 9, - Weapons.LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_118a_with_AGM_45B_Shrike_ARM__Imp_ = ( - 9, - Weapons.LAU_118a_with_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, @@ -298,18 +262,6 @@ class VSN_F4B(PlaneType): 9, Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, ) - LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 9, - Weapons.LAU_88_with_2_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_88_with_3_x_AGM_65D___Maverick_D__IIR_ASM_ = ( - 9, - Weapons.LAU_88_with_3_x_AGM_65D___Maverick_D__IIR_ASM_, - ) - LAU_105_with_2_x_AIM_9M_Sidewinder_IR_AAM = ( - 9, - Weapons.LAU_105_with_2_x_AIM_9M_Sidewinder_IR_AAM, - ) LAU_105_2_AIM_9L = (9, Weapons.LAU_105_2_AIM_9L) LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM = ( 9, @@ -320,9 +272,8 @@ class VSN_F4B(PlaneType): 9, Weapons.LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM, ) - LAU_105_2_AIM_9J = (9, WeaponsF4B.LAU_105_2_AIM_9J) - LAU_105_2_AIM_9JULI = (9, WeaponsF4B.LAU_105_2_AIM_9JULI) - AIM_120B_AMRAAM___Active_Rdr_AAM = (9, Weapons.AIM_120B_AMRAAM___Active_Rdr_AAM) + 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_Sparrow_Semi_Active_Radar = (9, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( @@ -338,6 +289,7 @@ class VSN_F4B(PlaneType): 9, Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, ) + BIN_200 = (9, Weapons.BIN_200) class Pylon10: GBU_10___2000lb_Laser_Guided_Bomb = ( @@ -369,9 +321,313 @@ class VSN_F4B(PlaneType): 10, Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos, ) - LAU_118a_with_AGM_45B_Shrike_ARM__Imp_ = ( + Smokewinder___red = (10, Weapons.Smokewinder___red) + Smokewinder___green = (10, Weapons.Smokewinder___green) + Smokewinder___blue = (10, Weapons.Smokewinder___blue) + Smokewinder___white = (10, Weapons.Smokewinder___white) + Smokewinder___yellow = (10, Weapons.Smokewinder___yellow) + BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( 10, - Weapons.LAU_118a_with_AGM_45B_Shrike_ARM__Imp_, + Weapons.BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, + ) + BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 10, + Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD = ( + 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} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.Reconnaissance, + task.GroundAttack, + task.CAS, + task.AFAC, + task.RunwayAttack, + ] + task_default = task.CAP + + +@planemod +class VSN_F4C(PlaneType): + id = "VSN_F4C" + flyable = True + height = 5.02 + width = 11.71 + length = 19.2 + fuel_max = 6416 + max_speed = 2545.2 + chaff = 48 + flare = 48 + charge_total = 96 + chaff_charge_size = 1 + flare_charge_size = 1 + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 127.5 + + livery_name = "VSN_F4C" # from type + Liveries = Liveries()[livery_name] + + class Pylon1: + Smoke_Generator___red_ = (1, Weapons.Smoke_Generator___red_) + Smoke_Generator___green_ = (1, Weapons.Smoke_Generator___green_) + Smoke_Generator___blue_ = (1, Weapons.Smoke_Generator___blue_) + Smoke_Generator___white_ = (1, Weapons.Smoke_Generator___white_) + Smoke_Generator___yellow_ = (1, Weapons.Smoke_Generator___yellow_) + 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) + 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, + ) + LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 2, + Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + _3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 2, + Weapons._3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos = ( + 2, + Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos, + ) + Smokewinder___red = (2, Weapons.Smokewinder___red) + Smokewinder___green = (2, Weapons.Smokewinder___green) + Smokewinder___blue = (2, Weapons.Smokewinder___blue) + Smokewinder___white = (2, Weapons.Smokewinder___white) + Smokewinder___yellow = (2, Weapons.Smokewinder___yellow) + BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( + 2, + Weapons.BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, + ) + BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 2, + Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD = ( + 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, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 3, + 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_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, + ) + _3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 3, + Weapons._3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( + 3, + Weapons.BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, + ) + BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 3, + Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + LAU_105_2_AIM_9L = (3, Weapons.LAU_105_2_AIM_9L) + LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM = ( + 3, + Weapons.LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM, + ) + LAU_105_2_AIM_9P5 = (3, Weapons.LAU_105_2_AIM_9P5) + LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM = ( + 3, + Weapons.LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM, + ) + 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_Sparrow_Semi_Active_Radar = (3, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 3, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 3, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BIN_200 = (3, Weapons.BIN_200) + + class Pylon4: + AIM_7F_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) + AIM_7E_Sparrow_Semi_Active_Radar = (4, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + + class Pylon5: + AIM_7F_Sparrow_Semi_Active_Radar = (5, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) + AIM_7E_Sparrow_Semi_Active_Radar = (5, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + + class Pylon6: + Smokewinder___red = (6, Weapons.Smokewinder___red) + Smokewinder___green = (6, Weapons.Smokewinder___green) + Smokewinder___blue = (6, Weapons.Smokewinder___blue) + Smokewinder___white = (6, Weapons.Smokewinder___white) + Smokewinder___yellow = (6, Weapons.Smokewinder___yellow) + BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD = ( + 6, + Weapons.BRU_41A_with_6_x_Mk_82___500lb_GP_Bomb_LD, + ) + _3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 6, + Weapons._3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 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) + VSN_F4EC_PTB = (6, WeaponsF4BC.VSN_F4EC_PTB) + VSN_F4ER_PTB = (6, WeaponsF4BC.VSN_F4ER_PTB) + + class Pylon7: + AIM_7F_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) + AIM_7E_Sparrow_Semi_Active_Radar = (7, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + + class Pylon8: + AIM_7F_Sparrow_Semi_Active_Radar = (8, Weapons.AIM_7F_Sparrow_Semi_Active_Radar) + AIM_7E_Sparrow_Semi_Active_Radar = (8, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + + 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, + ) + BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD = ( + 9, + 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_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, + ) + _3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 9, + Weapons._3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = ( + 9, + Weapons.BRU_33_with_2_x_LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG, + ) + BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 9, + Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + LAU_105_2_AIM_9L = (9, Weapons.LAU_105_2_AIM_9L) + LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM = ( + 9, + Weapons.LAU_105_with_2_x_AIM_9P_Sidewinder_IR_AAM, + ) + LAU_105_2_AIM_9P5 = (9, Weapons.LAU_105_2_AIM_9P5) + LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM = ( + 9, + Weapons.LAU_7_with_2_x_AIM_9B_Sidewinder_IR_AAM, + ) + 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_Sparrow_Semi_Active_Radar = (9, Weapons.AIM_7E_Sparrow_Semi_Active_Radar) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 9, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + Mk_82___500lb_GP_Bomb_LD = (9, Weapons.Mk_82___500lb_GP_Bomb_LD) + TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 9, + Weapons.TER_9A_with_3_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 9, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BIN_200 = (9, Weapons.BIN_200) + + 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) + 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, + ) + LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 10, + Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + _3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE = ( + 10, + Weapons._3_x_LAU_61_pods___57_x_2_75_Hydra__UnGd_Rkts_M151__HE, + ) + LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos = ( + 10, + Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M156__Wht_Phos, ) Smokewinder___red = (10, Weapons.Smokewinder___red) Smokewinder___green = (10, Weapons.Smokewinder___green) @@ -394,13 +650,10 @@ class VSN_F4B(PlaneType): 10, Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, ) - VSN_F4ER_PTB = (10, WeaponsF4B.VSN_F4ER_PTB) + BIN_200 = (10, Weapons.BIN_200) + VSN_F4ER_PTB = (10, WeaponsF4BC.VSN_F4ER_PTB) - class Pylon11: - L005_Sorbtsiya_ECM_pod__left_ = (11, Weapons.L005_Sorbtsiya_ECM_pod__left_) - L_081_Fantasmagoria_ELINT_pod = (11, Weapons.L_081_Fantasmagoria_ELINT_pod) - - pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} + pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} tasks = [ task.CAP, diff --git a/qt_ui/main.py b/qt_ui/main.py index ca430b16..27779508 100644 --- a/qt_ui/main.py +++ b/qt_ui/main.py @@ -323,7 +323,7 @@ def create_game( ModSettings( a4_skyhawk=False, a6a_intruder=False, - f4b_phantom=False, + f4bc_phantom=False, f22_raptor=False, f84g_thunderjet=False, f100_supersabre=False, diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 5f23581c..83f2e611 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -177,7 +177,7 @@ class NewGameWizard(QtWidgets.QWizard): mod_settings = ModSettings( a4_skyhawk=self.field("a4_skyhawk"), a6a_intruder=self.field("a6a_intruder"), - f4b_phantom=self.field("f4b_phantom"), + f4bc_phantom=self.field("f4bc_phantom"), f15d_baz=self.field("f15d_baz"), f_16_idf=self.field("f_16_idf"), f22_raptor=self.field("f22_raptor"), @@ -806,8 +806,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("hercules", hercules) uh_60l = QtWidgets.QCheckBox() self.registerField("uh_60l", uh_60l) - f4b_phantom = QtWidgets.QCheckBox() - self.registerField("f4b_phantom", f4b_phantom) + f4bc_phantom = QtWidgets.QCheckBox() + self.registerField("f4bc_phantom", f4bc_phantom) f15d_baz = QtWidgets.QCheckBox() self.registerField("f15d_baz", f15d_baz) f_16_idf = QtWidgets.QCheckBox() @@ -847,7 +847,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("A-4E Skyhawk (v2.1.0)", a4_skyhawk), ("A-6A Intruder (v2.7.5.01)", a6a_intruder), ("C-130J-30 Super Hercules", hercules), - ("F-4B Phantom II (v2.7.10.02 EFM + Patch 2022.10.02)", f4b_phantom), + ("F-4B/C Phantom II (v2.8.1.01 Standalone + 29Jan23 Patch)", f4bc_phantom), ("F-15D Baz (v1.0)", f15d_baz), ("F-16I Sufa & F-16D (v3.2 by IDF Mods Project)", f_16_idf), ("F-22A Raptor", f22_raptor), diff --git a/resources/customized_payloads/VSN_F4C.lua b/resources/customized_payloads/VSN_F4C.lua new file mode 100644 index 00000000..4b9b6679 --- /dev/null +++ b/resources/customized_payloads/VSN_F4C.lua @@ -0,0 +1,186 @@ +local unitPayloads = { + ["name"] = "VSN_F4C", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "VSN_F4EL_PTB", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "LAU-105_2*AIM-9L", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 4, + }, + [4] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "{VSN_F4C_Gunpod}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 7, + }, + [7] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 8, + }, + [8] = { + ["CLSID"] = "LAU-105_2*AIM-9L", + ["num"] = 9, + }, + [9] = { + ["CLSID"] = "VSN_F4ER_PTB", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "STRIKE", + ["pylons"] = { + [1] = { + ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{51F9AAE5-964F-4D21-83FB-502E3BFE5F8A}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 4, + }, + [4] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 7, + }, + [7] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["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"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 4, + }, + [4] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 7, + }, + [7] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 8, + }, + [8] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 9, + }, + [9] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [4] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 3, + }, + [3] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 4, + }, + [4] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "VSN_F4EC_PTB", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 7, + }, + [7] = { + ["CLSID"] = "{8D399DDA-FF81-4F14-904D-099B34FE7918}", + ["num"] = 8, + }, + [8] = { + ["CLSID"] = "{BRU33_2*LAU10}", + ["num"] = 9, + }, + [9] = { + ["CLSID"] = "{B83CB620-5BBE-4BEA-910C-EB605A327EF9}", + ["num"] = 10, + }, + }, + ["tasks"] = { + [1] = 31, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "VSN_F4C", +} +return unitPayloads diff --git a/resources/ui/units/aircrafts/banners/VSN_F4C_24.jpg b/resources/ui/units/aircrafts/banners/VSN_F4C_24.jpg new file mode 100644 index 00000000..46a77e08 Binary files /dev/null and b/resources/ui/units/aircrafts/banners/VSN_F4C_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/VSN_F4B_24.jpg b/resources/ui/units/aircrafts/icons/VSN_F4B_24.jpg index 21e47eac..66b04c28 100644 Binary files a/resources/ui/units/aircrafts/icons/VSN_F4B_24.jpg and b/resources/ui/units/aircrafts/icons/VSN_F4B_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/VSN_F4C_24.jpg b/resources/ui/units/aircrafts/icons/VSN_F4C_24.jpg new file mode 100644 index 00000000..4024b1f5 Binary files /dev/null and b/resources/ui/units/aircrafts/icons/VSN_F4C_24.jpg differ diff --git a/resources/units/aircraft/VSN_F4B.yaml b/resources/units/aircraft/VSN_F4B.yaml index 6b40183e..262e1fa0 100644 --- a/resources/units/aircraft/VSN_F4B.yaml +++ b/resources/units/aircraft/VSN_F4B.yaml @@ -7,8 +7,9 @@ description: its position as an iconic combat aircraft of the Cold War. The F-4 was used extensively during the Vietnam War. It served as the principal air superiority fighter for the U.S. Air Force, Navy, and Marine Corps and became important in the ground-attack - and aerial reconnaissance roles late in the war. -introduced: 1968 + and aerial reconnaissance roles late in the war. The F-4B is a carrier capable + Navy and Marine Corps variant. +introduced: 1961 manufacturer: McDonnell Douglas origin: USA price: 10 diff --git a/resources/units/aircraft/VSN_F4C.yaml b/resources/units/aircraft/VSN_F4C.yaml new file mode 100644 index 00000000..a797b8a7 --- /dev/null +++ b/resources/units/aircraft/VSN_F4C.yaml @@ -0,0 +1,21 @@ +description: + Proving highly adaptable, the F-4 entered service with the Navy in 1961 + before it was adopted by the United States Marine Corps and the United States Air + Force, and by the mid-1960s it had become a major part of their air arms. Phantom + production ran from 1958 to 1981 with a total of 5,195 aircraft built, making it + the most produced American supersonic military aircraft in history, and cementing + its position as an iconic combat aircraft of the Cold War. The F-4 was used extensively + during the Vietnam War. It served as the principal air superiority fighter for the + U.S. Air Force, Navy, and Marine Corps and became important in the ground-attack + and aerial reconnaissance roles late in the war. The F-4C is a land based + all-weather tactical fighter, ground-attack version for the United States Air Force. +introduced: 1963 +manufacturer: McDonnell Douglas +origin: USA +price: 10 +role: Fighter-Bomber +max_range: 370 +carrier_capable: false +variants: + F-4C Phantom II: {} +