mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Add OV-10A Bronco Mod
This commit is contained in:
parent
5bde9804d6
commit
5f15ddc52c
@ -142,6 +142,7 @@ 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
|
||||
from pydcs_extensions.su57.su57 import Su_57
|
||||
from pydcs_extensions.ov10a.ov10a import Bronco_OV_10A
|
||||
from pydcs_extensions.uh60l.uh60l import KC130J, UH_60L
|
||||
from .flighttype import FlightType
|
||||
|
||||
@ -258,6 +259,7 @@ CAS_CAPABLE = [
|
||||
A_10A,
|
||||
B_1B,
|
||||
A_4E_C,
|
||||
Bronco_OV_10A,
|
||||
F_14B,
|
||||
F_14A_135_GR,
|
||||
AJS37,
|
||||
@ -390,6 +392,7 @@ DEAD_CAPABLE = SEAD_CAPABLE + [
|
||||
P_47D_30,
|
||||
P_51D_30_NA,
|
||||
P_51D,
|
||||
Bronco_OV_10A,
|
||||
SpitfireLFMkIXCW,
|
||||
SpitfireLFMkIX,
|
||||
MosquitoFBMkVI,
|
||||
@ -455,6 +458,7 @@ STRIKE_CAPABLE = [
|
||||
A_10C,
|
||||
S_3B,
|
||||
A_4E_C,
|
||||
Bronco_OV_10A,
|
||||
M_2000C,
|
||||
Mirage_F1B,
|
||||
Mirage_F1BE,
|
||||
@ -577,6 +581,7 @@ RUNWAY_ATTACK_CAPABLE = [
|
||||
A_10C,
|
||||
S_3B,
|
||||
A_4E_C,
|
||||
Bronco_OV_10A,
|
||||
M_2000C,
|
||||
Mirage_F1B,
|
||||
Mirage_F1BE,
|
||||
|
||||
@ -361,6 +361,8 @@ class Faction:
|
||||
self.remove_aircraft("Su-30SM")
|
||||
if not mod_settings.su57_felon:
|
||||
self.remove_aircraft("Su-57")
|
||||
if not mod_settings.ov10a_bronco:
|
||||
self.remove_aircraft("Bronco-OV-10A")
|
||||
# frenchpack
|
||||
if not mod_settings.frenchpack:
|
||||
self.remove_vehicle("AMX10RCR")
|
||||
|
||||
@ -68,6 +68,7 @@ class ModSettings:
|
||||
su57_felon: bool = False
|
||||
frenchpack: bool = False
|
||||
high_digit_sams: bool = False
|
||||
ov10a_bronco: bool = False
|
||||
|
||||
|
||||
class GameGenerator:
|
||||
|
||||
@ -13,6 +13,7 @@ from .jas39 import *
|
||||
from .su30 import *
|
||||
from .su57 import *
|
||||
from .uh60l import *
|
||||
from .ov10a import *
|
||||
|
||||
|
||||
def load_mods() -> None:
|
||||
|
||||
174
pydcs_extensions/ov10a/ov10a.py
Normal file
174
pydcs_extensions/ov10a/ov10a.py
Normal file
@ -0,0 +1,174 @@
|
||||
from typing import Any, Dict, 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 WeaponsOV10A:
|
||||
OV10_SMOKE = {"clsid": "{OV10_SMOKE}", "name": "OV10_SMOKE", "weight": 1}
|
||||
ParaTrooper = {"clsid": "{PARA}", "name": "ParaTrooper", "weight": 80}
|
||||
Fuel_Tank_150_gallons_ = {
|
||||
"clsid": "{150gal}",
|
||||
"name": "Fuel Tank 150 gallons",
|
||||
"weight": 499.5592,
|
||||
}
|
||||
|
||||
|
||||
inject_weapons(WeaponsOV10A)
|
||||
|
||||
|
||||
@planemod
|
||||
class Bronco_OV_10A(PlaneType):
|
||||
id = "Bronco-OV-10A"
|
||||
flyable = True
|
||||
height = 4.62
|
||||
width = 12.9
|
||||
length = 12.76
|
||||
fuel_max = 940
|
||||
max_speed = 684
|
||||
eplrs = True
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
panel_radio = {
|
||||
1: {
|
||||
"channels": {6: 41, 2: 31, 8: 50, 3: 32, 1: 30, 4: 33, 5: 40, 7: 42},
|
||||
},
|
||||
}
|
||||
|
||||
livery_name = "BRONCO-OV-10A" # from type
|
||||
Liveries = Liveries()[livery_name]
|
||||
|
||||
class Pylon1:
|
||||
LAU_7_with_AIM_9P_Sidewinder_IR_AAM = (
|
||||
1,
|
||||
Weapons.LAU_7_with_AIM_9P_Sidewinder_IR_AAM,
|
||||
)
|
||||
|
||||
# ERRR {MK-81}
|
||||
|
||||
class Pylon2:
|
||||
Mk_82___500lb_GP_Bomb_LD = (2, Weapons.Mk_82___500lb_GP_Bomb_LD)
|
||||
Mk_82_Snakeye___500lb_GP_Bomb_HD = (2, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD)
|
||||
Mk_83___1000lb_GP_Bomb_LD = (2, Weapons.Mk_83___1000lb_GP_Bomb_LD)
|
||||
M117___750lb_GP_Bomb_LD = (2, Weapons.M117___750lb_GP_Bomb_LD)
|
||||
LAU3_WP156 = (2, Weapons.LAU3_WP156)
|
||||
LAU3_WP1B = (2, Weapons.LAU3_WP1B)
|
||||
LAU3_WP61 = (2, Weapons.LAU3_WP61)
|
||||
LAU3_HE5 = (2, Weapons.LAU3_HE5)
|
||||
LAU3_HE151 = (2, Weapons.LAU3_HE151)
|
||||
M260_HYDRA = (2, Weapons.M260_HYDRA)
|
||||
LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
2,
|
||||
Weapons.LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
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,
|
||||
)
|
||||
|
||||
# ERRR {MK-81}
|
||||
|
||||
class Pylon3:
|
||||
Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD)
|
||||
Mk_82_Snakeye___500lb_GP_Bomb_HD = (3, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD)
|
||||
Mk_83___1000lb_GP_Bomb_LD = (3, Weapons.Mk_83___1000lb_GP_Bomb_LD)
|
||||
M117___750lb_GP_Bomb_LD = (3, Weapons.M117___750lb_GP_Bomb_LD)
|
||||
LAU3_WP156 = (3, Weapons.LAU3_WP156)
|
||||
LAU3_WP1B = (3, Weapons.LAU3_WP1B)
|
||||
LAU3_WP61 = (3, Weapons.LAU3_WP61)
|
||||
LAU3_HE5 = (3, Weapons.LAU3_HE5)
|
||||
LAU3_HE151 = (3, Weapons.LAU3_HE151)
|
||||
M260_HYDRA = (3, Weapons.M260_HYDRA)
|
||||
LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
3,
|
||||
Weapons.LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
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,
|
||||
)
|
||||
|
||||
class Pylon4:
|
||||
Fuel_Tank_150_gallons_ = (4, Weapons.Fuel_Tank_150_gallons_)
|
||||
# ERRR {MK-81}
|
||||
Mk_82___500lb_GP_Bomb_LD = (4, Weapons.Mk_82___500lb_GP_Bomb_LD)
|
||||
Mk_82_Snakeye___500lb_GP_Bomb_HD = (4, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD)
|
||||
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)
|
||||
|
||||
# ERRR {MK-81}
|
||||
|
||||
class Pylon5:
|
||||
Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD)
|
||||
Mk_82_Snakeye___500lb_GP_Bomb_HD = (5, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD)
|
||||
Mk_83___1000lb_GP_Bomb_LD = (5, Weapons.Mk_83___1000lb_GP_Bomb_LD)
|
||||
M117___750lb_GP_Bomb_LD = (5, Weapons.M117___750lb_GP_Bomb_LD)
|
||||
LAU3_WP156 = (5, Weapons.LAU3_WP156)
|
||||
LAU3_WP1B = (5, Weapons.LAU3_WP1B)
|
||||
LAU3_WP61 = (5, Weapons.LAU3_WP61)
|
||||
LAU3_HE5 = (5, Weapons.LAU3_HE5)
|
||||
LAU3_HE151 = (5, Weapons.LAU3_HE151)
|
||||
M260_HYDRA = (5, Weapons.M260_HYDRA)
|
||||
LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
5,
|
||||
Weapons.LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
5,
|
||||
Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
|
||||
# ERRR {MK-81}
|
||||
|
||||
class Pylon6:
|
||||
Mk_82___500lb_GP_Bomb_LD = (6, Weapons.Mk_82___500lb_GP_Bomb_LD)
|
||||
Mk_82_Snakeye___500lb_GP_Bomb_HD = (6, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD)
|
||||
Mk_83___1000lb_GP_Bomb_LD = (6, Weapons.Mk_83___1000lb_GP_Bomb_LD)
|
||||
M117___750lb_GP_Bomb_LD = (6, Weapons.M117___750lb_GP_Bomb_LD)
|
||||
LAU3_WP156 = (6, Weapons.LAU3_WP156)
|
||||
LAU3_WP1B = (6, Weapons.LAU3_WP1B)
|
||||
LAU3_WP61 = (6, Weapons.LAU3_WP61)
|
||||
LAU3_HE5 = (6, Weapons.LAU3_HE5)
|
||||
LAU3_HE151 = (6, Weapons.LAU3_HE151)
|
||||
M260_HYDRA = (6, Weapons.M260_HYDRA)
|
||||
LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
6,
|
||||
Weapons.LAU_10R_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
|
||||
6,
|
||||
Weapons.LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG,
|
||||
)
|
||||
|
||||
class Pylon7:
|
||||
LAU_7_with_AIM_9P_Sidewinder_IR_AAM = (
|
||||
7,
|
||||
Weapons.LAU_7_with_AIM_9P_Sidewinder_IR_AAM,
|
||||
)
|
||||
|
||||
class Pylon8:
|
||||
ParaTrooper = (8, Weapons.ParaTrooper)
|
||||
|
||||
class Pylon9:
|
||||
OV10_SMOKE = (9, Weapons.OV10_SMOKE)
|
||||
|
||||
pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
|
||||
|
||||
tasks = [
|
||||
task.GroundAttack,
|
||||
task.RunwayAttack,
|
||||
task.PinpointStrike,
|
||||
task.CAS,
|
||||
task.AFAC,
|
||||
task.CAP,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.Intercept,
|
||||
]
|
||||
task_default = task.CAS
|
||||
@ -173,6 +173,7 @@ class NewGameWizard(QtWidgets.QWizard):
|
||||
jas39_gripen=self.field("jas39_gripen"),
|
||||
su30_flanker_h=self.field("su30_flanker_h"),
|
||||
su57_felon=self.field("su57_felon"),
|
||||
ov10a_bronco=self.field("ov10a_bronco"),
|
||||
frenchpack=self.field("frenchpack"),
|
||||
high_digit_sams=self.field("high_digit_sams"),
|
||||
)
|
||||
@ -687,6 +688,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
||||
self.registerField("su30_flanker_h", su30_flanker_h)
|
||||
su57_felon = QtWidgets.QCheckBox()
|
||||
self.registerField("su57_felon", su57_felon)
|
||||
ov10a_bronco = QtWidgets.QCheckBox()
|
||||
self.registerField("ov10a_bronco", ov10a_bronco)
|
||||
frenchpack = QtWidgets.QCheckBox()
|
||||
self.registerField("frenchpack", frenchpack)
|
||||
high_digit_sams = QtWidgets.QCheckBox()
|
||||
@ -715,6 +718,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
||||
("Frenchpack", frenchpack),
|
||||
("High Digit SAMs", high_digit_sams),
|
||||
("JAS 39 Gripen (v1.8.0-beta)", jas39_gripen),
|
||||
("OV-10A Bronco", ov10a_bronco),
|
||||
("Su-30 Flanker-H (V2.01B)", su30_flanker_h),
|
||||
("Su-57 Felon", su57_felon),
|
||||
("UH-60L Black Hawk (v1.3.1)", uh_60l),
|
||||
|
||||
173
resources/customized_payloads/Bronco-OV-10A.lua
Normal file
173
resources/customized_payloads/Bronco-OV-10A.lua
Normal file
@ -0,0 +1,173 @@
|
||||
local unitPayloads = {
|
||||
["name"] = "Bronco-OV-10A",
|
||||
["payloads"] = {
|
||||
[1] = {
|
||||
["name"] = "CAP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{150gal}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[2] = {
|
||||
["name"] = "CAS",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 2,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{150gal}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 6,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[3] = {
|
||||
["name"] = "STRIKE",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
|
||||
["num"] = 6,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[4] = {
|
||||
["name"] = "SEAD",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 2,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{150gal}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 6,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[5] = {
|
||||
["name"] = "ANTISHIP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 2,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{F3EFE0AB-E91A-42D8-9CA2-B63C91ED570A}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "{150gal}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "{AIM-9P-ON-ADAPTER}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "LAU3_HE5",
|
||||
["num"] = 6,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
},
|
||||
["unitType"] = "Bronco-OV-10A",
|
||||
}
|
||||
return unitPayloads
|
||||
@ -18,6 +18,7 @@
|
||||
"F-100 Super Sabre",
|
||||
"F-105G Thunderchief",
|
||||
"S-3B Viking",
|
||||
"OV-10A Bronco",
|
||||
"UH-1H Iroquois"
|
||||
],
|
||||
"awacs": [
|
||||
|
||||
BIN
resources/ui/units/aircrafts/banners/Bronco-OV-10A_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/Bronco-OV-10A_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
resources/ui/units/aircrafts/icons/Bronco-OV-10A_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/Bronco-OV-10A_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
14
resources/units/aircraft/Bronco-OV-10A.yaml
Normal file
14
resources/units/aircraft/Bronco-OV-10A.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
carrier_capable: false
|
||||
description: The North American Rockwell OV-10 Bronco is an American twin-turboprop
|
||||
light attack and observation aircraft. It was developed in the 1960s as a special aircraft
|
||||
for counter-insurgency (COIN) combat, and one of its primary missions was as a forward air control (FAC) aircraft.
|
||||
It can carry up to 3,200 lb (1,450 kg) of external munitions and internal loads such as paratroopers or stretchers,
|
||||
and can loiter for three or more hours.
|
||||
introduced: 1969
|
||||
manufacturer: North American Rockwell
|
||||
origin: USA
|
||||
price: 4
|
||||
role: COIN / FAC /Light Attack
|
||||
gunfighter: true
|
||||
variants:
|
||||
OV-10A Bronco: {}
|
||||
Loading…
x
Reference in New Issue
Block a user