F-4B Phantom II mod support (#4)

This commit is contained in:
MetalStormGhost 2022-10-16 00:07:06 +03:00 committed by GitHub
parent 139e42dbed
commit 04a5497f3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 654 additions and 9 deletions

View File

@ -5,6 +5,7 @@
* **[Mission Generation]** Variable flight-size (2/3/4-ship) for BAI/ANTISHIP/DEAD/STRIKE (main) missions
* **[Modding]** Support for F-15D 'Baz' mod version 1.0
* **[Modding]** Support for Su-30 mod version 2.01B
* **[Modding]** Support for F-4B Phantom II mod version v2.7.10.02, patch 2022.10.02
* **[Modding]** Support for F-100 Super Sabre mod versions v2.7.18.01 & 2.7.18.30765 and patches 30.09.22 & 09.10.22
* **[Modding]** Support for F-105 mod version 2.7.12.23x
* **[UI]** Add livery selector to Air Wing Configurator's squadrons.

View File

@ -126,6 +126,7 @@ from pydcs_extensions.f104.f104 import VSN_F104G, VSN_F104S, VSN_F104S_AG
from pydcs_extensions.f105.f105 import VSN_F105D, VSN_F105G
from pydcs_extensions.f15d.f15d import F_15D
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.f4b.f4b import VSN_F4B
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.su30.su30 import Su_30MKA, Su_30MKI, Su_30MKM, Su_30SM
@ -162,6 +163,7 @@ CAP_CAPABLE = [
JAS39Gripen,
F_16A,
F_4E,
VSN_F4B,
MiG_31,
MiG_25PD,
MiG_29G,
@ -233,6 +235,7 @@ CAS_CAPABLE = [
Su_17M4,
Su_33,
F_4E,
VSN_F4B,
S_3B,
Su_30,
Su_30MKA,
@ -395,6 +398,7 @@ STRIKE_CAPABLE = [
MiG_29G,
MiG_29A,
F_4E,
VSN_F4B,
A_10C_2,
A_10C,
S_3B,
@ -505,6 +509,7 @@ RUNWAY_ATTACK_CAPABLE = [
MiG_29G,
MiG_29A,
F_4E,
VSN_F4B,
A_10C_2,
A_10C,
S_3B,

View File

@ -303,6 +303,8 @@ class Faction:
if not mod_settings.uh_60l:
self.remove_aircraft("UH-60L")
self.remove_aircraft("KC130J")
if not mod_settings.f4b_phantom:
self.remove_aircraft("VSN_F4B")
if not mod_settings.f15d_baz:
self.remove_aircraft("F-15D")
if not mod_settings.f22_raptor:

View File

@ -52,6 +52,7 @@ class GeneratorSettings:
@dataclass
class ModSettings:
a4_skyhawk: bool = False
f4b_phantom: bool = False
f15d_baz: bool = False
f22_raptor: bool = False
f100_supersabre: bool = False

419
pydcs_extensions/f4b/f4b.py Normal file
View File

@ -0,0 +1,419 @@
from enum import Enum
from typing import Dict, Any
from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from dcs.liveries_scanner import Liveries
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
class WeaponsF4B:
F4B_SUU_23_Gun_Pod = {
"clsid": "{VSN_F4B_Gunpod}",
"name": "F4B SUU-23 Gun Pod",
"weight": 112.35,
}
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,
}
LAU_105_2_AIM_9J = {
"clsid": "{VSN_F4B_LAU105_AIM9J}",
"name": "LAU-105 2*AIM-9J",
"weight": 332,
}
LAU_105_2_AIM_9JULI = {
"clsid": "{VSN_F4B_LAU105_AIM9JULI}",
"name": "LAU-105 2*AIM-9JULI",
"weight": 332,
}
inject_weapons(WeaponsF4B)
@planemod
class VSN_F4B(PlaneType):
id = "VSN_F4B"
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_F4B" # 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,
)
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)
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,
)
VSN_F4EL_PTB = (2, WeaponsF4B.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_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,
)
_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_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,
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, 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)
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,
)
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)
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_SUU_23_Gun_Pod = (6, WeaponsF4B.F4B_SUU_23_Gun_Pod)
VSN_F4EC_PTB = (6, WeaponsF4B.VSN_F4EC_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 = (
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_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,
)
_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_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,
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, 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)
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,
)
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,
)
LAU_118a_with_AGM_45B_Shrike_ARM__Imp_ = (
10,
Weapons.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.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,
)
VSN_F4ER_PTB = (10, WeaponsF4B.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}
tasks = [
task.CAP,
task.Escort,
task.FighterSweep,
task.Intercept,
task.Reconnaissance,
task.GroundAttack,
task.CAS,
task.AFAC,
task.RunwayAttack,
]
task_default = task.CAP

View File

@ -294,6 +294,7 @@ def create_game(
),
ModSettings(
a4_skyhawk=False,
f4b_phantom=False,
f22_raptor=False,
f100_supersabre=False,
f104_starfighter=False,

View File

@ -159,6 +159,7 @@ class NewGameWizard(QtWidgets.QWizard):
)
mod_settings = ModSettings(
a4_skyhawk=self.field("a4_skyhawk"),
f4b_phantom=self.field("f4b_phantom"),
f15d_baz=self.field("f15d_baz"),
f22_raptor=self.field("f22_raptor"),
f100_supersabre=self.field("f100_supersabre"),
@ -659,6 +660,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)
f15d_baz = QtWidgets.QCheckBox()
self.registerField("f15d_baz", f15d_baz)
f22_raptor = QtWidgets.QCheckBox()
@ -692,6 +695,13 @@ class GeneratorOptions(QtWidgets.QWizardPage):
)
modLayout.addWidget(a4_skyhawk, modLayout_row, 1)
modLayout_row += 1
modLayout.addWidget(
QtWidgets.QLabel("F-4B Phantom II (v2.7.10.02 EFM + Patch 2022.10.02)"),
modLayout_row,
0,
)
modLayout.addWidget(f4b_phantom, modLayout_row, 1)
modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("F-15D Baz (v1.0)"), modLayout_row, 0)
modLayout.addWidget(f15d_baz, modLayout_row, 1)
modLayout_row += 1
@ -705,12 +715,12 @@ class GeneratorOptions(QtWidgets.QWizardPage):
)
modLayout.addWidget(f100_supersabre, modLayout_row, 1)
modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("F-104 Starfighter"), modLayout_row, 0)
modLayout.addWidget(f104_starfighter, modLayout_row, 1)
modLayout_row += 1
# Section break here for readability
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("F-104 Starfighter"), modLayout_row, 0)
modLayout.addWidget(f104_starfighter, modLayout_row, 1)
modLayout_row += 1
modLayout.addWidget(
QtWidgets.QLabel("F-105 Thunderchief (version 2.7.12.23x)"),
modLayout_row,
@ -718,9 +728,6 @@ class GeneratorOptions(QtWidgets.QWizardPage):
)
modLayout.addWidget(f105_thunderchief, modLayout_row, 1)
modLayout_row += 1
# Section break here for readability
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
modLayout_row += 1
modLayout.addWidget(
QtWidgets.QLabel("C-130J-30 Super Hercules"), modLayout_row, 0
)
@ -736,6 +743,9 @@ class GeneratorOptions(QtWidgets.QWizardPage):
)
modLayout.addWidget(jas39_gripen, modLayout_row, 1)
modLayout_row += 1
# Section break here for readability
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
modLayout_row += 1
modLayout.addWidget(
QtWidgets.QLabel("Su-30 Flanker-H (V2.01B)"), modLayout_row, 0
)
@ -744,9 +754,6 @@ class GeneratorOptions(QtWidgets.QWizardPage):
modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), modLayout_row, 0)
modLayout.addWidget(su57_felon, modLayout_row, 1)
modLayout_row += 1
# Section break here for readability
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), modLayout_row, 0)
modLayout.addWidget(frenchpack, modLayout_row, 1)
modLayout_row += 1

View File

@ -0,0 +1,186 @@
local unitPayloads = {
["name"] = "VSN_F4B",
["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_F4B_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"] = "Liberation OCA/Runway",
["name"] = "Liberation 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_F4B",
}
return unitPayloads

View File

@ -10,6 +10,7 @@
"B-52H Stratofortress",
"C-130",
"CH-47D",
"F-4B Phantom II",
"F-4E Phantom II",
"F-5E Tiger II",
"F-100 Super Sabre",

View File

@ -12,6 +12,7 @@
"CH-47D",
"CH-53E",
"F-14A Tomcat (Block 135-GR Late)",
"F-4B Phantom II",
"F-4E Phantom II",
"F-5E Tiger II",
"F-100 Super Sabre",

View File

@ -11,6 +11,7 @@
"A-4E Skyhawk",
"F-14A Tomcat (Block 135-GR Late)",
"F-14B Tomcat",
"F-4B Phantom II",
"F-4E Phantom II",
"S-3B Viking",
"SH-60B Seahawk",

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -0,0 +1,20 @@
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.
introduced: 1968
manufacturer: McDonnell Douglas
origin: USA
price: 10
role: Fighter-Bomber
max_range: 370
carrier_capable: true
variants:
F-4B Phantom II: {}