Support for the F-105 Thunderchief mod

v2.7.12.23x
This commit is contained in:
MetalStormGhost 2022-10-15 13:57:43 +03:00 committed by GitHub
parent 8c905f95e3
commit 139e42dbed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 775 additions and 2 deletions

View File

@ -6,6 +6,7 @@
* **[Modding]** Support for F-15D 'Baz' mod version 1.0
* **[Modding]** Support for Su-30 mod version 2.01B
* **[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.
* **[Performance]** Added performance option: Maximum front-line unit supply per control point.
* **[Performance]** Added performance option: Disable convoys.

View File

@ -123,6 +123,7 @@ from game.dcs.aircrafttype import AircraftType
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f100.f100 import VSN_F100
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.hercules.hercules import Hercules
@ -271,6 +272,8 @@ CAS_CAPABLE = [
C_101CC,
L_39ZA,
UH_1H,
VSN_F105G,
VSN_F105D,
VSN_F104S_AG,
VSN_F104G,
VSN_F100,
@ -318,6 +321,7 @@ SEAD_CAPABLE = [
Su_30SM,
MiG_27K,
Tornado_GR4,
VSN_F105G,
]
@ -334,6 +338,7 @@ DEAD_CAPABLE = SEAD_CAPABLE + [
H_6J,
A_20G,
Ju_88A4,
VSN_F105D,
VSN_F104S_AG,
VSN_F104G,
VSN_F100,
@ -404,6 +409,8 @@ STRIKE_CAPABLE = [
Mirage_F1M_EE,
Mirage_F1CT,
MiG_27K,
VSN_F105G,
VSN_F105D,
MiG_21Bis,
MiG_15bis,
F_5E_3,
@ -512,6 +519,8 @@ RUNWAY_ATTACK_CAPABLE = [
Mirage_F1M_EE,
Mirage_F1CT,
MiG_27K,
VSN_F105G,
VSN_F105D,
MiG_21Bis,
MiG_15bis,
F_5E_3,

View File

@ -313,6 +313,9 @@ class Faction:
self.remove_aircraft("VSN_F104G")
self.remove_aircraft("VSN_F104S")
self.remove_aircraft("VSN_F104S_AG")
if not mod_settings.f105_thunderchief:
self.remove_aircraft("VSN_F105D")
self.remove_aircraft("VSN_F105G")
if not mod_settings.jas39_gripen:
self.remove_aircraft("JAS39Gripen")
self.remove_aircraft("JAS39Gripen_AG")

View File

@ -56,6 +56,7 @@ class ModSettings:
f22_raptor: bool = False
f100_supersabre: bool = False
f104_starfighter: bool = False
f105_thunderchief: bool = False
hercules: bool = False
uh_60l: bool = False
jas39_gripen: bool = False

View File

@ -0,0 +1,395 @@
from typing import Set
from dcs import task
from dcs.liveries_scanner import Liveries
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
class WeaponsF105:
Fuel_Tank = {"clsid": "{VSN_F105G_PTB}", "name": "Fuel Tank", "weight": 3027}
Fuel_Tank_ = {
"clsid": "{VSN_F105G_Center_PTB}",
"name": "Fuel Tank",
"weight": 2062,
}
LAU_105_2_AIM_9L__ = {
"clsid": "{VSN_F105_LAU105_AIM9L}",
"name": "LAU-105 2*AIM-9L",
"weight": 332,
}
LAU_105_2_AIM_9P_ = {
"clsid": "{VSN_F105_LAU105_AIM9P}",
"name": "LAU-105 2*AIM-9P",
"weight": 332,
}
MER_6_M117_F_105 = {
"clsid": "{SB_F105_BRU_41A_M117_6}",
"name": "MER*6 M117 F-105",
"weight": 2100,
}
MER_6_Mk_82_F_105 = {
"clsid": "{VSN_F105_MK82_6}",
"name": "MER*6 Mk-82 F-105",
"weight": 1506,
}
TER_M117_F_105 = {
"clsid": "{SB_F105_TER9A_M117_3}",
"name": "TER M117 F-105",
"weight": 1500,
}
vsn_f105_lau6 = {"clsid": "{F105_LAUx6}", "name": "vsn_f105_lau6", "weight": None}
inject_weapons(WeaponsF105)
@planemod
class VSN_F105G(PlaneType):
id = "VSN_F105G"
flyable = True
height = 6.157
width = 10.63
length = 20.04
fuel_max = 4986
max_speed = 2240.928
chaff = 30
flare = 15
charge_total = 60
chaff_charge_size = 1
flare_charge_size = 2
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
livery_name = "VSN_F105G" # from type
Liveries = Liveries()[livery_name]
class Pylon3:
Smoke_Generator___red_ = (3, Weapons.Smoke_Generator___red_)
Smoke_Generator___green_ = (3, Weapons.Smoke_Generator___green_)
Smoke_Generator___blue_ = (3, Weapons.Smoke_Generator___blue_)
Smoke_Generator___white_ = (3, Weapons.Smoke_Generator___white_)
Smoke_Generator___yellow_ = (3, Weapons.Smoke_Generator___yellow_)
Smoke_Generator___orange_ = (3, Weapons.Smoke_Generator___orange_)
class Pylon4:
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (4, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
LAU_105_2_AIM_9L__ = (4, WeaponsF105.LAU_105_2_AIM_9L__)
LAU_105_2_AIM_9P_ = (4, WeaponsF105.LAU_105_2_AIM_9P_)
AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM)
AIM_9B_Sidewinder_IR_AAM = (4, Weapons.AIM_9B_Sidewinder_IR_AAM)
AIM_9L_Sidewinder_IR_AAM = (4, Weapons.AIM_9L_Sidewinder_IR_AAM)
Mk_84___2000lb_GP_Bomb_LD = (4, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
4,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (4, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (4, Weapons.Mk_83___1000lb_GP_Bomb_LD)
M117___750lb_GP_Bomb_LD = (4, Weapons.M117___750lb_GP_Bomb_LD)
AGM_45A_Shrike_ARM = (4, Weapons.AGM_45A_Shrike_ARM)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
4,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
4,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR <CLEAN>
class Pylon5:
AGM_45A_Shrike_ARM = (5, Weapons.AGM_45A_Shrike_ARM)
Mk_84___2000lb_GP_Bomb_LD = (5, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
5,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (5, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (5, WeaponsF105.MER_6_Mk_82_F_105)
Fuel_Tank = (5, WeaponsF105.Fuel_Tank)
TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD = (
5,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
)
MER_6_M117_F_105 = (5, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (5, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (5, Weapons._3_Mk_83)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
5,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
5,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR {BRU33_2*LAU61_M282}
# ERRR <CLEAN>
class Pylon6:
Mk_84___2000lb_GP_Bomb_LD = (6, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
6,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_83___1000lb_GP_Bomb_LD = (6, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (6, WeaponsF105.MER_6_Mk_82_F_105)
MER_6_M117_F_105 = (6, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (6, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (6, Weapons._3_Mk_83)
Fuel_Tank_ = (6, WeaponsF105.Fuel_Tank_)
# ERRR <CLEAN>
class Pylon7:
AGM_45A_Shrike_ARM = (7, Weapons.AGM_45A_Shrike_ARM)
Mk_84___2000lb_GP_Bomb_LD = (7, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
7,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (7, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (7, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (7, WeaponsF105.MER_6_Mk_82_F_105)
Fuel_Tank = (7, WeaponsF105.Fuel_Tank)
TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD = (
7,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
)
MER_6_M117_F_105 = (7, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (7, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (7, Weapons._3_Mk_83)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
7,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
7,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR {BRU33_2*LAU61_M282}
# ERRR <CLEAN>
class Pylon8:
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (8, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
LAU_105_2_AIM_9L__ = (8, WeaponsF105.LAU_105_2_AIM_9L__)
LAU_105_2_AIM_9P_ = (8, WeaponsF105.LAU_105_2_AIM_9P_)
AIM_9P_Sidewinder_IR_AAM = (8, Weapons.AIM_9P_Sidewinder_IR_AAM)
AIM_9B_Sidewinder_IR_AAM = (8, Weapons.AIM_9B_Sidewinder_IR_AAM)
AIM_9L_Sidewinder_IR_AAM = (8, Weapons.AIM_9L_Sidewinder_IR_AAM)
Mk_84___2000lb_GP_Bomb_LD = (8, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
8,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (8, Weapons.Mk_83___1000lb_GP_Bomb_LD)
M117___750lb_GP_Bomb_LD = (8, Weapons.M117___750lb_GP_Bomb_LD)
AGM_45A_Shrike_ARM = (8, Weapons.AGM_45A_Shrike_ARM)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
8,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
8,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR <CLEAN>
class Pylon9:
L_081_Fantasmagoria_ELINT_pod = (9, Weapons.L_081_Fantasmagoria_ELINT_pod)
pylons: Set[int] = {3, 4, 5, 6, 7, 8, 9}
tasks = [
task.CAP,
task.Escort,
task.FighterSweep,
task.Intercept,
task.Reconnaissance,
task.GroundAttack,
task.CAS,
task.RunwayAttack,
task.AntishipStrike,
]
task_default = task.FighterSweep
@planemod
class VSN_F105D(PlaneType):
id = "VSN_F105D"
flyable = True
height = 6.157
width = 10.63
length = 20.04
fuel_max = 4986
max_speed = 2240.928
chaff = 30
flare = 15
charge_total = 60
chaff_charge_size = 1
flare_charge_size = 2
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
livery_name = "VSN_F105D" # from type
Liveries = Liveries()[livery_name]
class Pylon3:
Smoke_Generator___red_ = (3, Weapons.Smoke_Generator___red_)
Smoke_Generator___green_ = (3, Weapons.Smoke_Generator___green_)
Smoke_Generator___blue_ = (3, Weapons.Smoke_Generator___blue_)
Smoke_Generator___white_ = (3, Weapons.Smoke_Generator___white_)
Smoke_Generator___yellow_ = (3, Weapons.Smoke_Generator___yellow_)
Smoke_Generator___orange_ = (3, Weapons.Smoke_Generator___orange_)
class Pylon4:
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (4, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM)
AIM_9L_Sidewinder_IR_AAM = (4, Weapons.AIM_9L_Sidewinder_IR_AAM)
AIM_9B_Sidewinder_IR_AAM = (4, Weapons.AIM_9B_Sidewinder_IR_AAM)
LAU_105_2_AIM_9L__ = (4, WeaponsF105.LAU_105_2_AIM_9L__)
LAU_105_2_AIM_9P_ = (4, WeaponsF105.LAU_105_2_AIM_9P_)
Mk_84___2000lb_GP_Bomb_LD = (4, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
4,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (4, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (4, Weapons.Mk_83___1000lb_GP_Bomb_LD)
M117___750lb_GP_Bomb_LD = (4, Weapons.M117___750lb_GP_Bomb_LD)
AGM_45A_Shrike_ARM = (4, Weapons.AGM_45A_Shrike_ARM)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
4,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
4,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR <CLEAN>
class Pylon5:
Mk_84___2000lb_GP_Bomb_LD = (5, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
5,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (5, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (5, WeaponsF105.MER_6_Mk_82_F_105)
Fuel_Tank = (5, WeaponsF105.Fuel_Tank)
TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD = (
5,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
)
MER_6_M117_F_105 = (5, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (5, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (5, Weapons._3_Mk_83)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
5,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
5,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR {BRU33_2*LAU61_M282}
# ERRR <CLEAN>
class Pylon6:
Mk_84___2000lb_GP_Bomb_LD = (6, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
6,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_83___1000lb_GP_Bomb_LD = (6, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (6, WeaponsF105.MER_6_Mk_82_F_105)
MER_6_M117_F_105 = (6, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (6, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (6, Weapons._3_Mk_83)
Fuel_Tank_ = (6, WeaponsF105.Fuel_Tank_)
# ERRR <CLEAN>
class Pylon7:
Mk_84___2000lb_GP_Bomb_LD = (7, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
7,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (7, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (7, Weapons.Mk_83___1000lb_GP_Bomb_LD)
MER_6_Mk_82_F_105 = (7, WeaponsF105.MER_6_Mk_82_F_105)
Fuel_Tank = (7, WeaponsF105.Fuel_Tank)
TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD = (
7,
Weapons.TER_9A_with_3_x_Mk_82___500lb_GP_Bomb_LD,
)
MER_6_M117_F_105 = (7, WeaponsF105.MER_6_M117_F_105)
TER_M117_F_105 = (7, WeaponsF105.TER_M117_F_105)
_3_Mk_83 = (7, Weapons._3_Mk_83)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
7,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
7,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR {BRU33_2*LAU61_M282}
# ERRR <CLEAN>
class Pylon8:
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (8, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
AIM_9P_Sidewinder_IR_AAM = (8, Weapons.AIM_9P_Sidewinder_IR_AAM)
AIM_9L_Sidewinder_IR_AAM = (8, Weapons.AIM_9L_Sidewinder_IR_AAM)
AIM_9B_Sidewinder_IR_AAM = (8, Weapons.AIM_9B_Sidewinder_IR_AAM)
LAU_105_2_AIM_9L__ = (8, WeaponsF105.LAU_105_2_AIM_9L__)
LAU_105_2_AIM_9P_ = (8, WeaponsF105.LAU_105_2_AIM_9P_)
Mk_84___2000lb_GP_Bomb_LD = (8, Weapons.Mk_84___2000lb_GP_Bomb_LD)
MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD = (
8,
Weapons.MER2_with_2_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (8, Weapons.Mk_83___1000lb_GP_Bomb_LD)
M117___750lb_GP_Bomb_LD = (8, Weapons.M117___750lb_GP_Bomb_LD)
AGM_45A_Shrike_ARM = (8, Weapons.AGM_45A_Shrike_ARM)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE = (
8,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk1__HE,
)
LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT = (
8,
Weapons.LAU_3_pod___19_x_2_75_FFAR__UnGd_Rkts_Mk5__HEAT,
)
# ERRR <CLEAN>
class Pylon9:
L_081_Fantasmagoria_ELINT_pod = (9, Weapons.L_081_Fantasmagoria_ELINT_pod)
pylons: Set[int] = {3, 4, 5, 6, 7, 8, 9}
tasks = [
task.CAP,
task.Escort,
task.FighterSweep,
task.Intercept,
task.Reconnaissance,
task.GroundAttack,
task.CAS,
task.RunwayAttack,
task.AntishipStrike,
]
task_default = task.FighterSweep

View File

@ -297,6 +297,7 @@ def create_game(
f22_raptor=False,
f100_supersabre=False,
f104_starfighter=False,
f105_thunderchief=False,
hercules=False,
jas39_gripen=False,
su30_flanker_h=False,

View File

@ -163,6 +163,7 @@ class NewGameWizard(QtWidgets.QWizard):
f22_raptor=self.field("f22_raptor"),
f100_supersabre=self.field("f100_supersabre"),
f104_starfighter=self.field("f104_starfighter"),
f105_thunderchief=self.field("f105_thunderchief"),
hercules=self.field("hercules"),
uh_60l=self.field("uh_60l"),
jas39_gripen=self.field("jas39_gripen"),
@ -666,6 +667,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("f100_supersabre", f100_supersabre)
f104_starfighter = QtWidgets.QCheckBox()
self.registerField("f104_starfighter", f104_starfighter)
f105_thunderchief = QtWidgets.QCheckBox()
self.registerField("f105_thunderchief", f105_thunderchief)
jas39_gripen = QtWidgets.QCheckBox()
self.registerField("jas39_gripen", jas39_gripen)
su30_flanker_h = QtWidgets.QCheckBox()
@ -708,6 +711,16 @@ class GeneratorOptions(QtWidgets.QWizardPage):
# Section break here for readability
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
modLayout_row += 1
modLayout.addWidget(
QtWidgets.QLabel("F-105 Thunderchief (version 2.7.12.23x)"),
modLayout_row,
0,
)
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
)

View File

@ -0,0 +1,125 @@
local unitPayloads = {
["name"] = "VSN_F105D",
["payloads"] = {
[1] = {
["displayName"] = "DEAD",
["name"] = "DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[2] = {
["displayName"] = "CAS",
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[3] = {
["displayName"] = "STRIKE",
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{VSN_F105G_PTB}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{VSN_F105G_PTB}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[4] = {
["displayName"] = "OCA",
["name"] = "OCA",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
},
["tasks"] = {
},
["unitType"] = "VSN_F105D",
}
return unitPayloads

View File

@ -0,0 +1,191 @@
local unitPayloads = {
["name"] = "VSN_F105G",
["payloads"] = {
[1] = {
["displayName"] = "DEAD",
["name"] = "DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[2] = {
["displayName"] = "CAS",
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[3] = {
["displayName"] = "STRIKE",
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{VSN_F105G_PTB}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{VSN_F105G_PTB}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[4] = {
["displayName"] = "OCA",
["name"] = "OCA",
["pylons"] = {
[1] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[2] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 5,
},
[3] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
[5] = {
["displayName"] = "SEAD",
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{AGM_45A}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[3] = {
["CLSID"] = "{AGM_45A}",
["num"] = 8,
},
[4] = {
["CLSID"] = "{AGM_45A}",
["num"] = 7,
},
[5] = {
["CLSID"] = "{AGM_45A}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 9,
},
},
["tasks"] = {
[1] = 19,
},
},
[6] = {
["displayName"] = "Liberation SEAD Escort",
["name"] = "Liberation SEAD Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{VSN_F105G_Center_PTB}",
["num"] = 6,
},
[3] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 9,
},
[4] = {
["CLSID"] = "{AGM_45A}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{SB_F105_BRU_41A_M117_6}",
["num"] = 7,
},
[6] = {
["CLSID"] = "{AGM_45A}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 19,
},
},
},
["tasks"] = {
},
["unitType"] = "VSN_F105G",
}
return unitPayloads

View File

@ -13,6 +13,7 @@
"F-100 Super Sabre",
"P-51D-25-NA Mustang",
"P-51D-30-NA Mustang",
"F-105D Thunderchief",
"UH-1H Iroquois"
],
"frontline_units": [

View File

@ -13,6 +13,8 @@
"F-4E Phantom II",
"F-5E Tiger II",
"F-100 Super Sabre",
"F-105D Thunderchief",
"F-105G Thunderchief",
"UH-1H Iroquois"
],
"awacs": [

View File

@ -15,6 +15,7 @@
"F-4E Phantom II",
"F-5E Tiger II",
"F-100 Super Sabre",
"F-105G Thunderchief",
"S-3B Viking",
"UH-1H Iroquois"
],

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,15 @@
description:
"The Republic F-105 Thunderchief is a supersonic fighter-bomber that served with \
\ the United States Air Force from 1958 to 1984. Capable of Mach 2, it conducted \
\ the majority of strike bombing missions during the early years of the Vietnam War.\
\ The F-105D variant is the definitive production model, with all-weather capability \
\ because of advanced avionics, including AN/APN-131 navigational radar."
introduced: 1958
manufacturer: Republic Aviation
origin: USA
price: 9
role: Fighter-Bomber
max_range: 150
gunfighter: true
variants:
F-105D Thunderchief: {}

View File

@ -0,0 +1,15 @@
description:
"The Republic F-105 Thunderchief is a supersonic fighter-bomber that served with \
\ the United States Air Force from 1958 to 1984. Capable of Mach 2, it conducted \
\ the majority of strike bombing missions during the early years of the Vietnam War.\
\ The F-105G variant is a two-seat model designed specifically for Suppression of \
Enemy Air Defences (SEAD) / Wild Weasel missions."
introduced: 1967
manufacturer: Republic Aviation
origin: USA
price: 9
role: Fighter-Bomber
max_range: 150
gunfighter: true
variants:
F-105G Thunderchief: {}