Update SA-5 Generator for factions without the TinShield

- added an EarlySA5Generator with the P-19 FlatFace SR which is supported by all factions
- allows factions without access to the TinShield to have a working SA-5

cherry-pick from f526681f
This commit is contained in:
RndName
2022-01-04 21:05:47 +01:00
parent e56abbe768
commit cf7330e938
6 changed files with 28 additions and 7 deletions

View File

@@ -1,5 +1,10 @@
from typing import Type
from dcs.unittype import VehicleType
from dcs.vehicles import AirDefence, Unarmed
from game import Game
from game.theater import SamGroundObject
from gen.sam.airdefensegroupgenerator import (
AirDefenseRange,
AirDefenseGroupGenerator,
@@ -8,15 +13,18 @@ from gen.sam.airdefensegroupgenerator import (
class SA5Generator(AirDefenseGroupGenerator):
"""
This generate a SA-5 group
This generate a SA-5 group using the TinShield SR
"""
name = "SA-5/S-200 Site"
def generate(self) -> None:
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.sr: Type[VehicleType] = AirDefence.RLS_19J6
def generate(self) -> None:
self.add_unit(
AirDefence.RLS_19J6,
self.sr,
"SR",
self.position.x,
self.position.y,
@@ -54,3 +62,14 @@ class SA5Generator(AirDefenseGroupGenerator):
@classmethod
def range(cls) -> AirDefenseRange:
return AirDefenseRange.Long
# TODO Replace this legacy handling once the Generators can be faction sensitive #1903
class SA5FlatFaceGenerator(SA5Generator):
"""
This generate a SA-5 group using the P-19 FlatFace SR
"""
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.sr: Type[VehicleType] = AirDefence.P_19_s_125_sr