class RussiaSmall(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = { (-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } def __init__(self, load_ground_objects=True): super(RussiaSmall, self).__init__() self.maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) self.mineralnye = ControlPoint.from_airport(caucasus.Mineralnye_Vody, LAND, SIZE_BIG, 1.3) self.mozdok = ControlPoint.from_airport(caucasus.Mozdok, LAND, SIZE_BIG, 1.1) self.add_controlpoint(self.mozdok, connected_to=[self.mineralnye]) self.add_controlpoint(self.mineralnye, connected_to=[self.mozdok, self.maykop]) self.add_controlpoint(self.maykop, connected_to=[self.mineralnye]) self.mozdok.captured = True self.maykop.captured_invert = True
class WesternGeorgia(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = { (-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } def __init__(self, load_ground_objects=True): super(WesternGeorgia, self).__init__() self.kobuleti = ControlPoint.from_airport(caucasus.Kobuleti, COAST_A_E, SIZE_SMALL, 1.1) self.senaki = ControlPoint.from_airport(caucasus.Senaki_Kolkhi, LAND, SIZE_REGULAR, IMPORTANCE_LOW) self.kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) self.sukhumi = ControlPoint.from_airport(caucasus.Sukhumi_Babushara, COAST_DR_E, SIZE_REGULAR, 1.2) self.gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2) self.sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH) self.carrier_1 = ControlPoint.carrier( "Carrier", mapping.Point(-285810.6875, 496399.1875), 1001) self.lha = ControlPoint.lha("Tarawa", mapping.Point(-326050.6875, 519452.1875), 1002) self.add_controlpoint(self.kutaisi, connected_to=[self.senaki]) self.add_controlpoint( self.senaki, connected_to=[self.kobuleti, self.sukhumi, self.kutaisi]) self.add_controlpoint(self.kobuleti, connected_to=[self.senaki]) self.add_controlpoint(self.sukhumi, connected_to=[self.gudauta, self.senaki]) self.add_controlpoint(self.gudauta, connected_to=[self.sochi, self.sukhumi]) self.add_controlpoint(self.sochi, connected_to=[self.gudauta]) self.add_controlpoint(self.carrier_1) self.add_controlpoint(self.lha) self.carrier_1.captured = True self.carrier_1.captured_invert = True self.lha.captured = True self.lha.captured_invert = True self.kobuleti.captured = True self.sochi.captured_invert = True
class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = { (-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), }
class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = ( ReferencePoint(caucasus.Gelendzhik.position, Point(176, 298)), ReferencePoint(caucasus.Batumi.position, Point(1307, 1205)), ) landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), }
class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = ( ReferencePoint(caucasus.Gelendzhik.position, Point(176, 298)), ReferencePoint(caucasus.Batumi.position, Point(1307, 1205)), ) landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } @property def projection_parameters(self) -> TransverseMercator: from .caucasus import PARAMETERS return PARAMETERS
class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" landmap = load_landmap(Path("resources/caulandmap.p")) daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } @property def timezone(self) -> datetime.timezone: return datetime.timezone(datetime.timedelta(hours=4)) @property def seasonal_conditions(self) -> SeasonalConditions: from .seasonalconditions.caucasus import CONDITIONS return CONDITIONS
class CaucasusTheater(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = { (-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } soganlug = ControlPoint.from_airport(caucasus.Soganlug, LAND, SIZE_SMALL, IMPORTANCE_LOW) kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) senaki = ControlPoint.from_airport(caucasus.Senaki_Kolkhi, LAND, SIZE_REGULAR, IMPORTANCE_LOW) kobuleti = ControlPoint.from_airport(caucasus.Kobuleti, COAST_A_E, SIZE_SMALL, 1.1) batumi = ControlPoint.from_airport(caucasus.Batumi, COAST_DL_E, SIZE_SMALL, 1.3) sukhumi = ControlPoint.from_airport(caucasus.Sukhumi_Babushara, COAST_DR_E, SIZE_REGULAR, 1.2) gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2) sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH) gelendzhik = ControlPoint.from_airport(caucasus.Gelendzhik, COAST_DR_E, SIZE_BIG, 1.1) maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) krasnodar = ControlPoint.from_airport(caucasus.Krasnodar_Center, LAND, SIZE_LARGE, IMPORTANCE_HIGH) krymsk = ControlPoint.from_airport(caucasus.Krymsk, LAND, SIZE_LARGE, 1.2) anapa = ControlPoint.from_airport(caucasus.Anapa_Vityazevo, LAND, SIZE_LARGE, IMPORTANCE_HIGH) beslan = ControlPoint.from_airport(caucasus.Beslan, LAND, SIZE_REGULAR, IMPORTANCE_LOW) nalchik = ControlPoint.from_airport(caucasus.Nalchik, LAND, SIZE_REGULAR, 1.1) mineralnye = ControlPoint.from_airport(caucasus.Mineralnye_Vody, LAND, SIZE_BIG, 1.3) mozdok = ControlPoint.from_airport(caucasus.Mozdok, LAND, SIZE_BIG, 1.1) carrier_1 = ControlPoint.carrier("Carrier", mapping.Point(-305810.6875, 406399.1875)) def __init__(self, load_ground_objects=True): super(CaucasusTheater, self).__init__() self.soganlug.frontline_offset = 0.5 self.soganlug.base.strength = 1 self.add_controlpoint(self.soganlug, connected_to=[self.kutaisi, self.beslan]) self.add_controlpoint( self.beslan, connected_to=[self.soganlug, self.mozdok, self.nalchik]) self.add_controlpoint( self.nalchik, connected_to=[self.beslan, self.mozdok, self.mineralnye]) self.add_controlpoint( self.mozdok, connected_to=[self.nalchik, self.beslan, self.mineralnye]) self.add_controlpoint( self.mineralnye, connected_to=[self.nalchik, self.mozdok, self.maykop]) self.add_controlpoint(self.maykop, connected_to=[self.mineralnye, self.krasnodar]) self.add_controlpoint(self.kutaisi, connected_to=[self.soganlug, self.senaki]) self.add_controlpoint( self.senaki, connected_to=[self.kobuleti, self.sukhumi, self.kutaisi]) self.add_controlpoint(self.kobuleti, connected_to=[self.batumi, self.senaki]) self.add_controlpoint(self.batumi, connected_to=[self.kobuleti]) self.add_controlpoint(self.sukhumi, connected_to=[self.gudauta, self.senaki]) self.add_controlpoint(self.gudauta, connected_to=[self.sochi, self.sukhumi]) self.add_controlpoint(self.sochi, connected_to=[self.gudauta, self.gelendzhik]) self.add_controlpoint(self.gelendzhik, connected_to=[ self.sochi, ]) self.add_controlpoint(self.krymsk, connected_to=[self.anapa, self.krasnodar]) self.add_controlpoint(self.anapa, connected_to=[self.krymsk]) self.add_controlpoint(self.krasnodar, connected_to=[self.krymsk, self.maykop]) self.add_controlpoint(self.carrier_1) self.carrier_1.captured = True self.soganlug.captured = True def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) super(CaucasusTheater, self).add_controlpoint(point, connected_to=connected_to)
class NorthCaucasus(ConflictTheater): terrain = caucasus.Caucasus() overview_image = "caumap.gif" reference_points = { (-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } landmap = load_landmap("resources\\caulandmap.p") daytime_map = { "dawn": (6, 9), "day": (9, 18), "dusk": (18, 20), "night": (0, 5), } def __init__(self, load_ground_objects=True): super(NorthCaucasus, self).__init__() self.kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) self.vaziani = ControlPoint.from_airport(caucasus.Vaziani, LAND, SIZE_SMALL, IMPORTANCE_LOW) self.maykop = ControlPoint.from_airport(caucasus.Maykop_Khanskaya, LAND, SIZE_LARGE, IMPORTANCE_HIGH) self.beslan = ControlPoint.from_airport(caucasus.Beslan, LAND, SIZE_REGULAR, IMPORTANCE_LOW) self.nalchik = ControlPoint.from_airport(caucasus.Nalchik, LAND, SIZE_REGULAR, 1.1) self.mineralnye = ControlPoint.from_airport(caucasus.Mineralnye_Vody, LAND, SIZE_BIG, 1.3) self.mozdok = ControlPoint.from_airport(caucasus.Mozdok, LAND, SIZE_BIG, 1.1) self.carrier_1 = ControlPoint.carrier( "Carrier", mapping.Point(-285810.6875, 496399.1875), 1001) self.lha = ControlPoint.lha("Tarawa", mapping.Point(-326050.6875, 519452.1875), 1002) self.vaziani.frontline_offset = 0.5 self.vaziani.base.strength = 1 self.add_controlpoint(self.kutaisi, connected_to=[self.vaziani]) self.add_controlpoint(self.vaziani, connected_to=[self.beslan, self.kutaisi]) self.add_controlpoint( self.beslan, connected_to=[self.vaziani, self.mozdok, self.nalchik]) self.add_controlpoint( self.nalchik, connected_to=[self.beslan, self.mozdok, self.mineralnye]) self.add_controlpoint( self.mozdok, connected_to=[self.nalchik, self.beslan, self.mineralnye]) self.add_controlpoint( self.mineralnye, connected_to=[self.nalchik, self.mozdok, self.maykop]) self.add_controlpoint(self.maykop, connected_to=[self.mineralnye]) self.add_controlpoint(self.carrier_1, connected_to=[]) self.add_controlpoint(self.lha, connected_to=[]) self.carrier_1.captured = True self.vaziani.captured = True self.kutaisi.captured = True self.carrier_1.captured_invert = True self.maykop.captured_invert = True self.lha.captured = True self.lha.captured_invert = True self.mineralnye.captured_invert = True