mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Use the actual Country type instead of the name.
We want other pieces of country information (in particular the short names). This cleans up a lot of code anyway. As an added bonus, this now catches squadrons that used invalid names which would previously be passed through to pydcs and... then I don't know what would happen.
This commit is contained in:
@@ -17,8 +17,8 @@ from game.ato.flighttype import FlightType
|
||||
from game.ato.package import Package
|
||||
from game.ato.starttype import StartType
|
||||
from game.factions.faction import Faction
|
||||
from game.missiongenerator.missiondata import MissionData
|
||||
from game.missiongenerator.lasercoderegistry import LaserCodeRegistry
|
||||
from game.missiongenerator.missiondata import MissionData
|
||||
from game.radio.radios import RadioRegistry
|
||||
from game.radio.tacan import TacanRegistry
|
||||
from game.runways import RunwayData
|
||||
@@ -143,7 +143,6 @@ class AircraftGenerator:
|
||||
# TODO: Special flight type?
|
||||
flight = Flight(
|
||||
Package(squadron.location, self.game.db.flights),
|
||||
faction.country,
|
||||
squadron,
|
||||
1,
|
||||
FlightType.BARCAP,
|
||||
|
||||
@@ -73,7 +73,7 @@ class AirSupportGenerator:
|
||||
else self.conflict.red_cp
|
||||
)
|
||||
|
||||
country = self.mission.country(self.game.blue.country_name)
|
||||
country = self.game.blue.faction.country
|
||||
|
||||
if not self.game.settings.disable_legacy_tanker:
|
||||
fallback_tanker_number = 0
|
||||
|
||||
@@ -29,12 +29,9 @@ class CargoShipGenerator:
|
||||
self.generate_cargo_ship(ship)
|
||||
|
||||
def generate_cargo_ship(self, ship: CargoShip) -> ShipGroup:
|
||||
country = self.mission.country(
|
||||
self.game.coalition_for(ship.player_owned).country_name
|
||||
)
|
||||
waypoints = ship.route
|
||||
group = self.mission.ship_group(
|
||||
country,
|
||||
self.game.coalition_for(ship.player_owned).faction.country,
|
||||
ship.name,
|
||||
HandyWind,
|
||||
position=waypoints[0],
|
||||
|
||||
@@ -70,13 +70,11 @@ class ConvoyGenerator:
|
||||
units: dict[GroundUnitType, int],
|
||||
for_player: bool,
|
||||
) -> VehicleGroup:
|
||||
country = self.mission.country(self.game.coalition_for(for_player).country_name)
|
||||
|
||||
unit_types = list(units.items())
|
||||
main_unit_type, main_unit_count = unit_types[0]
|
||||
|
||||
group = self.mission.vehicle_group(
|
||||
country,
|
||||
self.game.coalition_for(for_player).faction.country,
|
||||
name,
|
||||
main_unit_type.dcs_unit_type,
|
||||
position=position,
|
||||
|
||||
@@ -151,7 +151,7 @@ class FlotGenerator:
|
||||
utype = AircraftType.named("MQ-9 Reaper")
|
||||
|
||||
jtac = self.mission.flight_group(
|
||||
country=self.mission.country(self.game.blue.country_name),
|
||||
country=self.game.blue.faction.country,
|
||||
name=namegen.next_jtac_name(),
|
||||
aircraft_type=utype.dcs_unit_type,
|
||||
position=position[0],
|
||||
@@ -716,7 +716,7 @@ class FlotGenerator:
|
||||
spawn_heading = (
|
||||
self.conflict.heading.left if is_player else self.conflict.heading.right
|
||||
)
|
||||
country = self.game.coalition_for(is_player).country_name
|
||||
country = self.game.coalition_for(is_player).faction.country
|
||||
for group in groups:
|
||||
if group.role == CombatGroupRole.ARTILLERY:
|
||||
distance_from_frontline = (
|
||||
@@ -734,7 +734,7 @@ class FlotGenerator:
|
||||
|
||||
g = self._generate_group(
|
||||
is_player,
|
||||
self.mission.country(country),
|
||||
country,
|
||||
group.unit_type,
|
||||
group.size,
|
||||
final_position,
|
||||
@@ -750,7 +750,7 @@ class FlotGenerator:
|
||||
self.gen_infantry_group_for_group(
|
||||
g,
|
||||
is_player,
|
||||
self.mission.country(country),
|
||||
country,
|
||||
spawn_heading.opposite,
|
||||
)
|
||||
|
||||
|
||||
@@ -93,9 +93,8 @@ class LogisticsGenerator:
|
||||
"ctld", "logisticunit"
|
||||
):
|
||||
# Spawn logisticsunit at pickup zones
|
||||
country = self.mission.country(self.flight.country)
|
||||
logistic_unit = self.mission.static_group(
|
||||
country,
|
||||
self.flight.squadron.coalition.faction.country,
|
||||
f"{self.group.name}logistic",
|
||||
Fortification.FARP_Ammo_Dump_Coating,
|
||||
pickup_point,
|
||||
|
||||
@@ -135,19 +135,12 @@ class MissionGenerator:
|
||||
"neutrals", bullseye=Bullseye(Point(0, 0, self.mission.terrain)).to_pydcs()
|
||||
)
|
||||
|
||||
p_country = self.game.blue.country_name
|
||||
e_country = self.game.red.country_name
|
||||
self.mission.coalition["blue"].add_country(
|
||||
country_dict[country_id_from_name(p_country)]()
|
||||
)
|
||||
self.mission.coalition["red"].add_country(
|
||||
country_dict[country_id_from_name(e_country)]()
|
||||
)
|
||||
p_country = self.game.blue.faction.country
|
||||
e_country = self.game.red.faction.country
|
||||
self.mission.coalition["blue"].add_country(p_country)
|
||||
self.mission.coalition["red"].add_country(e_country)
|
||||
|
||||
belligerents = [
|
||||
country_id_from_name(p_country),
|
||||
country_id_from_name(e_country),
|
||||
]
|
||||
belligerents = {p_country, e_country}
|
||||
for country in country_dict.keys():
|
||||
if country not in belligerents:
|
||||
self.mission.coalition["neutrals"].add_country(country_dict[country]())
|
||||
@@ -271,18 +264,18 @@ class MissionGenerator:
|
||||
aircraft_generator.clear_parking_slots()
|
||||
|
||||
aircraft_generator.generate_flights(
|
||||
self.mission.country(self.game.blue.country_name),
|
||||
self.game.blue.faction.country,
|
||||
self.game.blue.ato,
|
||||
tgo_generator.runways,
|
||||
)
|
||||
aircraft_generator.generate_flights(
|
||||
self.mission.country(self.game.red.country_name),
|
||||
self.game.red.faction.country,
|
||||
self.game.red.ato,
|
||||
tgo_generator.runways,
|
||||
)
|
||||
aircraft_generator.spawn_unused_aircraft(
|
||||
self.mission.country(self.game.blue.country_name),
|
||||
self.mission.country(self.game.red.country_name),
|
||||
self.game.blue.faction.country,
|
||||
self.game.red.faction.country,
|
||||
)
|
||||
|
||||
for flight in aircraft_generator.flights:
|
||||
@@ -314,7 +307,7 @@ class MissionGenerator:
|
||||
pos = Point(cast(float, d["x"]), cast(float, d["z"]), self.mission.terrain)
|
||||
if utype is not None and not self.game.position_culled(pos):
|
||||
self.mission.static_group(
|
||||
country=self.mission.country(self.game.blue.country_name),
|
||||
country=self.game.blue.faction.country,
|
||||
name="",
|
||||
_type=utype,
|
||||
hidden=True,
|
||||
|
||||
@@ -599,7 +599,7 @@ class HelipadGenerator:
|
||||
return
|
||||
# Note: Helipad are generated as neutral object in order not to interfer with
|
||||
# capture triggers
|
||||
country = self.m.country(self.game.coalition_for(self.cp.captured).country_name)
|
||||
country = self.game.coalition_for(self.cp.captured).faction.country
|
||||
|
||||
for i, helipad in enumerate(self.cp.helipads):
|
||||
heading = helipad.heading.degrees
|
||||
@@ -675,7 +675,7 @@ class TgoGenerator:
|
||||
|
||||
def generate(self) -> None:
|
||||
for cp in self.game.theater.controlpoints:
|
||||
country = self.m.country(self.game.coalition_for(cp.captured).country_name)
|
||||
country = self.game.coalition_for(cp.captured).faction.country
|
||||
|
||||
# Generate helipads
|
||||
helipad_gen = HelipadGenerator(
|
||||
|
||||
@@ -99,7 +99,7 @@ class VisualsGenerator:
|
||||
break
|
||||
|
||||
self.mission.static_group(
|
||||
self.mission.country(self.game.red.country_name),
|
||||
self.game.red.faction.country,
|
||||
"",
|
||||
_type=v,
|
||||
position=pos,
|
||||
|
||||
Reference in New Issue
Block a user