Merge branch 'dcs-liberation:develop' into develop

This commit is contained in:
Mustang-25 2021-07-28 10:31:31 -07:00 committed by GitHub
commit a0d1bf4b5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 154 additions and 26 deletions

View File

@ -18,6 +18,7 @@ from gen.sam.ewrs import (
StraightFlushGenerator,
TallRackGenerator,
EwrGenerator,
TinShieldGenerator,
)
EWR_MAP = {
@ -31,6 +32,7 @@ EWR_MAP = {
"SnowDriftGenerator": SnowDriftGenerator,
"StraightFlushGenerator": StraightFlushGenerator,
"HawkEwrGenerator": HawkEwrGenerator,
"TinShieldGenerator": TinShieldGenerator,
}

View File

@ -102,3 +102,9 @@ class HawkEwrGenerator(EwrGenerator):
"""
unit_type = AirDefence.Hawk_sr
class TinShieldGenerator(EwrGenerator):
"""19ZH6 "Tin Shield" EWR."""
unit_type = AirDefence.RLS_19J6

View File

@ -28,6 +28,7 @@ from gen.sam.sam_gepard import GepardGenerator
from gen.sam.sam_hawk import HawkGenerator
from gen.sam.sam_hq7 import HQ7Generator
from gen.sam.sam_linebacker import LinebackerGenerator
from gen.sam.sam_nasams import NasamBGenerator, NasamCGenerator
from gen.sam.sam_patriot import PatriotGenerator
from gen.sam.sam_rapier import RapierGenerator
from gen.sam.sam_roland import RolandGenerator
@ -100,6 +101,8 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = {
"SA20Generator": SA20Generator,
"SA20BGenerator": SA20BGenerator,
"SA23Generator": SA23Generator,
"NasamBGenerator": NasamBGenerator,
"NasamCGenerator": NasamCGenerator,
}

68
gen/sam/sam_nasams.py Normal file
View File

@ -0,0 +1,68 @@
from typing import Type
from dcs.mapping import Point
from dcs.unittype import VehicleType
from dcs.vehicles import AirDefence
from game import Game
from game.theater import SamGroundObject
from gen.sam.airdefensegroupgenerator import (
AirDefenseRange,
AirDefenseGroupGenerator,
)
class NasamCGenerator(AirDefenseGroupGenerator):
"""
This generate a Nasams group with AIM-120C missiles
"""
name = "NASAMS AIM-120C"
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.launcherType: Type[VehicleType] = AirDefence.NASAMS_LN_C
def generate(self) -> None:
# Command Post
self.add_unit(
AirDefence.NASAMS_Command_Post,
"CP",
self.position.x + 30,
self.position.y + 30,
self.heading,
)
# Radar
self.add_unit(
AirDefence.NASAMS_Radar_MPQ64F1,
"RADAR",
self.position.x - 30,
self.position.y - 30,
self.heading,
)
positions = self.get_circular_position(4, launcher_distance=120, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
self.launcherType,
"LN#" + str(i),
position[0],
position[1],
position[2],
)
@classmethod
def range(cls) -> AirDefenseRange:
return AirDefenseRange.Medium
class NasamBGenerator(NasamCGenerator):
"""
This generate a Nasams group with AIM-120B missiles
"""
name = "NASAMS AIM-120B"
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.launcherType: Type[VehicleType] = AirDefence.NASAMS_LN_B

View File

@ -52,7 +52,8 @@
"ZU23Generator"
],
"ewrs": [
"FlatFaceGenerator"
"FlatFaceGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -66,4 +67,4 @@
"navy_generators": [],
"has_jtac": true,
"jtac_unit": "Mi-8MTV2 Hip"
}
}

View File

@ -57,7 +57,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [
"KUZNECOW"
@ -78,4 +79,4 @@
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}
}

View File

@ -53,7 +53,8 @@
"ColdWarFlakGenerator"
],
"ewrs": [
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -81,4 +82,4 @@
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"doctrine": "coldwar"
}
}

View File

@ -65,7 +65,8 @@
"ZU23UralGenerator"
],
"ewrs": [
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -93,4 +94,4 @@
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}
}

View File

@ -53,7 +53,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -75,4 +76,4 @@
"MolniyaGroupGenerator",
"LaCombattanteIIGroupGenerator"
]
}
}

View File

@ -57,7 +57,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -75,4 +76,4 @@
"MolniyaGroupGenerator"
],
"has_jtac": false
}
}

View File

@ -48,7 +48,8 @@
"ZU23UralGenerator"
],
"ewrs": [
"FlatFaceGenerator"
"FlatFaceGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
@ -66,4 +67,4 @@
],
"has_jtac": false,
"doctrine": "coldwar"
}
}

View File

@ -63,7 +63,8 @@
"ZU23UralGenerator"
],
"ewrs": [
"FlatFaceGenerator"
"FlatFaceGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],

View File

@ -63,7 +63,8 @@
"ZU23UralGenerator"
],
"ewrs": [
"FlatFaceGenerator"
"FlatFaceGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],

View File

@ -73,7 +73,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [
"KUZNECOW"
@ -96,4 +97,4 @@
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}
}

View File

@ -54,7 +54,8 @@
"ZSU57Generator"
],
"ewrs": [
"BoxSpringGenerator"
"BoxSpringGenerator",
"TinShieldGenerator"
],
"missiles": [
"ScudGenerator"
@ -70,4 +71,4 @@
"navy_generators": [
"GrishaGroupGenerator"
]
}
}

View File

@ -71,7 +71,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"missiles": [
"ScudGenerator"
@ -88,4 +89,4 @@
"GrishaGroupGenerator",
"MolniyaGroupGenerator"
]
}
}

View File

@ -73,7 +73,8 @@
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
"TallRackGenerator",
"TinShieldGenerator"
],
"missiles": [
"ScudGenerator"
@ -90,4 +91,4 @@
"GrishaGroupGenerator",
"MolniyaGroupGenerator"
]
}
}

View File

@ -68,7 +68,8 @@
"air_defenses": [
"AvengerGenerator",
"LinebackerGenerator",
"PatriotGenerator"
"PatriotGenerator",
"NasamCGenerator"
],
"ewrs": [
"PatriotEwrGenerator"
@ -126,4 +127,4 @@
"VMFA-323"
]
}
}
}

View File

@ -0,0 +1,8 @@
price: 18
description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system.
NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)."
introduced: 1995
manufacturer: Kongsberg Defence & Aerospace, Raytheon
origin: Norway, USA
variants:
SAM NASAMS C2: null

View File

@ -0,0 +1,8 @@
price: 15
description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system.
NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)."
introduced: 1995
manufacturer: Kongsberg Defence & Aerospace, Raytheon
origin: Norway, USA
variants:
SAM NASAMS LN AIM-120B: null

View File

@ -0,0 +1,8 @@
price: 20
description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system.
NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)."
introduced: 1996
manufacturer: Kongsberg Defence & Aerospace, Raytheon
origin: Norway, USA
variants:
SAM NASAMS LN AIM-120C: null

View File

@ -0,0 +1,8 @@
price: 26
description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system.
NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)."
introduced: 1995
manufacturer: Kongsberg Defence & Aerospace, Raytheon
origin: Norway, USA
variants:
SAM NASAMS SR MPQ64F1: null

View File

@ -0,0 +1,3 @@
price: 16
variants:
SAM SA-5 S-200 ST-68U "Tin Shield" SR: null