mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Sk 60 mod support (#360)
This commit is contained in:
parent
eb5062579f
commit
eb5cceff16
@ -22,6 +22,7 @@
|
|||||||
* **[UI/UX]** Allow changing conditions such as Time, Date & Weather
|
* **[UI/UX]** Allow changing conditions such as Time, Date & Weather
|
||||||
* **[Modding]** Added support for Su-15 Flagon mod (v1.0)
|
* **[Modding]** Added support for Su-15 Flagon mod (v1.0)
|
||||||
* **[Plugins]** Support for Carsten's Arty Spotter script
|
* **[Plugins]** Support for Carsten's Arty Spotter script
|
||||||
|
* **[Modding]** Added support for SK-60 mod (v1.2.1)
|
||||||
|
|
||||||
## Fixes
|
## Fixes
|
||||||
* **[UI/UX]** A-10A flights can be edited again
|
* **[UI/UX]** A-10A flights can be edited again
|
||||||
|
|||||||
@ -410,6 +410,8 @@ class Faction:
|
|||||||
self.remove_aircraft("JAS39Gripen_AG")
|
self.remove_aircraft("JAS39Gripen_AG")
|
||||||
if not mod_settings.super_etendard:
|
if not mod_settings.super_etendard:
|
||||||
self.remove_aircraft("VSN_SEM")
|
self.remove_aircraft("VSN_SEM")
|
||||||
|
if not mod_settings.sk_60:
|
||||||
|
self.remove_aircraft("SK-60")
|
||||||
if not mod_settings.su15_flagon:
|
if not mod_settings.su15_flagon:
|
||||||
self.remove_aircraft("Su_15")
|
self.remove_aircraft("Su_15")
|
||||||
self.remove_aircraft("Su_15TM")
|
self.remove_aircraft("Su_15TM")
|
||||||
|
|||||||
@ -86,6 +86,7 @@ class ModSettings:
|
|||||||
irondome: bool = False
|
irondome: bool = False
|
||||||
uh_60l: bool = False
|
uh_60l: bool = False
|
||||||
jas39_gripen: bool = False
|
jas39_gripen: bool = False
|
||||||
|
sk_60: bool = False
|
||||||
super_etendard: bool = False
|
super_etendard: bool = False
|
||||||
su15_flagon: bool = False
|
su15_flagon: bool = False
|
||||||
su30_flanker_h: bool = False
|
su30_flanker_h: bool = False
|
||||||
|
|||||||
@ -24,6 +24,7 @@ from .jas39 import *
|
|||||||
from .ov10a import *
|
from .ov10a import *
|
||||||
from .spanishnavypack import *
|
from .spanishnavypack import *
|
||||||
from .super_etendard import *
|
from .super_etendard import *
|
||||||
|
from .sk60 import *
|
||||||
from .su15 import *
|
from .su15 import *
|
||||||
from .su30 import *
|
from .su30 import *
|
||||||
from .su57 import *
|
from .su57 import *
|
||||||
|
|||||||
1
pydcs_extensions/sk60/__init__.py
Normal file
1
pydcs_extensions/sk60/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
from .sk60 import *
|
||||||
101
pydcs_extensions/sk60/sk60.py
Normal file
101
pydcs_extensions/sk60/sk60.py
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
from typing import Any, Dict, 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 WeaponsSK_60:
|
||||||
|
_1x_13_5cm_HE_rocket = {
|
||||||
|
"clsid": "{d694b359-e7a8-4909-88d4-7100b77afd13}",
|
||||||
|
"name": "1x 13,5cm HE rocket",
|
||||||
|
"weight": 50,
|
||||||
|
}
|
||||||
|
_1x_14_5cm_HEAT_rocket = {
|
||||||
|
"clsid": "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
"name": "1x 14,5cm HEAT rocket",
|
||||||
|
"weight": 50,
|
||||||
|
}
|
||||||
|
_2x_13_5cm_HE_rocket = {
|
||||||
|
"clsid": "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
"name": "2x 13,5cm HE rocket",
|
||||||
|
"weight": 95,
|
||||||
|
}
|
||||||
|
AKAN_m_55_Gunpod = {
|
||||||
|
"clsid": "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
|
||||||
|
"name": "AKAN m/55 Gunpod",
|
||||||
|
"weight": 196,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inject_weapons(WeaponsSK_60)
|
||||||
|
|
||||||
|
|
||||||
|
@planemod
|
||||||
|
class SK_60(PlaneType):
|
||||||
|
id = "SK-60"
|
||||||
|
flyable = True
|
||||||
|
height = 2.7
|
||||||
|
width = 9.5
|
||||||
|
length = 10.8
|
||||||
|
fuel_max = 1640
|
||||||
|
max_speed = 879.9984
|
||||||
|
chaff = 0
|
||||||
|
flare = 0
|
||||||
|
charge_total = 0
|
||||||
|
chaff_charge_size = 0
|
||||||
|
flare_charge_size = 0
|
||||||
|
eplrs = True
|
||||||
|
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||||
|
radio_frequency = 243
|
||||||
|
|
||||||
|
livery_name = "SK-60" # from type
|
||||||
|
|
||||||
|
class Pylon1:
|
||||||
|
_2x_13_5cm_HE_rocket = (1, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (1, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (1, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
class Pylon2:
|
||||||
|
AKAN_m_55_Gunpod = (2, Weapons.AKAN_m_55_Gunpod)
|
||||||
|
_2x_13_5cm_HE_rocket = (2, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (2, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (2, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
class Pylon3:
|
||||||
|
_2x_13_5cm_HE_rocket = (3, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (3, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (3, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
class Pylon4:
|
||||||
|
_2x_13_5cm_HE_rocket = (4, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (4, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (4, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
class Pylon5:
|
||||||
|
AKAN_m_55_Gunpod = (5, Weapons.AKAN_m_55_Gunpod)
|
||||||
|
_2x_13_5cm_HE_rocket = (5, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (5, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (5, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
class Pylon6:
|
||||||
|
_2x_13_5cm_HE_rocket = (6, Weapons._2x_13_5cm_HE_rocket)
|
||||||
|
_1x_14_5cm_HEAT_rocket = (6, Weapons._1x_14_5cm_HEAT_rocket)
|
||||||
|
_1x_13_5cm_HE_rocket = (6, Weapons._1x_13_5cm_HE_rocket)
|
||||||
|
|
||||||
|
pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8}
|
||||||
|
|
||||||
|
tasks = [
|
||||||
|
task.GroundAttack,
|
||||||
|
task.PinpointStrike,
|
||||||
|
task.CAS,
|
||||||
|
task.AFAC,
|
||||||
|
task.RunwayAttack,
|
||||||
|
task.SEAD,
|
||||||
|
task.Escort,
|
||||||
|
task.Reconnaissance,
|
||||||
|
]
|
||||||
|
task_default = task.GroundAttack
|
||||||
@ -336,6 +336,7 @@ def create_game(
|
|||||||
f105_thunderchief=False,
|
f105_thunderchief=False,
|
||||||
hercules=False,
|
hercules=False,
|
||||||
jas39_gripen=False,
|
jas39_gripen=False,
|
||||||
|
sk60_saab105=False,
|
||||||
su15_flagon=False,
|
su15_flagon=False,
|
||||||
su30_flanker_h=False,
|
su30_flanker_h=False,
|
||||||
su57_felon=False,
|
su57_felon=False,
|
||||||
|
|||||||
@ -110,6 +110,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"),
|
||||||
super_etendard=self.field("super_etendard"),
|
super_etendard=self.field("super_etendard"),
|
||||||
|
sk_60=self.field("sk_60"),
|
||||||
su15_flagon=self.field("su15_flagon"),
|
su15_flagon=self.field("su15_flagon"),
|
||||||
su30_flanker_h=self.field("su30_flanker_h"),
|
su30_flanker_h=self.field("su30_flanker_h"),
|
||||||
su57_felon=self.field("su57_felon"),
|
su57_felon=self.field("su57_felon"),
|
||||||
|
|||||||
@ -130,6 +130,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
|||||||
self.registerField("jas39_gripen", self.jas39_gripen)
|
self.registerField("jas39_gripen", self.jas39_gripen)
|
||||||
self.super_etendard = QtWidgets.QCheckBox()
|
self.super_etendard = QtWidgets.QCheckBox()
|
||||||
self.registerField("super_etendard", self.super_etendard)
|
self.registerField("super_etendard", self.super_etendard)
|
||||||
|
self.sk_60 = QtWidgets.QCheckBox()
|
||||||
|
self.registerField("sk_60", self.sk_60)
|
||||||
self.su15_flagon = QtWidgets.QCheckBox()
|
self.su15_flagon = QtWidgets.QCheckBox()
|
||||||
self.registerField("su15_flagon", self.su15_flagon)
|
self.registerField("su15_flagon", self.su15_flagon)
|
||||||
self.su30_flanker_h = QtWidgets.QCheckBox()
|
self.su30_flanker_h = QtWidgets.QCheckBox()
|
||||||
@ -185,6 +187,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
|||||||
("OV-10A Bronco", self.ov10a_bronco),
|
("OV-10A Bronco", self.ov10a_bronco),
|
||||||
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
|
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
|
||||||
("Star Wars Modpack 2.54+", self.SWPack),
|
("Star Wars Modpack 2.54+", self.SWPack),
|
||||||
|
("Saab 105/SK-60B (v1.2.1)", self.sk_60),
|
||||||
("Su-15 Flagon (v1.0)", self.su15_flagon),
|
("Su-15 Flagon (v1.0)", self.su15_flagon),
|
||||||
("Su-30 Flanker-H (V2.7.73b)", self.su30_flanker_h),
|
("Su-30 Flanker-H (V2.7.73b)", self.su30_flanker_h),
|
||||||
("Su-57 Felon (build-04)", self.su57_felon),
|
("Su-57 Felon (build-04)", self.su57_felon),
|
||||||
@ -246,6 +249,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
|||||||
self.f105_thunderchief.setChecked(s.get("f105_thunderchief", False))
|
self.f105_thunderchief.setChecked(s.get("f105_thunderchief", False))
|
||||||
self.f106_deltadart.setChecked(s.get("f106_deltadart", False))
|
self.f106_deltadart.setChecked(s.get("f106_deltadart", False))
|
||||||
self.jas39_gripen.setChecked(s.get("jas39_gripen", False))
|
self.jas39_gripen.setChecked(s.get("jas39_gripen", False))
|
||||||
|
self.sk_60.setChecked(s.get("sk_60", False))
|
||||||
self.super_etendard.setChecked(s.get("super_etendard", False))
|
self.super_etendard.setChecked(s.get("super_etendard", False))
|
||||||
self.su30_flanker_h.setChecked(s.get("su30_flanker_h", False))
|
self.su30_flanker_h.setChecked(s.get("su30_flanker_h", False))
|
||||||
self.su57_felon.setChecked(s.get("su57_felon", False))
|
self.su57_felon.setChecked(s.get("su57_felon", False))
|
||||||
|
|||||||
192
resources/customized_payloads/SK-60.lua
Normal file
192
resources/customized_payloads/SK-60.lua
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
local unitPayloads = {
|
||||||
|
["name"] = "SK-60",
|
||||||
|
["payloads"] = {
|
||||||
|
[1] = {
|
||||||
|
["name"] = "Retribution DEAD",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 1,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 4,
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 6,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["name"] = "Retribution OCA/Aircraft",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 1,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 4,
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 6,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["displayName"] = "Retribution Strike",
|
||||||
|
["name"] = "Retribution Strike",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 1,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 4,
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 6,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["displayName"] = "Retribution CAS",
|
||||||
|
["name"] = "Retribution CAS",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 1,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 4,
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 6,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["name"] = "Retribution BAI",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["displayName"] = "Retribution OCA/Runway",
|
||||||
|
["name"] = "Retribution OCA/Runway",
|
||||||
|
["pylons"] = {
|
||||||
|
[1] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 1,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 2,
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 3,
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 4,
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 5,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
|
||||||
|
["num"] = 6,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
[1] = 15,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["tasks"] = {
|
||||||
|
},
|
||||||
|
["unitType"] = "SK-60",
|
||||||
|
}
|
||||||
|
return unitPayloads
|
||||||
51
resources/factions/sweden_1980.json
Normal file
51
resources/factions/sweden_1980.json
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"country": "Sweden",
|
||||||
|
"name": "Sweden 1980",
|
||||||
|
"authors": "Turbolious",
|
||||||
|
"description": "<p>Sweden in the 80s.</p><p>Note : Limited A2A capabilities.</p>",
|
||||||
|
"locales": [
|
||||||
|
"sv_SE"
|
||||||
|
],
|
||||||
|
"aircrafts": [
|
||||||
|
"AJS-37 Viggen",
|
||||||
|
"SK-60",
|
||||||
|
"UH-1H Iroquois"
|
||||||
|
],
|
||||||
|
"awacs": [
|
||||||
|
"E-3A"
|
||||||
|
],
|
||||||
|
"tankers": [
|
||||||
|
"KC-130",
|
||||||
|
"KC-135 Stratotanker"
|
||||||
|
],
|
||||||
|
"frontline_units": [
|
||||||
|
"FV510 Warrior",
|
||||||
|
"Leopard 2A4",
|
||||||
|
"M1097 Heavy HMMWV Avenger",
|
||||||
|
"M1126 Stryker ICV (M2 HMG)",
|
||||||
|
"M48 Chaparral"
|
||||||
|
],
|
||||||
|
"artillery_units": [],
|
||||||
|
"logistics_units": [
|
||||||
|
"Truck M818 6x6"
|
||||||
|
],
|
||||||
|
"infantry_units": [
|
||||||
|
"Infantry M249",
|
||||||
|
"Infantry M4",
|
||||||
|
"MANPADS Stinger"
|
||||||
|
],
|
||||||
|
"preset_groups": [
|
||||||
|
"Hawk"
|
||||||
|
],
|
||||||
|
"naval_units": [
|
||||||
|
"FFG Oliver Hazard Perry"
|
||||||
|
],
|
||||||
|
"missiles": [],
|
||||||
|
"air_defense_units": [
|
||||||
|
"SAM Hawk SR (AN/MPQ-50)",
|
||||||
|
"M1097 Heavy HMMWV Avenger",
|
||||||
|
"M48 Chaparral"
|
||||||
|
],
|
||||||
|
"has_jtac": true,
|
||||||
|
"jtac_unit": "SK-60"
|
||||||
|
}
|
||||||
BIN
resources/ui/units/aircrafts/banners/SK-60.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/SK-60.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 KiB |
BIN
resources/ui/units/aircrafts/icons/SK-60_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/SK-60_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
24
resources/units/aircraft/SK-60.yaml
Normal file
24
resources/units/aircraft/SK-60.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
carrier_capable: false
|
||||||
|
description:
|
||||||
|
The Saab 105 is a Swedish high-wing, twinjet trainer aircraft developed in the early 1960s
|
||||||
|
as a private venture by Saab AB.[2] The Swedish Air Force, which had opted to procure the type
|
||||||
|
for various roles, issued the aircraft with the designation Sk 60. The Sk 60 entered service in 1967,
|
||||||
|
replacing the ageing De Havilland Vampire fleet.
|
||||||
|
SK-60B is a two-seat attack version for the Swedish Air Force, modified from Sk 60A with new weapons sight.
|
||||||
|
This version entered service in 1968.
|
||||||
|
|
||||||
|
introduced: 1968
|
||||||
|
manufacturer: Saab AB
|
||||||
|
origin: Sweden
|
||||||
|
price: 4
|
||||||
|
role: COIN / FAC /Light Attack
|
||||||
|
gunfighter: true
|
||||||
|
variants:
|
||||||
|
SK-60: {}
|
||||||
|
tasks:
|
||||||
|
BAI: 650
|
||||||
|
CAS: 650
|
||||||
|
DEAD: 60
|
||||||
|
OCA/Aircraft: 650
|
||||||
|
OCA/Runway: 330
|
||||||
|
Strike: 330
|
||||||
Loading…
x
Reference in New Issue
Block a user