mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Merge branch 'dcs-liberation:develop' into develop
This commit is contained in:
commit
a0d1bf4b5c
@ -18,6 +18,7 @@ from gen.sam.ewrs import (
|
|||||||
StraightFlushGenerator,
|
StraightFlushGenerator,
|
||||||
TallRackGenerator,
|
TallRackGenerator,
|
||||||
EwrGenerator,
|
EwrGenerator,
|
||||||
|
TinShieldGenerator,
|
||||||
)
|
)
|
||||||
|
|
||||||
EWR_MAP = {
|
EWR_MAP = {
|
||||||
@ -31,6 +32,7 @@ EWR_MAP = {
|
|||||||
"SnowDriftGenerator": SnowDriftGenerator,
|
"SnowDriftGenerator": SnowDriftGenerator,
|
||||||
"StraightFlushGenerator": StraightFlushGenerator,
|
"StraightFlushGenerator": StraightFlushGenerator,
|
||||||
"HawkEwrGenerator": HawkEwrGenerator,
|
"HawkEwrGenerator": HawkEwrGenerator,
|
||||||
|
"TinShieldGenerator": TinShieldGenerator,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -102,3 +102,9 @@ class HawkEwrGenerator(EwrGenerator):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
unit_type = AirDefence.Hawk_sr
|
unit_type = AirDefence.Hawk_sr
|
||||||
|
|
||||||
|
|
||||||
|
class TinShieldGenerator(EwrGenerator):
|
||||||
|
"""19ZH6 "Tin Shield" EWR."""
|
||||||
|
|
||||||
|
unit_type = AirDefence.RLS_19J6
|
||||||
|
|||||||
@ -28,6 +28,7 @@ from gen.sam.sam_gepard import GepardGenerator
|
|||||||
from gen.sam.sam_hawk import HawkGenerator
|
from gen.sam.sam_hawk import HawkGenerator
|
||||||
from gen.sam.sam_hq7 import HQ7Generator
|
from gen.sam.sam_hq7 import HQ7Generator
|
||||||
from gen.sam.sam_linebacker import LinebackerGenerator
|
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_patriot import PatriotGenerator
|
||||||
from gen.sam.sam_rapier import RapierGenerator
|
from gen.sam.sam_rapier import RapierGenerator
|
||||||
from gen.sam.sam_roland import RolandGenerator
|
from gen.sam.sam_roland import RolandGenerator
|
||||||
@ -100,6 +101,8 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = {
|
|||||||
"SA20Generator": SA20Generator,
|
"SA20Generator": SA20Generator,
|
||||||
"SA20BGenerator": SA20BGenerator,
|
"SA20BGenerator": SA20BGenerator,
|
||||||
"SA23Generator": SA23Generator,
|
"SA23Generator": SA23Generator,
|
||||||
|
"NasamBGenerator": NasamBGenerator,
|
||||||
|
"NasamCGenerator": NasamCGenerator,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
68
gen/sam/sam_nasams.py
Normal file
68
gen/sam/sam_nasams.py
Normal 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
|
||||||
@ -52,7 +52,8 @@
|
|||||||
"ZU23Generator"
|
"ZU23Generator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"FlatFaceGenerator"
|
"FlatFaceGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -66,4 +67,4 @@
|
|||||||
"navy_generators": [],
|
"navy_generators": [],
|
||||||
"has_jtac": true,
|
"has_jtac": true,
|
||||||
"jtac_unit": "Mi-8MTV2 Hip"
|
"jtac_unit": "Mi-8MTV2 Hip"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [
|
"aircraft_carrier": [
|
||||||
"KUZNECOW"
|
"KUZNECOW"
|
||||||
@ -78,4 +79,4 @@
|
|||||||
],
|
],
|
||||||
"has_jtac": true,
|
"has_jtac": true,
|
||||||
"jtac_unit": "MQ-9 Reaper"
|
"jtac_unit": "MQ-9 Reaper"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,8 @@
|
|||||||
"ColdWarFlakGenerator"
|
"ColdWarFlakGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -81,4 +82,4 @@
|
|||||||
"has_jtac": true,
|
"has_jtac": true,
|
||||||
"jtac_unit": "MQ-9 Reaper",
|
"jtac_unit": "MQ-9 Reaper",
|
||||||
"doctrine": "coldwar"
|
"doctrine": "coldwar"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,8 @@
|
|||||||
"ZU23UralGenerator"
|
"ZU23UralGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -93,4 +94,4 @@
|
|||||||
],
|
],
|
||||||
"has_jtac": true,
|
"has_jtac": true,
|
||||||
"jtac_unit": "MQ-9 Reaper"
|
"jtac_unit": "MQ-9 Reaper"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -75,4 +76,4 @@
|
|||||||
"MolniyaGroupGenerator",
|
"MolniyaGroupGenerator",
|
||||||
"LaCombattanteIIGroupGenerator"
|
"LaCombattanteIIGroupGenerator"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -75,4 +76,4 @@
|
|||||||
"MolniyaGroupGenerator"
|
"MolniyaGroupGenerator"
|
||||||
],
|
],
|
||||||
"has_jtac": false
|
"has_jtac": false
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,8 @@
|
|||||||
"ZU23UralGenerator"
|
"ZU23UralGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"FlatFaceGenerator"
|
"FlatFaceGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
@ -66,4 +67,4 @@
|
|||||||
],
|
],
|
||||||
"has_jtac": false,
|
"has_jtac": false,
|
||||||
"doctrine": "coldwar"
|
"doctrine": "coldwar"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,7 +63,8 @@
|
|||||||
"ZU23UralGenerator"
|
"ZU23UralGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"FlatFaceGenerator"
|
"FlatFaceGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
|
|||||||
@ -63,7 +63,8 @@
|
|||||||
"ZU23UralGenerator"
|
"ZU23UralGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"FlatFaceGenerator"
|
"FlatFaceGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [],
|
"aircraft_carrier": [],
|
||||||
"helicopter_carrier": [],
|
"helicopter_carrier": [],
|
||||||
|
|||||||
@ -73,7 +73,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"aircraft_carrier": [
|
"aircraft_carrier": [
|
||||||
"KUZNECOW"
|
"KUZNECOW"
|
||||||
@ -96,4 +97,4 @@
|
|||||||
],
|
],
|
||||||
"has_jtac": true,
|
"has_jtac": true,
|
||||||
"jtac_unit": "MQ-9 Reaper"
|
"jtac_unit": "MQ-9 Reaper"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,7 +54,8 @@
|
|||||||
"ZSU57Generator"
|
"ZSU57Generator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator"
|
"BoxSpringGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"missiles": [
|
"missiles": [
|
||||||
"ScudGenerator"
|
"ScudGenerator"
|
||||||
@ -70,4 +71,4 @@
|
|||||||
"navy_generators": [
|
"navy_generators": [
|
||||||
"GrishaGroupGenerator"
|
"GrishaGroupGenerator"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,7 +71,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"missiles": [
|
"missiles": [
|
||||||
"ScudGenerator"
|
"ScudGenerator"
|
||||||
@ -88,4 +89,4 @@
|
|||||||
"GrishaGroupGenerator",
|
"GrishaGroupGenerator",
|
||||||
"MolniyaGroupGenerator"
|
"MolniyaGroupGenerator"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,7 +73,8 @@
|
|||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"BoxSpringGenerator",
|
"BoxSpringGenerator",
|
||||||
"TallRackGenerator"
|
"TallRackGenerator",
|
||||||
|
"TinShieldGenerator"
|
||||||
],
|
],
|
||||||
"missiles": [
|
"missiles": [
|
||||||
"ScudGenerator"
|
"ScudGenerator"
|
||||||
@ -90,4 +91,4 @@
|
|||||||
"GrishaGroupGenerator",
|
"GrishaGroupGenerator",
|
||||||
"MolniyaGroupGenerator"
|
"MolniyaGroupGenerator"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,7 +68,8 @@
|
|||||||
"air_defenses": [
|
"air_defenses": [
|
||||||
"AvengerGenerator",
|
"AvengerGenerator",
|
||||||
"LinebackerGenerator",
|
"LinebackerGenerator",
|
||||||
"PatriotGenerator"
|
"PatriotGenerator",
|
||||||
|
"NasamCGenerator"
|
||||||
],
|
],
|
||||||
"ewrs": [
|
"ewrs": [
|
||||||
"PatriotEwrGenerator"
|
"PatriotEwrGenerator"
|
||||||
@ -126,4 +127,4 @@
|
|||||||
"VMFA-323"
|
"VMFA-323"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
resources/units/ground_units/NASAMS_Command_Post.yaml
Normal file
8
resources/units/ground_units/NASAMS_Command_Post.yaml
Normal 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
|
||||||
8
resources/units/ground_units/NASAMS_LN_B.yaml
Normal file
8
resources/units/ground_units/NASAMS_LN_B.yaml
Normal 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
|
||||||
8
resources/units/ground_units/NASAMS_LN_C.yaml
Normal file
8
resources/units/ground_units/NASAMS_LN_C.yaml
Normal 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
|
||||||
8
resources/units/ground_units/NASAMS_Radar_MPQ64F1.yaml
Normal file
8
resources/units/ground_units/NASAMS_Radar_MPQ64F1.yaml
Normal 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
|
||||||
3
resources/units/ground_units/RLS_19J6.yaml
Normal file
3
resources/units/ground_units/RLS_19J6.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
price: 16
|
||||||
|
variants:
|
||||||
|
SAM SA-5 S-200 ST-68U "Tin Shield" SR: null
|
||||||
Loading…
x
Reference in New Issue
Block a user