mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
246 lines
8.4 KiB
Python
246 lines
8.4 KiB
Python
from typing import Set
|
|
|
|
from dcs import task
|
|
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 WeaponsF15D:
|
|
Python_5 = {"clsid": "{Python 5}", "name": "Python 5", "weight": 103}
|
|
CFT_Fuel_left_750gal = {
|
|
"clsid": "{F-15D_cft_750gal_left}",
|
|
"name": "CFT Fuel left 750gal",
|
|
"weight": 2737.33,
|
|
}
|
|
CFT_Fuel_left_750gal_And_Tank = {
|
|
"clsid": "{F-15D_cft_750gal_left_And_Tank}",
|
|
"name": "CFT Fuel left 750gal And Tank",
|
|
"weight": 4963.69,
|
|
}
|
|
CFT_Fuel_Right_750gal = {
|
|
"clsid": "{F-15D_cft_750gal_Right}",
|
|
"name": "CFT Fuel Right 750gal",
|
|
"weight": 2737.33,
|
|
}
|
|
CFT_Fuel_Right_750gal_And_Tank = {
|
|
"clsid": "{F-15D_cft_750gal_Right_And_Tank}",
|
|
"name": "CFT Fuel Right 750gal And Tank",
|
|
"weight": 4963.69,
|
|
}
|
|
I_Derby_ER = {"clsid": "{I-Derby ER}", "name": "I-Derby ER", "weight": 118}
|
|
ELL___8222SB = {"clsid": "{ELL - 8222SB}", "name": "ELL - 8222SB", "weight": 100}
|
|
|
|
|
|
inject_weapons(WeaponsF15D)
|
|
|
|
|
|
@planemod
|
|
class F_15D(PlaneType):
|
|
id = "F-15D"
|
|
flyable = True
|
|
height = 5.63
|
|
width = 13.05
|
|
length = 19.43
|
|
fuel_max = 6103
|
|
max_speed = 2649.996
|
|
chaff = 120
|
|
flare = 120
|
|
charge_total = 240
|
|
chaff_charge_size = 1
|
|
flare_charge_size = 1
|
|
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
|
radio_frequency = 127.5
|
|
|
|
livery_name = "F-15D" # from type
|
|
|
|
class Pylon1:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
1,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
1,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
Smokewinder___red = (1, Weapons.Smokewinder___red)
|
|
Smokewinder___green = (1, Weapons.Smokewinder___green)
|
|
Smokewinder___blue = (1, Weapons.Smokewinder___blue)
|
|
Smokewinder___white = (1, Weapons.Smokewinder___white)
|
|
Smokewinder___yellow = (1, Weapons.Smokewinder___yellow)
|
|
Smokewinder___orange = (1, Weapons.Smokewinder___orange)
|
|
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (1, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
|
|
Python_5 = (1, WeaponsF15D.Python_5)
|
|
AIM_9X_Sidewinder_IR_AAM = (1, Weapons.AIM_9X_Sidewinder_IR_AAM)
|
|
|
|
class Pylon2:
|
|
Fuel_tank_610_gal = (2, Weapons.Fuel_tank_610_gal)
|
|
Mk_84___2000lb_GP_Bomb_LD = (2, Weapons.Mk_84___2000lb_GP_Bomb_LD)
|
|
GBU_31_V_1_B___JDAM__2000lb_GPS_Guided_Bomb = (
|
|
2,
|
|
Weapons.GBU_31_V_1_B___JDAM__2000lb_GPS_Guided_Bomb,
|
|
)
|
|
CFT_Fuel_Right_750gal_And_Tank = (2, WeaponsF15D.CFT_Fuel_Right_750gal_And_Tank)
|
|
CFT_Fuel_Right_750gal = (2, WeaponsF15D.CFT_Fuel_Right_750gal)
|
|
|
|
class Pylon3:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
3,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
3,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
Python_5 = (3, WeaponsF15D.Python_5)
|
|
I_Derby_ER = (3, WeaponsF15D.I_Derby_ER)
|
|
AIM_9X_Sidewinder_IR_AAM = (3, Weapons.AIM_9X_Sidewinder_IR_AAM)
|
|
|
|
class Pylon4:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
4,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
4,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
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_7MH_Sparrow_Semi_Active_Radar = (
|
|
4,
|
|
Weapons.AIM_7MH_Sparrow_Semi_Active_Radar,
|
|
)
|
|
AIM_7E_2_Sparrow_Semi_Active_Radar = (
|
|
4,
|
|
Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar,
|
|
)
|
|
I_Derby_ER = (4, WeaponsF15D.I_Derby_ER)
|
|
|
|
class Pylon5:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
5,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
5,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
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_7MH_Sparrow_Semi_Active_Radar = (
|
|
5,
|
|
Weapons.AIM_7MH_Sparrow_Semi_Active_Radar,
|
|
)
|
|
AIM_7E_2_Sparrow_Semi_Active_Radar = (
|
|
5,
|
|
Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar,
|
|
)
|
|
I_Derby_ER = (5, WeaponsF15D.I_Derby_ER)
|
|
ELL___8222SB = (5, WeaponsF15D.ELL___8222SB)
|
|
|
|
class Pylon6:
|
|
Fuel_tank_610_gal = (6, Weapons.Fuel_tank_610_gal)
|
|
Mk_84___2000lb_GP_Bomb_LD = (6, Weapons.Mk_84___2000lb_GP_Bomb_LD)
|
|
|
|
class Pylon7:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
7,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
7,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
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_7MH_Sparrow_Semi_Active_Radar = (
|
|
7,
|
|
Weapons.AIM_7MH_Sparrow_Semi_Active_Radar,
|
|
)
|
|
AIM_7E_2_Sparrow_Semi_Active_Radar = (
|
|
7,
|
|
Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar,
|
|
)
|
|
I_Derby_ER = (7, WeaponsF15D.I_Derby_ER)
|
|
|
|
class Pylon8:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
8,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
8,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
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_7MH_Sparrow_Semi_Active_Radar = (
|
|
8,
|
|
Weapons.AIM_7MH_Sparrow_Semi_Active_Radar,
|
|
)
|
|
AIM_7E_2_Sparrow_Semi_Active_Radar = (
|
|
8,
|
|
Weapons.AIM_7E_2_Sparrow_Semi_Active_Radar,
|
|
)
|
|
I_Derby_ER = (8, WeaponsF15D.I_Derby_ER)
|
|
|
|
class Pylon9:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
9,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
9,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
Python_5 = (9, WeaponsF15D.Python_5)
|
|
I_Derby_ER = (9, WeaponsF15D.I_Derby_ER)
|
|
AIM_9X_Sidewinder_IR_AAM = (9, Weapons.AIM_9X_Sidewinder_IR_AAM)
|
|
|
|
class Pylon10:
|
|
Fuel_tank_610_gal = (10, Weapons.Fuel_tank_610_gal)
|
|
Mk_84___2000lb_GP_Bomb_LD = (10, Weapons.Mk_84___2000lb_GP_Bomb_LD)
|
|
GBU_31_V_1_B___JDAM__2000lb_GPS_Guided_Bomb = (
|
|
10,
|
|
Weapons.GBU_31_V_1_B___JDAM__2000lb_GPS_Guided_Bomb,
|
|
)
|
|
CFT_Fuel_left_750gal_And_Tank = (10, WeaponsF15D.CFT_Fuel_left_750gal_And_Tank)
|
|
CFT_Fuel_left_750gal = (10, WeaponsF15D.CFT_Fuel_left_750gal)
|
|
|
|
class Pylon11:
|
|
AIM_120B_AMRAAM___Active_Radar_AAM = (
|
|
11,
|
|
Weapons.AIM_120B_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
AIM_120C_AMRAAM___Active_Radar_AAM = (
|
|
11,
|
|
Weapons.AIM_120C_AMRAAM___Active_Radar_AAM,
|
|
)
|
|
Smokewinder___red = (11, Weapons.Smokewinder___red)
|
|
Smokewinder___green = (11, Weapons.Smokewinder___green)
|
|
Smokewinder___blue = (11, Weapons.Smokewinder___blue)
|
|
Smokewinder___white = (11, Weapons.Smokewinder___white)
|
|
Smokewinder___yellow = (11, Weapons.Smokewinder___yellow)
|
|
Smokewinder___orange = (11, Weapons.Smokewinder___orange)
|
|
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (11, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
|
|
Python_5 = (11, WeaponsF15D.Python_5)
|
|
AIM_9X_Sidewinder_IR_AAM = (11, Weapons.AIM_9X_Sidewinder_IR_AAM)
|
|
|
|
pylons: Set[int] = {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.CAS
|