Add OV-10A Bronco Mod

This commit is contained in:
Nosajthedevil 2022-11-07 13:06:56 -06:00 committed by Raffson
parent 5bde9804d6
commit 5f15ddc52c
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
11 changed files with 375 additions and 0 deletions

View File

@ -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,

View File

@ -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")

View File

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

View File

@ -13,6 +13,7 @@ from .jas39 import *
from .su30 import *
from .su57 import *
from .uh60l import *
from .ov10a import *
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

@ -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),

View 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

View File

@ -18,6 +18,7 @@
"F-100 Super Sabre",
"F-105G Thunderchief",
"S-3B Viking",
"OV-10A Bronco",
"UH-1H Iroquois"
],
"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: {}