Gripen mod support.

(cherry picked from commit 0220fa4ff6c0f99216b5d74724d341908290cf36)
This commit is contained in:
bgreman 2021-06-08 22:47:44 -04:00 committed by Dan Albert
parent e4c9d8799e
commit 3188994261
14 changed files with 912 additions and 0 deletions

View File

@ -164,6 +164,7 @@ from game.factions.faction_loader import FactionLoader
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
@ -174,6 +175,8 @@ plane_map["F-22A"] = F_22A
plane_map["MB-339PAN"] = MB_339PAN
plane_map["Su-57"] = Su_57
plane_map["Hercules"] = Hercules
plane_map["JAS39Gripen"] = JAS39Gripen
plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG
vehicle_map["FieldHL"] = frenchpack._FIELD_HIDE
vehicle_map["HARRIERH"] = frenchpack._FIELD_HIDE_SMALL
@ -405,6 +408,7 @@ PRICES = {
F_22A: 40,
Tornado_IDS: 20,
Tornado_GR4: 20,
JAS39Gripen: 26,
# bomber
Su_17M4: 10,
Su_25: 15,
@ -418,6 +422,7 @@ PRICES = {
A_10C: 22,
A_10C_2: 24,
S_3B: 10,
JAS39Gripen_AG: 26,
# heli
Ka_50: 13,
SA342M: 8,

View File

@ -665,10 +665,16 @@ AIRCRAFT_DATA: Dict[str, AircraftData] = {
channel_allocator=None,
channel_namer=SCR522ChannelNamer,
),
"JAS39Gripen": AircraftData(
inter_flight_radio=get_radio("R&S Series 6000"),
intra_flight_radio=get_radio("R&S Series 6000"),
channel_allocator=None,
),
}
AIRCRAFT_DATA["A-10C_2"] = AIRCRAFT_DATA["A-10C"]
AIRCRAFT_DATA["P-51D-30-NA"] = AIRCRAFT_DATA["P-51D"]
AIRCRAFT_DATA["P-47D-30"] = AIRCRAFT_DATA["P-51D"]
AIRCRAFT_DATA["JAS39Gripen_AG"] = AIRCRAFT_DATA["JAS39Gripen"]
class AircraftConflictGenerator:

View File

@ -103,6 +103,7 @@ from dcs.unittype import FlyingType
from gen.flights.flight import FlightType
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
@ -134,6 +135,7 @@ CAP_CAPABLE = [
FA_18C_hornet,
F_16A,
F_4E,
JAS39Gripen,
JF_17,
MiG_23MLD,
MiG_21Bis,
@ -174,6 +176,7 @@ CAS_CAPABLE = [
FA_18C_hornet,
Tornado_GR4,
Tornado_IDS,
JAS39Gripen_AG,
JF_17,
AV8BNA,
A_10A,
@ -242,6 +245,7 @@ SEAD_CAPABLE = [
A_4E_C,
F_14B,
F_14A_135_GR,
JAS39Gripen_AG,
AV8BNA,
Su_24M,
Su_17M4,
@ -257,6 +261,7 @@ DEAD_CAPABLE = [
AJS37,
F_14B,
F_14A_135_GR,
JAS39Gripen_AG,
B_1B,
B_52H,
Tu_160,
@ -292,6 +297,7 @@ STRIKE_CAPABLE = [
F_16A,
F_14B,
F_14A_135_GR,
JAS39Gripen_AG,
Tornado_IDS,
Su_17M4,
Su_24MR,
@ -342,6 +348,7 @@ ANTISHIP_CAPABLE = [
AJS37,
Tu_22M3,
FA_18C_hornet,
JAS39Gripen_AG,
Su_24M,
Su_17M4,
JF_17,

View File

@ -134,6 +134,7 @@ RADIOS: List[Radio] = [
Radio("AN/ARC-51BX", MHz(225), MHz(400), step=kHz(50)),
Radio("AN/ARC-131", MHz(30), MHz(76), step=kHz(50)),
Radio("AN/ARC-134", MHz(116), MHz(150), step=kHz(25)),
Radio("R&S Series 6000", MHz(100), MHz(156), step=kHz(25)),
]

View File

@ -0,0 +1,476 @@
from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from pydcs_extensions.weapon_injector import inject_weapons
class JAS39GripenWeapons:
JAS_ARAKM70BAP = {
"clsid": "JAS_ARAKM70BAP",
"name": "ARAK M70B AP",
"weight": 372.2,
}
JAS_ARAKM70BHE = {
"clsid": "JAS_ARAKM70BHE",
"name": "ARAK M70B HE",
"weight": 372.2,
}
JAS_BK90 = {
"clsid": "JAS_BK90",
"name": "BK-90 Unguided Cluster Munition",
"weight": 605,
}
JAS_BRIMSTONE = {
"clsid": "JAS_BRIMSTONE",
"name": "Brimstone Laser Guided Missile",
"weight": 195.5,
}
JAS_GBU10_TV = {
"clsid": "JAS_GBU10_TV",
"name": "GBU-10 2000 lb TV-guided Bomb",
"weight": 934,
}
JAS_GBU12 = {
"clsid": "JAS_GBU12",
"name": "GBU-12 500 lb Laser-guided Bomb",
"weight": 275,
}
JAS_GBU16_TV = {
"clsid": "JAS_GBU16_TV",
"name": "GBU-16 1000lb TV Guided Bomb",
"weight": 934,
}
JAS_GBU31 = {
"clsid": "JAS_GBU31",
"name": "GBU-31 2000lb TV Guided Glide-Bomb",
"weight": 934,
}
JAS_GBU49_TV = {
"clsid": "JAS_GBU49_TV",
"name": "GBU-49 500lb TV Guided Bomb",
"weight": 275,
}
JAS_IRIS_T = {
"clsid": "JAS_IRIS-T",
"name": "Rb98 IRIS-T Sidewinder IR AAM",
"weight": 88.4,
}
JAS_Litening = {
"clsid": "JAS_Litening",
"name": "Litening III POD (LLTV)",
"weight": 295,
}
JAS_MAR_1 = {
"clsid": "JAS_MAR-1",
"name": "MAR-1 High Speed Anti-Radiation Missile",
"weight": 350,
}
JAS_Meteor = {
"clsid": "JAS_Meteor",
"name": "Rb101 Meteor BVRAAM Active Rdr AAM",
"weight": 191,
}
JAS_RB15F = {
"clsid": "JAS_RB15F",
"name": "RBS-15 Mk. IV Gungnir Radiation Seeking Anti-ship Missile ",
"weight": None,
}
JAS_RB75T = {
"clsid": "JAS_RB75T",
"name": "Rb-75T (AGM-65E Maverick) (Laser ASM Lg Whd)",
"weight": 210,
}
JAS_Rb74 = {
"clsid": "JAS_Rb74",
"name": "Rb74 AIM-9L Sidewinder IR AAM",
"weight": 90,
}
JAS_Rb99 = {
"clsid": "JAS_Rb99",
"name": "Rb99 AIM-120B AMRAAM Active Rdr AAM",
"weight": 157,
}
JAS_Rb99_DUAL = {
"clsid": "JAS_Rb99_DUAL",
"name": "Rb99 AIM-120B AMRAAM Active Rdr AAM x 2",
"weight": 313,
}
JAS_Stormshadow = {
"clsid": "JAS_Stormshadow",
"name": "Storm Shadow Long Range Anti-Radiation Cruise-missile",
"weight": None,
}
JAS_TANK1100 = {
"clsid": "JAS_TANK1100",
"name": "External drop tank 1100 litre",
"weight": 1019,
}
JAS_TANK1700 = {
"clsid": "JAS_TANK1700",
"name": "External drop tank 1700 litre",
"weight": 1533,
}
inject_weapons(JAS39GripenWeapons)
class JAS39Gripen(PlaneType):
id = "JAS39Gripen"
flyable = True
height = 4.5
width = 8.4
length = 14.1
fuel_max = 2550
max_speed = 2649.996
chaff = 90
flare = 45
charge_total = 180
chaff_charge_size = 1
flare_charge_size = 2
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
radio_frequency = 127.5
class Pylon1:
JAS_IRIS_T = (1, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (1, JAS39GripenWeapons.JAS_Rb74)
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (1, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
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)
class Pylon2:
JAS_IRIS_T = (2, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (2, JAS39GripenWeapons.JAS_Rb74)
JAS_Meteor = (2, JAS39GripenWeapons.JAS_Meteor)
JAS_Rb99 = (2, JAS39GripenWeapons.JAS_Rb99)
JAS_Rb99_DUAL = (2, JAS39GripenWeapons.JAS_Rb99_DUAL)
LAU_115_2_LAU_127_AIM_120C = (2, Weapons.LAU_115_2_LAU_127_AIM_120C)
AIM_120C_5_AMRAAM___Active_Rdr_AAM = (
2,
Weapons.AIM_120C_5_AMRAAM___Active_Rdr_AAM,
)
# ERRR <CLEAN>
class Pylon3:
JAS_Meteor = (3, JAS39GripenWeapons.JAS_Meteor)
JAS_Rb99 = (3, JAS39GripenWeapons.JAS_Rb99)
AIM_120C_5_AMRAAM___Active_Rdr_AAM = (
3,
Weapons.AIM_120C_5_AMRAAM___Active_Rdr_AAM,
)
JAS_TANK1100 = (3, JAS39GripenWeapons.JAS_TANK1100)
JAS_TANK1700 = (3, JAS39GripenWeapons.JAS_TANK1700)
# ERRR <CLEAN>
class Pylon4:
L_081_Fantasmagoria_ELINT_pod = (4, Weapons.L_081_Fantasmagoria_ELINT_pod)
class Pylon5:
JAS_TANK1100 = (5, JAS39GripenWeapons.JAS_TANK1100)
JAS_Meteor = (5, JAS39GripenWeapons.JAS_Meteor)
AIM_120C_5_AMRAAM___Active_Rdr_AAM = (
5,
Weapons.AIM_120C_5_AMRAAM___Active_Rdr_AAM,
)
JAS_Rb99 = (5, JAS39GripenWeapons.JAS_Rb99)
JAS_Rb99_DUAL = (5, JAS39GripenWeapons.JAS_Rb99_DUAL)
# ERRR <CLEAN>
class Pylon6:
L005_Sorbtsiya_ECM_pod__left_ = (6, Weapons.L005_Sorbtsiya_ECM_pod__left_)
class Pylon7:
JAS_Litening = (7, JAS39GripenWeapons.JAS_Litening)
# ERRR <CLEAN>
class Pylon8:
JAS_Meteor = (8, JAS39GripenWeapons.JAS_Meteor)
JAS_Rb99 = (8, JAS39GripenWeapons.JAS_Rb99)
AIM_120C_5_AMRAAM___Active_Rdr_AAM = (
8,
Weapons.AIM_120C_5_AMRAAM___Active_Rdr_AAM,
)
JAS_TANK1100 = (8, JAS39GripenWeapons.JAS_TANK1100)
JAS_TANK1700 = (8, JAS39GripenWeapons.JAS_TANK1700)
# ERRR <CLEAN>
class Pylon9:
JAS_IRIS_T = (9, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (9, JAS39GripenWeapons.JAS_Rb74)
JAS_Meteor = (9, JAS39GripenWeapons.JAS_Meteor)
JAS_Rb99 = (9, JAS39GripenWeapons.JAS_Rb99)
JAS_Rb99_DUAL = (9, JAS39GripenWeapons.JAS_Rb99_DUAL)
LAU_115_2_LAU_127_AIM_120C = (9, Weapons.LAU_115_2_LAU_127_AIM_120C)
AIM_120C_5_AMRAAM___Active_Rdr_AAM = (
9,
Weapons.AIM_120C_5_AMRAAM___Active_Rdr_AAM,
)
# ERRR <CLEAN>
class Pylon10:
JAS_IRIS_T = (10, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (10, JAS39GripenWeapons.JAS_Rb74)
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (10, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
Smokewinder___red = (10, Weapons.Smokewinder___red)
Smokewinder___green = (10, Weapons.Smokewinder___green)
Smokewinder___blue = (10, Weapons.Smokewinder___blue)
Smokewinder___white = (10, Weapons.Smokewinder___white)
Smokewinder___yellow = (10, Weapons.Smokewinder___yellow)
Smokewinder___orange = (10, Weapons.Smokewinder___orange)
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
tasks = [
task.Intercept,
task.CAP,
task.Reconnaissance,
task.Escort,
task.FighterSweep,
]
task_default = task.FighterSweep
class JAS39Gripen_AG(PlaneType):
id = "JAS39Gripen_AG"
flyable = True
height = 4.5
width = 8.4
length = 14.1
fuel_max = 2550
max_speed = 2649.996
chaff = 90
flare = 45
charge_total = 180
chaff_charge_size = 1
flare_charge_size = 1
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
radio_frequency = 127.5
class Pylon1:
JAS_IRIS_T = (1, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (1, JAS39GripenWeapons.JAS_Rb74)
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (1, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
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)
class Pylon2:
JAS_IRIS_T = (2, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (2, JAS39GripenWeapons.JAS_Rb74)
JAS_RB75T = (2, JAS39GripenWeapons.JAS_RB75T)
AGM_65K___Maverick_K__CCD_Imp_ASM_ = (
2,
Weapons.AGM_65K___Maverick_K__CCD_Imp_ASM_,
)
JAS_BK90 = (2, JAS39GripenWeapons.JAS_BK90)
JAS_RB15F = (2, JAS39GripenWeapons.JAS_RB15F)
JAS_MAR_1 = (2, JAS39GripenWeapons.JAS_MAR_1)
JAS_GBU12 = (2, JAS39GripenWeapons.JAS_GBU12)
JAS_GBU49_TV = (2, JAS39GripenWeapons.JAS_GBU49_TV)
# ERRR JAS_GBU16
JAS_GBU16_TV = (2, JAS39GripenWeapons.JAS_GBU16_TV)
# ERRR GBU12_TEST
Mk_82___500lb_GP_Bomb_LD = (2, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (2, Weapons.Mk_83___1000lb_GP_Bomb_LD)
BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_ = (
2,
Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
)
_4x_SB_M_71_120kg_GP_Bomb_Low_drag = (
2,
Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag,
)
JAS_ARAKM70BHE = (2, JAS39GripenWeapons.JAS_ARAKM70BHE)
JAS_ARAKM70BAP = (2, JAS39GripenWeapons.JAS_ARAKM70BAP)
JAS_BRIMSTONE = (2, JAS39GripenWeapons.JAS_BRIMSTONE)
# ERRR <CLEAN>
class Pylon3:
JAS_RB75T = (3, JAS39GripenWeapons.JAS_RB75T)
AGM_65K___Maverick_K__CCD_Imp_ASM_ = (
3,
Weapons.AGM_65K___Maverick_K__CCD_Imp_ASM_,
)
JAS_Stormshadow = (3, JAS39GripenWeapons.JAS_Stormshadow)
JAS_BK90 = (3, JAS39GripenWeapons.JAS_BK90)
JAS_GBU31 = (3, JAS39GripenWeapons.JAS_GBU31)
JAS_RB15F = (3, JAS39GripenWeapons.JAS_RB15F)
JAS_MAR_1 = (3, JAS39GripenWeapons.JAS_MAR_1)
JAS_GBU12 = (3, JAS39GripenWeapons.JAS_GBU12)
JAS_GBU49_TV = (3, JAS39GripenWeapons.JAS_GBU49_TV)
# ERRR JAS_GBU16
JAS_GBU16_TV = (3, JAS39GripenWeapons.JAS_GBU16_TV)
GBU_10___2000lb_Laser_Guided_Bomb = (
3,
Weapons.GBU_10___2000lb_Laser_Guided_Bomb,
)
Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (3, Weapons.Mk_83___1000lb_GP_Bomb_LD)
Mk_84___2000lb_GP_Bomb_LD = (3, Weapons.Mk_84___2000lb_GP_Bomb_LD)
BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_ = (
3,
Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
)
_4x_SB_M_71_120kg_GP_Bomb_Low_drag = (
3,
Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag,
)
JAS_TANK1100 = (3, JAS39GripenWeapons.JAS_TANK1100)
JAS_TANK1700 = (3, JAS39GripenWeapons.JAS_TANK1700)
JAS_ARAKM70BHE = (3, JAS39GripenWeapons.JAS_ARAKM70BHE)
JAS_ARAKM70BAP = (3, JAS39GripenWeapons.JAS_ARAKM70BAP)
JAS_BRIMSTONE = (3, JAS39GripenWeapons.JAS_BRIMSTONE)
# ERRR <CLEAN>
class Pylon4:
L_081_Fantasmagoria_ELINT_pod = (4, Weapons.L_081_Fantasmagoria_ELINT_pod)
class Pylon5:
JAS_Stormshadow = (5, JAS39GripenWeapons.JAS_Stormshadow)
JAS_GBU12 = (5, JAS39GripenWeapons.JAS_GBU12)
JAS_GBU49_TV = (5, JAS39GripenWeapons.JAS_GBU49_TV)
# ERRR JAS_GBU16
JAS_GBU16_TV = (5, JAS39GripenWeapons.JAS_GBU16_TV)
GBU_10___2000lb_Laser_Guided_Bomb = (
5,
Weapons.GBU_10___2000lb_Laser_Guided_Bomb,
)
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)
Mk_84___2000lb_GP_Bomb_LD = (5, Weapons.Mk_84___2000lb_GP_Bomb_LD)
BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_ = (
5,
Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
)
_4x_SB_M_71_120kg_GP_Bomb_Low_drag = (
5,
Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag,
)
JAS_TANK1100 = (5, JAS39GripenWeapons.JAS_TANK1100)
# ERRR JAS_WMD7
JAS_BRIMSTONE = (5, JAS39GripenWeapons.JAS_BRIMSTONE)
# ERRR {INV-SMOKE-RED}
# ERRR {INV-SMOKE-GREEN}
# ERRR {INV-SMOKE-BLUE}
# ERRR {INV-SMOKE-WHITE}
# ERRR {INV-SMOKE-YELLOW}
# ERRR {INV-SMOKE-ORANGE}
# ERRR <CLEAN>
class Pylon6:
L005_Sorbtsiya_ECM_pod__left_ = (6, Weapons.L005_Sorbtsiya_ECM_pod__left_)
class Pylon7:
JAS_Litening = (7, JAS39GripenWeapons.JAS_Litening)
# ERRR <CLEAN>
class Pylon8:
JAS_RB75T = (8, JAS39GripenWeapons.JAS_RB75T)
AGM_65K___Maverick_K__CCD_Imp_ASM_ = (
8,
Weapons.AGM_65K___Maverick_K__CCD_Imp_ASM_,
)
JAS_Stormshadow = (8, JAS39GripenWeapons.JAS_Stormshadow)
JAS_BK90 = (8, JAS39GripenWeapons.JAS_BK90)
JAS_GBU31 = (8, JAS39GripenWeapons.JAS_GBU31)
JAS_RB15F = (8, JAS39GripenWeapons.JAS_RB15F)
JAS_MAR_1 = (8, JAS39GripenWeapons.JAS_MAR_1)
JAS_GBU12 = (8, JAS39GripenWeapons.JAS_GBU12)
JAS_GBU49_TV = (8, JAS39GripenWeapons.JAS_GBU49_TV)
# ERRR JAS_GBU16
JAS_GBU16_TV = (8, JAS39GripenWeapons.JAS_GBU16_TV)
GBU_10___2000lb_Laser_Guided_Bomb = (
8,
Weapons.GBU_10___2000lb_Laser_Guided_Bomb,
)
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)
Mk_84___2000lb_GP_Bomb_LD = (8, Weapons.Mk_84___2000lb_GP_Bomb_LD)
BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_ = (
8,
Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
)
_4x_SB_M_71_120kg_GP_Bomb_Low_drag = (
8,
Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag,
)
JAS_TANK1100 = (8, JAS39GripenWeapons.JAS_TANK1100)
JAS_TANK1700 = (8, JAS39GripenWeapons.JAS_TANK1700)
JAS_ARAKM70BHE = (8, JAS39GripenWeapons.JAS_ARAKM70BHE)
JAS_ARAKM70BAP = (8, JAS39GripenWeapons.JAS_ARAKM70BAP)
JAS_BRIMSTONE = (8, JAS39GripenWeapons.JAS_BRIMSTONE)
# ERRR <CLEAN>
class Pylon9:
JAS_IRIS_T = (9, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (9, JAS39GripenWeapons.JAS_Rb74)
JAS_RB75T = (9, JAS39GripenWeapons.JAS_RB75T)
AGM_65K___Maverick_K__CCD_Imp_ASM_ = (
9,
Weapons.AGM_65K___Maverick_K__CCD_Imp_ASM_,
)
JAS_BK90 = (9, JAS39GripenWeapons.JAS_BK90)
JAS_RB15F = (9, JAS39GripenWeapons.JAS_RB15F)
JAS_MAR_1 = (9, JAS39GripenWeapons.JAS_MAR_1)
JAS_GBU12 = (9, JAS39GripenWeapons.JAS_GBU12)
JAS_GBU49_TV = (9, JAS39GripenWeapons.JAS_GBU49_TV)
# ERRR JAS_GBU16
JAS_GBU16_TV = (9, JAS39GripenWeapons.JAS_GBU16_TV)
# ERRR GBU12_TEST
Mk_82___500lb_GP_Bomb_LD = (9, Weapons.Mk_82___500lb_GP_Bomb_LD)
Mk_83___1000lb_GP_Bomb_LD = (9, Weapons.Mk_83___1000lb_GP_Bomb_LD)
BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_ = (
9,
Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD_,
)
_4x_SB_M_71_120kg_GP_Bomb_Low_drag = (
9,
Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag,
)
JAS_ARAKM70BHE = (9, JAS39GripenWeapons.JAS_ARAKM70BHE)
JAS_ARAKM70BAP = (9, JAS39GripenWeapons.JAS_ARAKM70BAP)
JAS_BRIMSTONE = (9, JAS39GripenWeapons.JAS_BRIMSTONE)
# ERRR <CLEAN>
class Pylon10:
JAS_IRIS_T = (10, JAS39GripenWeapons.JAS_IRIS_T)
JAS_Rb74 = (10, JAS39GripenWeapons.JAS_Rb74)
AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (10, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod)
Smokewinder___red = (10, Weapons.Smokewinder___red)
Smokewinder___green = (10, Weapons.Smokewinder___green)
Smokewinder___blue = (10, Weapons.Smokewinder___blue)
Smokewinder___white = (10, Weapons.Smokewinder___white)
Smokewinder___yellow = (10, Weapons.Smokewinder___yellow)
Smokewinder___orange = (10, Weapons.Smokewinder___orange)
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
tasks = [
task.SEAD,
task.AntishipStrike,
task.CAS,
task.GroundAttack,
task.PinpointStrike,
task.RunwayAttack,
]
task_default = task.CAS

View File

@ -2,6 +2,7 @@ from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.highdigitsams import highdigitsams
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
import pydcs_extensions.frenchpack.frenchpack as frenchpack
@ -12,6 +13,8 @@ MODDED_AIRPLANES = [
Su_57,
F_22A,
Hercules,
JAS39Gripen,
JAS39Gripen_AG,
]
MODDED_VEHICLES = [
frenchpack._FIELD_HIDE,

View File

@ -0,0 +1,54 @@
local unitPayloads = {
["name"] = "JAS39Gripen",
["payloads"] = {
[1] = {
["displayName"] = "CAP",
["name"] = "CAP",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_Meteor",
["num"] = 2,
},
[4] = {
["CLSID"] = "JAS_Meteor",
["num"] = 9,
},
[5] = {
["CLSID"] = "JAS_Meteor",
["num"] = 8,
},
[6] = {
["CLSID"] = "JAS_Meteor",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[8] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[9] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 11,
},
},
},
["tasks"] = {
},
["unitType"] = "JAS39Gripen",
}
return unitPayloads

View File

@ -0,0 +1,291 @@
local unitPayloads = {
["name"] = "JAS39Gripen_AG",
["payloads"] = {
[1] = {
["displayName"] = "ANTISHIP",
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_RB15F",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_RB15F",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_RB15F",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_RB15F",
["num"] = 9,
},
},
["tasks"] = {
[1] = 19,
},
},
[2] = {
["displayName"] = "SEAD",
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 9,
},
},
["tasks"] = {
[1] = 19,
},
},
[3] = {
["displayName"] = "DEAD",
["name"] = "DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_Stormshadow",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_Stormshadow",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_MAR-1",
["num"] = 9,
},
},
["tasks"] = {
[1] = 19,
},
},
[4] = {
["displayName"] = "CAS",
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_BRIMSTONE",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_BRIMSTONE",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_BRIMSTONE",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_BRIMSTONE",
["num"] = 9,
},
[10] = {
["CLSID"] = "JAS_Litening",
["num"] = 7,
},
},
["tasks"] = {
[1] = 19,
},
},
[5] = {
["displayName"] = "STRIKE",
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_GBU31",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_GBU31",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_GBU49_TV",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_GBU49_TV",
["num"] = 9,
},
[10] = {
["CLSID"] = "JAS_Litening",
["num"] = 7,
},
},
["tasks"] = {
[1] = 19,
},
},
[6] = {
["displayName"] = "OCA",
["name"] = "OCA",
["pylons"] = {
[1] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 10,
},
[2] = {
["CLSID"] = "JAS_IRIS-T",
["num"] = 1,
},
[3] = {
["CLSID"] = "JAS_TANK1100",
["num"] = 5,
},
[4] = {
["CLSID"] = "{0519A264-0AB6-11d6-9193-00A0249B6F00}",
["num"] = 4,
},
[5] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
["num"] = 6,
},
[6] = {
["CLSID"] = "JAS_BK90",
["num"] = 3,
},
[7] = {
["CLSID"] = "JAS_BK90",
["num"] = 8,
},
[8] = {
["CLSID"] = "JAS_ARAKM70BHE",
["num"] = 2,
},
[9] = {
["CLSID"] = "JAS_ARAKM70BHE",
["num"] = 9,
},
[10] = {
["CLSID"] = "JAS_Litening",
["num"] = 7,
},
},
["tasks"] = {
[1] = 19,
},
},
},
["tasks"] = {
},
["unitType"] = "JAS39Gripen_AG",
}
return unitPayloads

View File

@ -0,0 +1,51 @@
{
"country": "Sweden",
"name": "Sweden 2002",
"authors": "Khopa (updated with Gripen by bgreman)",
"description": "<p>Sweden in 2002 after the addition of the Gripen-C.</p>",
"locales": ["sv_SE"],
"aircrafts": [
"AJS37",
"JAS39Gripen",
"JAS39Gripen_AG",
"UH_1H"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"IFV_Warrior",
"MBT_Leopard_2A4",
"IFV_M1126_Stryker_ICV",
"SAM_Avenger__Stinger"
],
"artillery_units": [
],
"logistics_units": [
"Truck_M818_6x6"
],
"infantry_units": [
"Infantry_M4",
"Infantry_M249",
"MANPADS_Stinger"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"navy_generators": [
"OliverHazardPerryGroupGenerator"
],
"requirements": {
"JAS39 Gripen Mod by Community": "https://github.com/whisky-actual/Community-JAS-39-C"
},
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -350,6 +350,24 @@
"year-of-variant-introduction": "1998"
}
}],
"JAS39Gripen": [{
"default": {
"name": "JAS 39 Gripen",
"country-of-origin": "Sweden",
"manufacturer": "Saab AB",
"role": "Fighter",
"year-of-variant-introduction": "2002"
}
}],
"JAS39Gripen_AG": [{
"default": {
"name": "JAS 39 Gripen A/G",
"country-of-origin": "Sweden",
"manufacturer": "Saab AB",
"role": "Attack",
"year-of-variant-introduction": "2002"
}
}],
"JF-17": [{
"default": {
"name": "JF-17 Thunder",