Cold War assets mod v1.0 support (#343)

Implemented support for the Cold War assets mod (ex Tu-16) v1.0 by tripod3
This commit is contained in:
MetalStormGhost 2024-07-14 16:41:19 +03:00 committed by GitHub
parent 6238830a20
commit 19f6bafff1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 913 additions and 0 deletions

View File

@ -8,6 +8,8 @@
* **[Squadrons]** Ability to define a livery-set for each squadron from which Retribution will randomly choose during mission generation
* **[Modding]** Updated support for F/A-18E/F/G mod version 2.2.5
* **[Modding]** Added VSN F-106 Delta Dart mod support (v2.9.4.101)
* **[Modding]** Added VSN EA-6B Prowler mod support (v2.9.4.102)
* **[Modding]** Added tripod3 Cold War assets mod support (v1.0)
* **[Campaign Setup]** Allow adjustments to naval TGOs (except carriers) on turn 0
* **[Campaign Design]** Ability to configure specific carrier names & types in campaign's yaml file
* **[Mission Generation]** Ability to inject custom kneeboards

View File

@ -545,6 +545,12 @@ class Faction:
self.remove_preset("LvS-103 Rb103A Mobile")
self.remove_preset("LvS-103 Rb103B")
self.remove_preset("LvS-103 Rb103B Mobile")
if not mod_settings.coldwarassets:
self.remove_aircraft("B_47")
self.remove_aircraft("Tu-4K")
self.remove_aircraft("Tu-16")
self.remove_aircraft("tu_22D")
self.remove_aircraft("tu_22KD")
# SWPack
if not mod_settings.SWPack:
self.remove_aircraft("AWINGA")

View File

@ -96,6 +96,7 @@ class ModSettings:
ov10a_bronco: bool = False
spanishnavypack: bool = False
swedishmilitaryassetspack: bool = False
coldwarassets: bool = False
SWPack: bool = False

View File

@ -29,6 +29,7 @@ from .su15 import *
from .su30 import *
from .su57 import *
from .swedishmilitaryassetspack import *
from .coldwarassets import *
from .uh60l import *

View File

@ -0,0 +1 @@
from .coldwarassets import *

View File

@ -0,0 +1,374 @@
# Requires Cold War assets mod (ex Tu-16) v1.0 by tripod3:
# https://forum.dcs.world/topic/350021-cold-war-assets-mod-ex-tu-16-v-10/
#
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 WeaponsColdWarAssets:
B29_AN_M57_10 = {
"clsid": "B29_AN_M57_10",
"name": "10 x AN-M57 - 250lb GP Bombs LD",
"weight": 1185.462692,
}
B29_AN_M57_20 = {
"clsid": "B29_AN_M57_20",
"name": "20 x AN-M57 - 250lb GP Bombs LD",
"weight": 2370.925384,
}
B29_AN_M64_4 = {
"clsid": "B29_AN_M64_4",
"name": "4 x AN-M64 - 500lb GP Bombs LD",
"weight": 995.52557792,
}
B29_AN_M64_5 = {
"clsid": "B29_AN_M64_5",
"name": "5 x AN-M64 - 500lb GP Bombs LD",
"weight": 1244.4069724,
}
B29_AN_M64_6 = {
"clsid": "B29_AN_M64_6",
"name": "6 x AN-M64 - 500lb GP Bombs LD",
"weight": 1493.28836688,
}
B29_AN_M64_8 = {
"clsid": "B29_AN_M64_8",
"name": "8 x AN-M64 - 500lb GP Bombs LD",
"weight": 1991.05115584,
}
B29_AN_M65_2 = {
"clsid": "B29_AN_M65_2",
"name": "2 x AN-M65 - 1000lb GP Bombs LD",
"weight": 965.243776,
}
B29_AN_M65_3 = {
"clsid": "B29_AN_M65_3",
"name": "3 x AN-M65 - 1000lb GP Bombs LD",
"weight": 1447.865664,
}
B29_AN_M65_4 = {
"clsid": "B29_AN_M65_4",
"name": "4 x AN-M65 - 1000lb GP Bombs LD",
"weight": 1930.487552,
}
B29_AN_M65_6 = {
"clsid": "B29_AN_M65_6",
"name": "6 x AN-M65 - 1000lb GP Bombs LD",
"weight": 2895.731328,
}
B29_AN_M66_1 = {
"clsid": "B29_AN_M66_1",
"name": "1 x AN-M66 - 2000lb GP Bombs LD",
"weight": 958.5306144,
}
B29_AN_M66_2 = {
"clsid": "B29_AN_M66_2",
"name": "2 x AN-M66 - 2000lb GP Bombs LD",
"weight": 1917.0612288,
}
B29_M19_10 = {
"clsid": "B29_M19_10",
"name": "10 x M19 - 38 x AN-M69, 500lb CBU with incendiary submunitions",
"weight": 1973.1252,
}
B29_M19_6 = {
"clsid": "B29_M19_6",
"name": "6 x M19 - 38 x AN-M69, 500lb CBU with incendiary submunitions",
"weight": 1183.87512,
}
FAB_3000_M54 = {"clsid": "{FAB_3000_tu_22}", "name": "FAB-3000 M54", "weight": 9400}
FAB_9000_M54 = {"clsid": "{FAB_9000_tu_22}", "name": "FAB-9000 M54", "weight": 9400}
GAM_63_RASCAL = {
"clsid": "{B_29_RASCALARM}",
"name": "GAM-63 RASCAL",
"weight": 2400,
}
Kh_22MA = {"clsid": "{Tu_22_Kh22PSI}", "name": "Kh-22MA", "weight": 2400}
Kh_22P__Passive_seeker_ = {
"clsid": "{TU_22_KH22P}",
"name": "Kh-22P (Passive seeker)",
"weight": 1450,
}
KSR5P__Passive_seeker_ = {
"clsid": "{TU_16_KSR5ARM}",
"name": "KSR5P (Passive seeker)",
"weight": 1450,
}
KSR_2 = {"clsid": "{TU_16_KSR2}", "name": "KSR-2", "weight": 1160}
KSR_2_086__Passive_seeker_ = {
"clsid": "{TU_16_KSR2ARM}",
"name": "KSR-2.086 (Passive seeker)",
"weight": 1450,
}
KSR_5 = {"clsid": "{TU_16_KSR5}", "name": "KSR-5", "weight": 1450}
KS_1 = {"clsid": "{Tu4_KS_1}", "name": "KS-1", "weight": 1160}
KS_1_late = {"clsid": "{Tu16_KS_1}", "name": "KS-1 late", "weight": 1160}
inject_weapons(WeaponsColdWarAssets)
@planemod
class B_47(PlaneType):
id = "B_47"
height = 10.36
width = 33
length = 34.8
fuel_max = 25000
max_speed = 1044
chaff = 120
flare = 120
charge_total = 240
chaff_charge_size = 1
flare_charge_size = 1
eplrs = True
property_defaults: Dict[str, Any] = {}
livery_name = "B_47" # from type
class Pylon1:
GAM_63_RASCAL = (1, WeaponsColdWarAssets.GAM_63_RASCAL)
pylons: Set[int] = {1}
tasks = [
task.AntishipStrike,
task.GroundAttack,
task.PinpointStrike,
task.RunwayAttack,
task.SEAD,
task.CAS,
]
task_default = task.AntishipStrike
@planemod
class Tu_4K(PlaneType):
id = "Tu-4K"
height = 8.46
width = 43.1
length = 30.18
fuel_max = 22371
max_speed = 558
radio_frequency = 127.5
property_defaults: Dict[str, Any] = {
"Belly_Bay_Door": False,
}
class Properties:
class Belly_Bay_Door:
id = "Belly Bay Door"
livery_name = "TU-4K" # from type
class Pylon1:
KS_1 = (1, WeaponsColdWarAssets.KS_1)
class Pylon2:
KS_1 = (2, WeaponsColdWarAssets.KS_1)
pylons: Set[int] = {1, 2}
tasks = [task.GroundAttack, task.RunwayAttack, task.AntishipStrike]
task_default = task.RunwayAttack
@planemod
class Tu_16(PlaneType):
id = "Tu-16"
height = 10.36
width = 33
length = 34.8
fuel_max = 25000
max_speed = 1044
chaff = 120
flare = 120
charge_total = 240
chaff_charge_size = 1
flare_charge_size = 1
eplrs = True
property_defaults: Dict[str, Any] = {}
livery_name = "TU-16" # from type
class Pylon1:
KS_1_late = (1, WeaponsColdWarAssets.KS_1_late)
KSR_2 = (1, WeaponsColdWarAssets.KSR_2)
KSR_2_086__Passive_seeker_ = (
1,
WeaponsColdWarAssets.KSR_2_086__Passive_seeker_,
)
KSR5P__Passive_seeker_ = (1, WeaponsColdWarAssets.KSR5P__Passive_seeker_)
KSR_5 = (1, WeaponsColdWarAssets.KSR_5)
class Pylon2:
FAB_3000_M54 = (2, WeaponsColdWarAssets.FAB_3000_M54)
FAB_9000_M54 = (2, WeaponsColdWarAssets.FAB_9000_M54)
# ERRR <CLEAN>
class Pylon3:
_33_x_FAB_250___250kg_GP_Bombs_LD = (
3,
Weapons._33_x_FAB_250___250kg_GP_Bombs_LD,
)
# ERRR <CLEAN>
class Pylon4:
KS_1_late = (4, WeaponsColdWarAssets.KS_1_late)
KSR_2 = (4, WeaponsColdWarAssets.KSR_2)
KSR_2_086__Passive_seeker_ = (
4,
WeaponsColdWarAssets.KSR_2_086__Passive_seeker_,
)
KSR5P__Passive_seeker_ = (4, WeaponsColdWarAssets.KSR5P__Passive_seeker_)
KSR_5 = (4, WeaponsColdWarAssets.KSR_5)
pylons: Set[int] = {1, 2, 3, 4}
tasks = [
task.AntishipStrike,
task.GroundAttack,
task.PinpointStrike,
task.RunwayAttack,
task.SEAD,
task.CAS,
]
task_default = task.AntishipStrike
@planemod
class tu_22D(PlaneType):
id = "tu_22D"
height = 10.13
width = 23.17
length = 41.6
fuel_max = 42500
max_speed = 1509.84
chaff = 45
flare = -0
charge_total = 45
chaff_charge_size = 1
flare_charge_size = 1
livery_name = "TU_22D" # from type
class Pylon1:
FAB_3000_M54 = (1, WeaponsColdWarAssets.FAB_3000_M54)
FAB_9000_M54 = (1, WeaponsColdWarAssets.FAB_9000_M54)
_6_x_FAB_1500_M_54___1500kg_GP_Bombs_LD = (
1,
Weapons._6_x_FAB_1500_M_54___1500kg_GP_Bombs_LD,
)
MBD3_U2T_with_2_x_FAB_1500_M_54___1500kg_GP_Bombs_LD = (
1,
Weapons.MBD3_U2T_with_2_x_FAB_1500_M_54___1500kg_GP_Bombs_LD,
)
MBD3_U6_68_with_6_x_FAB_500_M_62___500kg_GP_Bombs_LD = (
1,
Weapons.MBD3_U6_68_with_6_x_FAB_500_M_62___500kg_GP_Bombs_LD,
)
RN_24___470kg__nuclear_bomb__free_fall = (
1,
Weapons.RN_24___470kg__nuclear_bomb__free_fall,
)
RN_28___260_kg__nuclear_bomb__free_fall = (
1,
Weapons.RN_28___260_kg__nuclear_bomb__free_fall,
)
# ERRR <CLEAN>
class Pylon2:
_33_x_FAB_250___250kg_GP_Bombs_LD = (
2,
Weapons._33_x_FAB_250___250kg_GP_Bombs_LD,
)
# ERRR <CLEAN>
pylons: Set[int] = {1, 2}
tasks = [
task.Reconnaissance,
task.GroundAttack,
task.CAS,
task.RunwayAttack,
task.AntishipStrike,
task.PinpointStrike,
]
task_default = task.GroundAttack
@planemod
class tu_22KD(PlaneType):
id = "tu_22KD"
height = 10.13
width = 23.17
length = 41.6
fuel_max = 42500
max_speed = 1509.84
chaff = 45
flare = -0
charge_total = 45
chaff_charge_size = 1
flare_charge_size = 1
livery_name = "TU_22KD" # from type
class Pylon1:
Kh_22__AS_4_Kitchen____1000kg__AShM__IN__Act_Pas_Rdr = (
1,
Weapons.Kh_22__AS_4_Kitchen____1000kg__AShM__IN__Act_Pas_Rdr,
)
Kh_22MA = (1, WeaponsColdWarAssets.Kh_22MA)
Kh_22P__Passive_seeker_ = (1, WeaponsColdWarAssets.Kh_22P__Passive_seeker_)
class Pylon2:
FAB_3000_M54 = (2, WeaponsColdWarAssets.FAB_3000_M54)
FAB_9000_M54 = (2, WeaponsColdWarAssets.FAB_9000_M54)
_6_x_FAB_1500_M_54___1500kg_GP_Bombs_LD = (
2,
Weapons._6_x_FAB_1500_M_54___1500kg_GP_Bombs_LD,
)
MBD3_U2T_with_2_x_FAB_1500_M_54___1500kg_GP_Bombs_LD = (
2,
Weapons.MBD3_U2T_with_2_x_FAB_1500_M_54___1500kg_GP_Bombs_LD,
)
MBD3_U6_68_with_6_x_FAB_500_M_62___500kg_GP_Bombs_LD = (
2,
Weapons.MBD3_U6_68_with_6_x_FAB_500_M_62___500kg_GP_Bombs_LD,
)
# ERRR <CLEAN>
class Pylon3:
_33_x_FAB_250___250kg_GP_Bombs_LD = (
3,
Weapons._33_x_FAB_250___250kg_GP_Bombs_LD,
)
# ERRR <CLEAN>
pylons: Set[int] = {1, 2, 3}
tasks = [
task.Reconnaissance,
task.GroundAttack,
task.CAS,
task.RunwayAttack,
task.AntishipStrike,
task.PinpointStrike,
task.SEAD,
]
task_default = task.GroundAttack

View File

@ -340,6 +340,7 @@ def create_game(
su15_flagon=False,
su30_flanker_h=False,
su57_felon=False,
coldwarassets=False,
frenchpack=False,
high_digit_sams=False,
),

View File

@ -119,6 +119,7 @@ class NewGameWizard(QtWidgets.QWizard):
high_digit_sams=self.field("high_digit_sams"),
spanishnavypack=self.field("spanishnavypack"),
swedishmilitaryassetspack=self.field("swedishmilitaryassetspack"),
coldwarassets=self.field("coldwarassets"),
SWPack=self.field("SWPack"),
)

View File

@ -146,6 +146,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("high_digit_sams", self.high_digit_sams)
self.swedishmilitaryassetspack = QtWidgets.QCheckBox()
self.registerField("swedishmilitaryassetspack", self.swedishmilitaryassetspack)
self.coldwarassets = QtWidgets.QCheckBox()
self.registerField("coldwarassets", self.coldwarassets)
self.SWPack = QtWidgets.QCheckBox()
self.registerField("SWPack", self.SWPack)
self.spanishnavypack = QtWidgets.QCheckBox()
@ -180,6 +182,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
("F9F Panther (v2.8.7.101)", self.f9f_panther),
("F/A-18E/F Super Hornet AI Tanker (version 1.4)", self.fa18ef_tanker),
("F/A-18E/F/G Super Hornet (version 2.3.2)", self.fa_18efg),
("Cold War Assets mod (v1.0)", self.coldwarassets),
("Frenchpack (v4.9.1)", self.frenchpack),
("High Digit SAMs", self.high_digit_sams),
("IDF Assets Pack (v1.1 by IDF Mods Project)", self.irondome),

View File

@ -0,0 +1,57 @@
local unitPayloads = {
["name"] = "B_47",
["payloads"] = {
[1] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{B_29_RASCALARM}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 33,
},
},
[2] = {
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "{B_29_RASCALARM}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 33,
},
},
[3] = {
["name"] = "Retribution OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "{B_29_RASCALARM}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 33,
},
},
[4] = {
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{B_29_RASCALARM}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 33,
},
},
},
["tasks"] = {
},
["unitType"] = "B_47",
}
return unitPayloads

View File

@ -0,0 +1,82 @@
local unitPayloads = {
["name"] = "Tu-16",
["payloads"] = {
[1] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{BDAD04AA-4D4A-4E51-B958-180A89F963CF}",
["num"] = 3,
},
[3] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 33,
},
},
[2] = {
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 15,
},
},
[3] = {
["displayName"] = "SEAD",
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{TU_16_KSR5ARM}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{TU_16_KSR5ARM}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 15,
},
},
[4] = {
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{BDAD04AA-4D4A-4E51-B958-180A89F963CF}",
["num"] = 3,
},
[3] = {
["CLSID"] = "{TU_16_KSR5}",
["num"] = 4,
},
},
["tasks"] = {
[1] = 33,
},
},
},
["tasks"] = {
},
["unitType"] = "Tu-16",
}
return unitPayloads

View File

@ -0,0 +1,57 @@
local unitPayloads = {
["name"] = "Tu-4K",
["payloads"] = {
[1] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 2,
},
},
["tasks"] = {
[1] = 32,
},
},
[2] = {
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 2,
},
},
["tasks"] = {
[1] = 33,
},
},
[3] = {
["name"] = "Retribution OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 1,
},
[2] = {
["CLSID"] = "{Tu4_KS_1}",
["num"] = 2,
},
},
["tasks"] = {
[1] = 33,
},
},
},
["tasks"] = {
},
["unitType"] = "Tu-4K",
}
return unitPayloads

View File

@ -0,0 +1,41 @@
local unitPayloads = {
["name"] = "tu_22D",
["payloads"] = {
[1] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{D9179118-E42F-47DE-A483-A6C2EA7B4F38}",
["num"] = 1,
},
[2] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
},
["tasks"] = {
[1] = 32,
},
},
[2] = {
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "<CLEAN>",
["num"] = 1,
},
[2] = {
["CLSID"] = "{BDAD04AA-4D4A-4E51-B958-180A89F963CF}",
["num"] = 2,
},
},
["tasks"] = {
[1] = 32,
},
},
},
["tasks"] = {
},
["unitType"] = "tu_22D",
}
return unitPayloads

View File

@ -0,0 +1,111 @@
local unitPayloads = {
["name"] = "tu_22KD",
["payloads"] = {
[1] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "<CLEAN>",
["num"] = 1,
},
[2] = {
["CLSID"] = "{D9179118-E42F-47DE-A483-A6C2EA7B4F38}",
["num"] = 2,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 3,
},
},
["tasks"] = {
[1] = 32,
},
},
[2] = {
["displayName"] = "CAS",
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "<CLEAN>",
["num"] = 1,
},
[2] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
[3] = {
["CLSID"] = "{BDAD04AA-4D4A-4E51-B958-180A89F963CF}",
["num"] = 3,
},
},
["tasks"] = {
[1] = 32,
},
},
[3] = {
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{TU_22_KH22P}",
["num"] = 1,
},
[2] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 3,
},
},
["tasks"] = {
[1] = 32,
},
},
[4] = {
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "{12429ECF-03F0-4DF6-BCBD-5D38B6343DE1}",
["num"] = 1,
},
[2] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 3,
},
},
["tasks"] = {
[1] = 32,
},
},
[5] = {
["displayName"] = "DEAD",
["name"] = "DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
[2] = {
["CLSID"] = "{Tu_22_Kh22PSI}",
["num"] = 1,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 3,
},
},
["tasks"] = {
[1] = 32,
},
},
},
["tasks"] = {
},
["unitType"] = "tu_22KD",
}
return unitPayloads

View File

@ -0,0 +1,69 @@
{
"country": "USSR",
"name": "Soviet Union 1965",
"authors": "Ghosti",
"description": "<p>Soviet armed forces in the 60s, unsing the Cold War Assets mod by tripod3.</p>",
"locales": [
"ru_RU"
],
"aircrafts": [
"Mi-8MTV2 Hip",
"MiG-15bis Fagot",
"MiG-19P Farmer-B",
"MiG-21bis Fishbed-N",
"Tu-4K Bull",
"Tu-16 Badger-B",
"Tu-22D Blinder",
"Tu-22KD Blinder",
"Tu-95MS Bear-H"
],
"awacs": [
"A-50"
],
"tankers": [
"IL-78M"
],
"frontline_units": [
"BMD-1",
"BMP-1",
"BRDM-2",
"BTR-80",
"BTR-D",
"PT-76",
"S-60 57mm",
"T-55A",
"ZSU-57-2 'Sparka'",
"ZU-23 on Ural-375"
],
"artillery_units": [
"BM-21 Grad"
],
"logistics_units": [
"LUV UAZ-469 Jeep",
"Truck Ural-375"
],
"infantry_units": [
"Infantry AK-74 Rus",
"Infantry RPG"
],
"missiles": [],
"preset_groups": [
"SA-2/S-75",
"SA-3/S-125",
"Cold-War-Flak",
"KS-19/SON-9"
],
"naval_units": [],
"air_defense_units": [
"SAM P19 \"Flat Face\" SR (SA-2/3)",
"ZSU-57-2 'Sparka'",
"AAA ZU-23 Closed Emplacement",
"ZU-23 on Ural-375",
"ZSU-23-4 Shilka"
],
"helicopter_carrier_names": [],
"requirements": {},
"carrier_names": [],
"has_jtac": false,
"doctrine": "coldwar"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -0,0 +1,20 @@
description:
"The Boeing B-47 Stratojet is an American long-range, six-engined, turbojet-powered
strategic bomber designed to fly at high subsonic speed and at high altitude to
avoid enemy interceptor aircraft. The primary mission of the B-47 was as a nuclear
bomber capable of striking targets within the Soviet Union."
introduced: 1951
manufacturer: Boeing
origin: USA
price: 30
role: Strategic Bomber
max_range: 2000
variants:
B-47 Stratojet: {}
tasks:
Anti-ship: 90
DEAD: 200
OCA/Runway: 610
Strike: 610
SEAD: 90
SEAD Sweep: 90

View File

@ -0,0 +1,23 @@
description:
"The Tupolev Tu-16 (NATO reporting name: Badger) is a twin-engined
jet strategic heavy bomber used by the Soviet Union.
It has the capability to carry KS-1, KSR-2 and KSR-5 missiles.
This aircraft is part of the Cold War assets mod by tripod3."
introduced: 1954
manufacturer: Tupolev
origin: USSR
price: 40
role: Strategic bomber
max_range: 2000
variants:
Tu-16 Badger-B: {}
# default_overrides:
# Belly_Bay_Door: false
tasks:
Anti-ship: 150
BAI: 370
CAS: 370
DEAD: 170
OCA/Aircraft: 370
OCA/Runway: 630
Strike: 640

View File

@ -0,0 +1,16 @@
description:
"The Tupolev Tu-4 (NATO reporting name: Bull) is a piston-engined
Soviet strategic bomber that served the Soviet Air Force from the
late 1940s to mid-1960s. It is a reverse-engineered copy of the
American B-29 Superfortress."
introduced: 1949
manufacturer: Tupolev/Boeing
origin: USSR/USA
price: 20
role: Heavy Bomber
variants:
Tu-4K Bull: {}
tasks:
OCA/Runway: 200
Strike: 200
Anti-ship: 200

View File

@ -0,0 +1,22 @@
description:
"The Tupolev Tu-22 (NATO reporting name: Blinder) was the first
supersonic bomber to enter production in the Soviet Union.
This is the original free-fall bomber variant.
This aircraft is part of the Cold War assets mod by tripod3."
introduced: 1962
manufacturer: Tupolev
origin: USSR
price: 40
role: Medium bomber
variants:
Tu-22D Blinder: {}
# default_overrides:
# Belly_Bay_Door: false
tasks:
Anti-ship: 100
BAI: 350
CAS: 350
DEAD: 150
OCA/Aircraft: 350
OCA/Runway: 600
Strike: 600

View File

@ -0,0 +1,25 @@
description:
"The Tupolev Tu-22 (NATO reporting name: Blinder) was the first
supersonic bomber to enter production in the Soviet Union.
This is the missile-carrier version built from 1965, equipped
to launch the Raduga Kh-22 (AS-4 Kitchen) missile.
This aircraft is part of the Cold War assets mod by tripod3."
introduced: 1965
manufacturer: Tupolev
origin: USSR
price: 45
role: Medium bomber
variants:
Tu-22KD Blinder: {}
# default_overrides:
# Belly_Bay_Door: false
tasks:
Anti-ship: 100
BAI: 350
CAS: 350
DEAD: 150
OCA/Aircraft: 350
OCA/Runway: 600
Strike: 600
SEAD: 30
SEAD Sweep: 30