Add OV-10A Bronco Mod

Adding the OV-10A Bronco Mod to develop.
This commit is contained in:
Nosajthedevil 2022-11-07 13:06:56 -06:00 committed by Dan Albert
parent 9785cf9fe6
commit 4f9719abc4
11 changed files with 377 additions and 0 deletions

View File

@ -125,6 +125,7 @@ from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.su57.su57 import Su_57 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 pydcs_extensions.uh60l.uh60l import KC130J, UH_60L
from .flighttype import FlightType from .flighttype import FlightType
@ -214,6 +215,7 @@ CAS_CAPABLE = [
A_10A, A_10A,
B_1B, B_1B,
A_4E_C, A_4E_C,
Bronco_OV_10A,
F_14B, F_14B,
F_14A_135_GR, F_14A_135_GR,
AJS37, AJS37,
@ -321,6 +323,7 @@ DEAD_CAPABLE = SEAD_CAPABLE + [
P_47D_30, P_47D_30,
P_51D_30_NA, P_51D_30_NA,
P_51D, P_51D,
Bronco_OV_10A,
SpitfireLFMkIXCW, SpitfireLFMkIXCW,
SpitfireLFMkIX, SpitfireLFMkIX,
MosquitoFBMkVI, MosquitoFBMkVI,
@ -368,6 +371,7 @@ STRIKE_CAPABLE = [
A_10C, A_10C,
S_3B, S_3B,
A_4E_C, A_4E_C,
Bronco_OV_10A,
M_2000C, M_2000C,
Mirage_F1B, Mirage_F1B,
Mirage_F1BE, Mirage_F1BE,
@ -469,6 +473,7 @@ RUNWAY_ATTACK_CAPABLE = [
A_10C, A_10C,
S_3B, S_3B,
A_4E_C, A_4E_C,
Bronco_OV_10A,
M_2000C, M_2000C,
Mirage_F1B, Mirage_F1B,
Mirage_F1BE, Mirage_F1BE,

View File

@ -302,6 +302,8 @@ class Faction:
self.remove_aircraft("JAS39Gripen_AG") self.remove_aircraft("JAS39Gripen_AG")
if not mod_settings.su57_felon: if not mod_settings.su57_felon:
self.remove_aircraft("Su-57") self.remove_aircraft("Su-57")
if not mod_settings.ov10a_bronco:
self.remove_aircraft("Bronco-OV-10A")
# frenchpack # frenchpack
if not mod_settings.frenchpack: if not mod_settings.frenchpack:
self.remove_vehicle("AMX10RCR") self.remove_vehicle("AMX10RCR")

View File

@ -60,6 +60,7 @@ class ModSettings:
su57_felon: bool = False su57_felon: bool = False
frenchpack: bool = False frenchpack: bool = False
high_digit_sams: bool = False high_digit_sams: bool = False
ov10a_bronco: bool = False
class GameGenerator: class GameGenerator:

View File

@ -7,6 +7,7 @@ from .highdigitsams import *
from .jas39 import * from .jas39 import *
from .su57 import * from .su57 import *
from .uh60l import * from .uh60l import *
from .ov10a import *
def load_mods() -> None: def load_mods() -> None:

View 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

View File

@ -165,6 +165,7 @@ class NewGameWizard(QtWidgets.QWizard):
uh_60l=self.field("uh_60l"), uh_60l=self.field("uh_60l"),
jas39_gripen=self.field("jas39_gripen"), jas39_gripen=self.field("jas39_gripen"),
su57_felon=self.field("su57_felon"), su57_felon=self.field("su57_felon"),
ov10a_bronco=self.field("ov10a_bronco"),
frenchpack=self.field("frenchpack"), frenchpack=self.field("frenchpack"),
high_digit_sams=self.field("high_digit_sams"), high_digit_sams=self.field("high_digit_sams"),
) )
@ -663,6 +664,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("jas39_gripen", jas39_gripen) self.registerField("jas39_gripen", jas39_gripen)
su57_felon = QtWidgets.QCheckBox() su57_felon = QtWidgets.QCheckBox()
self.registerField("su57_felon", su57_felon) self.registerField("su57_felon", su57_felon)
ov10a_bronco = QtWidgets.QCheckBox()
self.registerField("ov10a_bronco", ov10a_bronco)
frenchpack = QtWidgets.QCheckBox() frenchpack = QtWidgets.QCheckBox()
self.registerField("frenchpack", frenchpack) self.registerField("frenchpack", frenchpack)
high_digit_sams = QtWidgets.QCheckBox() high_digit_sams = QtWidgets.QCheckBox()
@ -707,6 +710,9 @@ class GeneratorOptions(QtWidgets.QWizardPage):
modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), modLayout_row, 0) modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), modLayout_row, 0)
modLayout.addWidget(su57_felon, modLayout_row, 1) modLayout.addWidget(su57_felon, modLayout_row, 1)
modLayout_row += 1 modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("OV-10A Bronco"), modLayout_row, 0)
modLayout.addWidget(ov10a_bronco, modLayout_row, 1)
modLayout_row += 1
modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), modLayout_row, 0) modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), modLayout_row, 0)
modLayout.addWidget(frenchpack, modLayout_row, 1) modLayout.addWidget(frenchpack, modLayout_row, 1)
modLayout_row += 1 modLayout_row += 1

View File

@ -0,0 +1,173 @@
local unitPayloads = {
["name"] = "A-4E-C",
["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

View File

@ -15,6 +15,7 @@
"F-4E Phantom II", "F-4E Phantom II",
"F-5E Tiger II", "F-5E Tiger II",
"S-3B Viking", "S-3B Viking",
"OV-10A Bronco",
"UH-1H Iroquois" "UH-1H Iroquois"
], ],
"awacs": [ "awacs": [

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View 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: {}