From 483640b0c6865b15e52f0112a98677714b023c99 Mon Sep 17 00:00:00 2001 From: Khopa Date: Tue, 3 Aug 2021 00:15:14 +0200 Subject: [PATCH] Fixed errors after merge on helipad feature. --- game/game.py | 3 +-- game/helipad.py | 12 +++++++++++- game/theater/conflicttheater.py | 7 ++++--- gen/groundobjectsgen.py | 6 +++--- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/game/game.py b/game/game.py index dab02f8a..2305523a 100644 --- a/game/game.py +++ b/game/game.py @@ -30,7 +30,6 @@ from .event.frontlineattack import FrontlineAttackEvent from .factions.faction import Faction from .infos.information import Information from .navmesh import NavMesh -from .procurement import AircraftProcurementRequest from .profiling import logged_duration from .settings import Settings from .squadrons import AirWing @@ -192,7 +191,7 @@ class Game: @property def neutral_country(self): """Return the best fitting country that can be used as neutral faction in the generated mission""" - countries_in_use = [self.player_country, self.enemy_country] + countries_in_use = [self.red.country_name, self.blue.country_name] if UnitedNationsPeacekeepers not in countries_in_use: return UnitedNationsPeacekeepers elif Switzerland.name not in countries_in_use: diff --git a/game/helipad.py b/game/helipad.py index 8660ad4f..0f113d00 100644 --- a/game/helipad.py +++ b/game/helipad.py @@ -1,13 +1,23 @@ from typing import Optional +from dcs import Point from dcs.unitgroup import StaticGroup from game.point_with_heading import PointWithHeading +from game.utils import Heading class Helipad(PointWithHeading): def __init__(self): super(Helipad, self).__init__() - self.heading = 0 + self.heading = Heading.from_degrees(0) self.occupied = False self.static_unit: Optional[StaticGroup] = None + + @staticmethod + def from_point(point: Point, heading: Heading) -> "Helipad": + h = Helipad() + h.x = point.x + h.y = point.y + h.heading = heading + return h diff --git a/game/theater/conflicttheater.py b/game/theater/conflicttheater.py index 6651e918..01a98742 100644 --- a/game/theater/conflicttheater.py +++ b/game/theater/conflicttheater.py @@ -51,11 +51,11 @@ from .controlpoint import ( MissionTarget, OffMapSpawn, ) -from .seasonalconditions import SeasonalConditions from .frontline import FrontLine from .landmap import Landmap, load_landmap, poly_contains from .latlon import LatLon from .projections import TransverseMercator +from .seasonalconditions import SeasonalConditions from ..helipad import Helipad from ..point_with_heading import PointWithHeading from ..positioned import Positioned @@ -89,7 +89,7 @@ class MizCampaignLoader: SHIPPING_LANE_UNIT_TYPE = HandyWind.id FOB_UNIT_TYPE = Unarmed.SKP_11.id - FARP_HELIPAD = "SINGLE_HELIPAD" + FARP_HELIPAD = "Invisible FARP" OFFSHORE_STRIKE_TARGET_UNIT_TYPE = Fortification.Oil_platform.id SHIP_UNIT_TYPE = USS_Arleigh_Burke_IIa.id @@ -271,6 +271,7 @@ class MizCampaignLoader: def helipads(self) -> Iterator[StaticGroup]: for group in self.blue.static_group: if group.units[0].type == self.FARP_HELIPAD: + print("helooooo") yield group @property @@ -482,7 +483,7 @@ class MizCampaignLoader: for static in self.helipads: closest, distance = self.objective_info(static) closest.helipads.append( - PointWithHeading.from_point( + Helipad.from_point( static.position, Heading.from_degrees(static.units[0].heading) ) ) diff --git a/gen/groundobjectsgen.py b/gen/groundobjectsgen.py index 19907b7e..ffbd579c 100644 --- a/gen/groundobjectsgen.py +++ b/gen/groundobjectsgen.py @@ -614,7 +614,7 @@ class HelipadGenerator: country=country, name=(name + "_fuel"), _type=Fortification.FARP_Fuel_Depot, - position=pad.position.point_from_heading(helipad.heading, 35), + position=pad.position.point_from_heading(helipad.heading.degrees, 35), heading=pad.heading, ) self.m.static_group( @@ -622,8 +622,8 @@ class HelipadGenerator: name=(name + "_ammo"), _type=Fortification.FARP_Ammo_Dump_Coating, position=pad.position.point_from_heading( - helipad.heading, 35 - ).point_from_heading(helipad.heading + 90, 10), + helipad.heading.degrees, 35 + ).point_from_heading(helipad.heading.degrees + 90, 10), heading=pad.heading, )