diff --git a/changelog.md b/changelog.md index 25b053ff..5dbf3d54 100644 --- a/changelog.md +++ b/changelog.md @@ -7,6 +7,7 @@ * **[Campaigns/Factions]** Support for inline recommended faction in campaign's yaml file * **[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) * **[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 diff --git a/game/factions/faction.py b/game/factions/faction.py index d93596f3..9faee69e 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -397,6 +397,9 @@ class Faction: if not mod_settings.f105_thunderchief: self.remove_aircraft("VSN_F105D") self.remove_aircraft("VSN_F105G") + if not mod_settings.f106_deltadart: + self.remove_aircraft("VSN_F106A") + self.remove_aircraft("VSN_F106B") if not mod_settings.a6a_intruder: self.remove_aircraft("VSN_A6A") if not mod_settings.jas39_gripen: diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 7861561c..8e722d78 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -80,6 +80,7 @@ class ModSettings: f100_supersabre: bool = False f104_starfighter: bool = False f105_thunderchief: bool = False + f106_deltadart: bool = False hercules: bool = False irondome: bool = False uh_60l: bool = False diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index 73aaaa6c..ccdd9e01 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -6,6 +6,7 @@ from .f9f import * from .f100 import * from .f104 import * from .f105 import * +from .f106 import * from .f15d import * from .f15i_idf import * from .f16i_idf import * diff --git a/pydcs_extensions/f106/__init__.py b/pydcs_extensions/f106/__init__.py new file mode 100644 index 00000000..354bf7d2 --- /dev/null +++ b/pydcs_extensions/f106/__init__.py @@ -0,0 +1 @@ +from .f106 import * diff --git a/pydcs_extensions/f106/f106.py b/pydcs_extensions/f106/f106.py new file mode 100644 index 00000000..f8bbc883 --- /dev/null +++ b/pydcs_extensions/f106/f106.py @@ -0,0 +1,304 @@ +from typing import 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 WeaponsF106: + Fuel_Tank = {"clsid": "{VSN_F106L_PTB}", "name": "Fuel Tank", "weight": 1187} + Fuel_Tank_ = {"clsid": "{VSN_F106R_PTB}", "name": "Fuel Tank", "weight": 1187} + AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = { + "clsid": "{Hughes AIM-4D}", + "name": "AIM-4D Rear aspect advanced heat-seeking air-to-air missile.", + "weight": 60.8, + } + AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = { + "clsid": "{Hughes AIM-4F}", + "name": "AIM-4F Semi active radar-homing air-to-air missile.", + "weight": 66, + } + AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = { + "clsid": "{Hughes AIM-4G}", + "name": "AIM-4G Rear aspect heat seeking air-to-air missile.", + "weight": 66, + } + AIR_2A_Genie_Nuclear_air_to_air_unguided_rocket_ = { + "clsid": "{AIR-2A}", + "name": "AIR-2A Genie Nuclear air-to-air unguided rocket.", + "weight": 66, + } + L005_Sorbtsiya_ECM_pod__left_ = { + "clsid": "{44EE8698-89F9-48EE-AF36-5FD31896A82F}", + "name": "L005 Sorbtsiya ECM pod (left)", + "weight": 150, + } + L005_Sorbtsiya_ECM_pod__right_ = { + "clsid": "{44EE8698-89F9-48EE-AF36-5FD31896A82A}", + "name": "L005 Sorbtsiya ECM pod (right)", + "weight": 150, + } + + +inject_weapons(WeaponsF106) + + +@planemod +class VSN_F106A(PlaneType): + id = "VSN_F106A" + flyable = True + height = 6.18 + width = 11.67 + length = 21.56 + fuel_max = 4464 + max_speed = 2452.032 + 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 + + livery_name = "VSN_F106A" # from type + + class Pylon1: + 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) + Weapons.Fuel_Tank = (1, Weapons.Fuel_Tank) + + # ERRR + + class Pylon2: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 2, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 2, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 2, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon3: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 3, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 3, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 3, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon4: + Weapons.AIR_2A_Genie_Nuclear_air_to_air_unguided_rocket_ = ( + 4, + Weapons.AIR_2A_Genie_Nuclear_air_to_air_unguided_rocket_, + ) + + # ERRR + + class Pylon5: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 5, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 5, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 5, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon6: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 6, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 6, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 6, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon7: + Smokewinder___red = (7, Weapons.Smokewinder___red) + Smokewinder___green = (7, Weapons.Smokewinder___green) + Smokewinder___blue = (7, Weapons.Smokewinder___blue) + Smokewinder___white = (7, Weapons.Smokewinder___white) + Smokewinder___yellow = (7, Weapons.Smokewinder___yellow) + Weapons.Fuel_Tank_ = (7, Weapons.Fuel_Tank_) + + # ERRR + + class Pylon8: + WeaponsF106.L005_Sorbtsiya_ECM_pod__left_ = ( + 8, + Weapons.L005_Sorbtsiya_ECM_pod__left_, + ) + + class Pylon9: + Smoke_Generator___red_ = (9, Weapons.Smoke_Generator___red_) + Smoke_Generator___green_ = (9, Weapons.Smoke_Generator___green_) + Smoke_Generator___blue_ = (9, Weapons.Smoke_Generator___blue_) + Smoke_Generator___white_ = (9, Weapons.Smoke_Generator___white_) + Smoke_Generator___yellow_ = (9, Weapons.Smoke_Generator___yellow_) + Smoke_Generator___orange_ = (9, Weapons.Smoke_Generator___orange_) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.Reconnaissance, + ] + task_default = task.FighterSweep + + +@planemod +class VSN_F106B(PlaneType): + id = "VSN_F106B" + flyable = True + height = 6.18 + width = 11.67 + length = 21.56 + fuel_max = 4464 + max_speed = 2452.032 + 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 + + livery_name = "VSN_F106B" # from type + + class Pylon1: + 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) + Fuel_Tank = (1, Weapons.Fuel_Tank) + + # ERRR + + class Pylon2: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 2, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 2, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 2, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon3: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 3, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 3, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 3, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon4: + Weapons.AIR_2A_Genie_Nuclear_air_to_air_unguided_rocket_ = ( + 4, + Weapons.AIR_2A_Genie_Nuclear_air_to_air_unguided_rocket_, + ) + + # ERRR + + class Pylon5: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 5, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 5, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 5, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon6: + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_ = ( + 6, + Weapons.AIM_4D_Rear_aspect_advanced_heat_seeking_air_to_air_missile_, + ) + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_ = ( + 6, + Weapons.AIM_4F_Semi_active_radar_homing_air_to_air_missile_, + ) + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_ = ( + 6, + Weapons.AIM_4G_Rear_aspect_heat_seeking_air_to_air_missile_, + ) + + class Pylon7: + Smokewinder___red = (7, Weapons.Smokewinder___red) + Smokewinder___green = (7, Weapons.Smokewinder___green) + Smokewinder___blue = (7, Weapons.Smokewinder___blue) + Smokewinder___white = (7, Weapons.Smokewinder___white) + Smokewinder___yellow = (7, Weapons.Smokewinder___yellow) + Fuel_Tank_ = (7, Weapons.Fuel_Tank_) + + # ERRR + + class Pylon8: + Weapons.L005_Sorbtsiya_ECM_pod__left_ = ( + 8, + Weapons.L005_Sorbtsiya_ECM_pod__left_, + ) + + class Pylon9: + Smoke_Generator___red_ = (9, Weapons.Smoke_Generator___red_) + Smoke_Generator___green_ = (9, Weapons.Smoke_Generator___green_) + Smoke_Generator___blue_ = (9, Weapons.Smoke_Generator___blue_) + Smoke_Generator___white_ = (9, Weapons.Smoke_Generator___white_) + Smoke_Generator___yellow_ = (9, Weapons.Smoke_Generator___yellow_) + Smoke_Generator___orange_ = (9, Weapons.Smoke_Generator___orange_) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.Reconnaissance, + ] + task_default = task.FighterSweep diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 72f05bb6..696463bf 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -103,6 +103,7 @@ class NewGameWizard(QtWidgets.QWizard): f100_supersabre=self.field("f100_supersabre"), f104_starfighter=self.field("f104_starfighter"), f105_thunderchief=self.field("f105_thunderchief"), + f106_deltadart=self.field("f106_deltadart"), hercules=self.field("hercules"), irondome=self.field("irondome"), uh_60l=self.field("uh_60l"), diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index f48eaa86..8184b6bd 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -122,6 +122,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("f104_starfighter", self.f104_starfighter) self.f105_thunderchief = QtWidgets.QCheckBox() self.registerField("f105_thunderchief", self.f105_thunderchief) + self.f106_deltadart = QtWidgets.QCheckBox() + self.registerField("f106_deltadart", self.f106_deltadart) self.jas39_gripen = QtWidgets.QCheckBox() self.registerField("jas39_gripen", self.jas39_gripen) self.super_etendard = QtWidgets.QCheckBox() @@ -161,6 +163,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("F-100 Super Sabre (v2.7.18.30765 patch 20.10.22)", self.f100_supersabre), ("F-104 Starfighter (v2.7.11.222.01)", self.f104_starfighter), ("F-105 Thunderchief (v2.7.12.23x)", self.f105_thunderchief), + ("F-106 Delta Dart (v2.9.4.101)", self.f106_deltadart), ("F-15D Baz (v1.0)", self.f15d_baz), ("F-15I Ra'am (v1.0 by IDF Mods Project)", self.f_15_idf), ("F-16I Sufa & F-16D (v3.6 by IDF Mods Project)", self.f_16_idf), @@ -234,6 +237,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.f100_supersabre.setChecked(s.get("f100_supersabre", False)) self.f104_starfighter.setChecked(s.get("f104_starfighter", False)) self.f105_thunderchief.setChecked(s.get("f105_thunderchief", False)) + self.f106_deltadart.setChecked(s.get("f106_deltadart", False)) self.jas39_gripen.setChecked(s.get("jas39_gripen", False)) self.super_etendard.setChecked(s.get("super_etendard", False)) self.su30_flanker_h.setChecked(s.get("su30_flanker_h", False)) diff --git a/resources/customized_payloads/VSN_F106A.lua b/resources/customized_payloads/VSN_F106A.lua new file mode 100644 index 00000000..00f3d16b --- /dev/null +++ b/resources/customized_payloads/VSN_F106A.lua @@ -0,0 +1,45 @@ +local unitPayloads = { + ["name"] = "VSN_F106A", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{VSN_F106R_PTB}", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "{VSN_F106L_PTB}", + ["num"] = 1, + }, + [4] = { + ["CLSID"] = "{Hughes AIM-4G}", + ["num"] = 3, + }, + [5] = { + ["CLSID"] = "{Hughes AIM-4G}", + ["num"] = 5, + }, + [6] = { + ["CLSID"] = "{Hughes AIM-4F}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{Hughes AIM-4F}", + ["num"] = 2, + }, + }, + ["tasks"] = { + [1] = 19, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "VSN_F106A", +} +return unitPayloads diff --git a/resources/customized_payloads/VSN_F106B.lua b/resources/customized_payloads/VSN_F106B.lua new file mode 100644 index 00000000..4f41ae51 --- /dev/null +++ b/resources/customized_payloads/VSN_F106B.lua @@ -0,0 +1,45 @@ +local unitPayloads = { + ["name"] = "VSN_F106B", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{VSN_F106R_PTB}", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "{VSN_F106L_PTB}", + ["num"] = 1, + }, + [4] = { + ["CLSID"] = "{Hughes AIM-4F}", + ["num"] = 6, + }, + [5] = { + ["CLSID"] = "{Hughes AIM-4G}", + ["num"] = 5, + }, + [6] = { + ["CLSID"] = "{Hughes AIM-4G}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{Hughes AIM-4F}", + ["num"] = 2, + }, + }, + ["tasks"] = { + [1] = 19, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "VSN_F106B", +} +return unitPayloads diff --git a/resources/factions/usa_1960.json b/resources/factions/usa_1960.json index 5904938c..4ea8002b 100644 --- a/resources/factions/usa_1960.json +++ b/resources/factions/usa_1960.json @@ -13,6 +13,8 @@ "F-86F Sabre", "F-100 Super Sabre", "F-104C Starfighter", + "F-106A Delta Dart", + "F-106B Delta Dart", "P-51D-25-NA Mustang", "P-51D-30-NA Mustang", "F-105D Thunderchief", diff --git a/resources/factions/usa_1965.json b/resources/factions/usa_1965.json index 6738d559..218ec05c 100644 --- a/resources/factions/usa_1965.json +++ b/resources/factions/usa_1965.json @@ -19,6 +19,8 @@ "F-104C Starfighter", "F-105D Thunderchief", "F-105G Thunderchief", + "F-106A Delta Dart", + "F-106B Delta Dart", "UH-1H Iroquois" ], "awacs": [ diff --git a/resources/factions/usa_1975.json b/resources/factions/usa_1975.json index d3ace208..69d25cc8 100644 --- a/resources/factions/usa_1975.json +++ b/resources/factions/usa_1975.json @@ -21,6 +21,8 @@ "F-5E Tiger II", "F-100 Super Sabre", "F-105G Thunderchief", + "F-106A Delta Dart", + "F-106B Delta Dart", "S-3B Viking", "OV-10A Bronco", "UH-1H Iroquois" diff --git a/resources/ui/units/aircrafts/banners/VSN_F106A.jpg b/resources/ui/units/aircrafts/banners/VSN_F106A.jpg new file mode 100644 index 00000000..dcd0a8d3 Binary files /dev/null and b/resources/ui/units/aircrafts/banners/VSN_F106A.jpg differ diff --git a/resources/ui/units/aircrafts/banners/VSN_F106B.jpg b/resources/ui/units/aircrafts/banners/VSN_F106B.jpg new file mode 100644 index 00000000..a103fd1a Binary files /dev/null and b/resources/ui/units/aircrafts/banners/VSN_F106B.jpg differ diff --git a/resources/ui/units/aircrafts/icons/VSN_F106A_24.jpg b/resources/ui/units/aircrafts/icons/VSN_F106A_24.jpg new file mode 100644 index 00000000..594b7a1d Binary files /dev/null and b/resources/ui/units/aircrafts/icons/VSN_F106A_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/VSN_F106B_24.jpg b/resources/ui/units/aircrafts/icons/VSN_F106B_24.jpg new file mode 100644 index 00000000..68afdfcd Binary files /dev/null and b/resources/ui/units/aircrafts/icons/VSN_F106B_24.jpg differ diff --git a/resources/units/aircraft/VSN_F106A.yaml b/resources/units/aircraft/VSN_F106A.yaml new file mode 100644 index 00000000..85196556 --- /dev/null +++ b/resources/units/aircraft/VSN_F106A.yaml @@ -0,0 +1,21 @@ +description: + "The Convair F-106 Delta Dart is a supersonic interceptor that served with \ + \ the United States Air Force from 1959 to 1988. Capable of Mach 2.3 it was \ + \ envisioned as the ultimate interceptor. The F-106 was designed without a \ + \ gun or provision for carrying bombs, instead carrying its AIM-4 Falcon \ + \ air-to-air missiles within an internal weapons bay, its clean exterior was \ + \ beneficial to supersonic flight." +introduced: 1959 +manufacturer: Convair +origin: USA +price: 9 +role: Interceptor +max_range: 250 +gunfighter: false +variants: + F-106A Delta Dart: {} +tasks: + BARCAP: 250 + Escort: 150 + Fighter sweep: 200 + Intercept: 300 diff --git a/resources/units/aircraft/VSN_F106B.yaml b/resources/units/aircraft/VSN_F106B.yaml new file mode 100644 index 00000000..9bb5c6bf --- /dev/null +++ b/resources/units/aircraft/VSN_F106B.yaml @@ -0,0 +1,21 @@ +description: + "The Convair F-106 Delta Dart is a supersonic interceptor that served with \ + \ the United States Air Force from 1959 to 1988. Capable of Mach 2.3 it was \ + \ envisioned as the ultimate interceptor. The F-106 was designed without a \ + \ gun or provision for carrying bombs, instead carrying its AIM-4 Falcon \ + \ air-to-air missiles within an internal weapons bay, its clean exterior was \ + \ beneficial to supersonic flight." +introduced: 1959 +manufacturer: Convair +origin: USA +price: 9 +role: Interceptor +max_range: 250 +gunfighter: false +variants: + F-106B Delta Dart: {} +tasks: + BARCAP: 250 + Escort: 150 + Fighter sweep: 200 + Intercept: 300