mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Implemented PretenseNameGenerator.pretense_trimmed_cp_name to remove Scandic characters from Pretense zone names.
This commit is contained in:
parent
9775d3b97c
commit
bfe008775d
@ -27,6 +27,7 @@ from game.missiongenerator.missiondata import MissionData
|
||||
from game.pretense.pretenseflightgroupconfigurator import (
|
||||
PretenseFlightGroupConfigurator,
|
||||
)
|
||||
from game.pretense.pretenseflightgroupspawner import PretenseNameGenerator
|
||||
from game.radio.radios import RadioRegistry
|
||||
from game.radio.tacan import TacanRegistry
|
||||
from game.runways import RunwayData
|
||||
@ -772,7 +773,7 @@ class PretenseAircraftGenerator:
|
||||
cp: Control point to generate aircraft for.
|
||||
flight: The current flight being generated.
|
||||
"""
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
|
||||
for side in range(1, 3):
|
||||
if cp_name_trimmed not in cp.coalition.game.pretense_air[side]:
|
||||
@ -792,7 +793,7 @@ class PretenseAircraftGenerator:
|
||||
flight: The current flight being generated.
|
||||
"""
|
||||
flight_type = flight.flight_type
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
|
||||
for side in range(1, 3):
|
||||
if cp_name_trimmed not in flight.coalition.game.pretense_air[side]:
|
||||
|
||||
@ -32,11 +32,19 @@ class PretenseNameGenerator(NameGenerator):
|
||||
@classmethod
|
||||
def next_pretense_aircraft_name(cls, cp: ControlPoint, flight: Flight) -> str:
|
||||
cls.aircraft_number += 1
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = cls.pretense_trimmed_cp_name(cp.name)
|
||||
return "{}-{}-{}".format(
|
||||
cp_name_trimmed, str(flight.flight_type).lower(), cls.aircraft_number
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def pretense_trimmed_cp_name(cls, cp_name: str):
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = cp_name_trimmed.replace("ä", "a")
|
||||
cp_name_trimmed = cp_name_trimmed.replace("ö", "o")
|
||||
cp_name_trimmed = cp_name_trimmed.replace("ø", "o")
|
||||
return cp_name_trimmed
|
||||
|
||||
|
||||
namegen = PretenseNameGenerator
|
||||
# Air-start AI aircraft which are faster than this on WWII terrains
|
||||
@ -83,7 +91,7 @@ class PretenseFlightGroupSpawner(FlightGroupSpawner):
|
||||
== self.flight.coalition.game.coalition_for(is_player)
|
||||
else 1
|
||||
)
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
|
||||
if self.flight.client_count == 0:
|
||||
self.flight.coalition.game.pretense_air[cp_side][cp_name_trimmed][
|
||||
@ -98,14 +106,6 @@ class PretenseFlightGroupSpawner(FlightGroupSpawner):
|
||||
def generate_flight_at_departure(self) -> FlyingGroup[Any]:
|
||||
cp = self.flight.departure
|
||||
name = namegen.next_pretense_aircraft_name(cp, self.flight)
|
||||
is_player = True
|
||||
cp_side = (
|
||||
2
|
||||
if self.flight.coalition
|
||||
== self.flight.coalition.game.coalition_for(is_player)
|
||||
else 1
|
||||
)
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
|
||||
try:
|
||||
if self.start_type is StartType.IN_FLIGHT:
|
||||
|
||||
@ -24,6 +24,7 @@ from game.dcs.aircrafttype import AircraftType
|
||||
from game.missiongenerator.luagenerator import LuaGenerator
|
||||
from game.missiongenerator.missiondata import MissionData
|
||||
from game.plugins import LuaPluginManager
|
||||
from game.pretense.pretenseflightgroupspawner import PretenseNameGenerator
|
||||
from game.pretense.pretensetgogenerator import PretenseGroundObjectGenerator
|
||||
from game.theater import Airfield, OffMapSpawn, TheaterGroundObject
|
||||
from game.theater.iadsnetwork.iadsrole import IadsRole
|
||||
@ -266,7 +267,7 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
|
||||
def generate_pretense_land_upgrade_supply(self, cp_name: str, cp_side: int) -> str:
|
||||
lua_string_zones = ""
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp_name)
|
||||
cp_side_str = "blue" if cp_side == PRETENSE_BLUE_SIDE else "red"
|
||||
cp = self.game.theater.controlpoints[0]
|
||||
for loop_cp in self.game.theater.controlpoints:
|
||||
@ -531,7 +532,7 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
|
||||
def generate_pretense_sea_upgrade_supply(self, cp_name: str, cp_side: int) -> str:
|
||||
lua_string_zones = ""
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp_name)
|
||||
cp_side_str = "blue" if cp_side == PRETENSE_BLUE_SIDE else "red"
|
||||
|
||||
supply_ship = "oilPump"
|
||||
@ -715,7 +716,7 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
is_artillery_zone = random.choice([True, False])
|
||||
|
||||
lua_string_zones = ""
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp_name)
|
||||
|
||||
lua_string_zones += f"zones.{cp_name_trimmed}:defineUpgrades(" + "{\n"
|
||||
lua_string_zones += " [1] = { --red side\n"
|
||||
@ -815,7 +816,7 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
|
||||
def generate_pretense_zone_sea(self, cp_name: str) -> str:
|
||||
lua_string_zones = ""
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp_name)
|
||||
|
||||
lua_string_zones += f"zones.{cp_name_trimmed}:defineUpgrades(" + "{\n"
|
||||
lua_string_zones += " [1] = { --red side\n"
|
||||
@ -853,7 +854,7 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
cp_carrier_group_name: str | None,
|
||||
) -> str:
|
||||
lua_string_carrier = "\n"
|
||||
cp_name_trimmed = "".join([i for i in cp_name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp_name)
|
||||
|
||||
link4carriers = [Stennis, CVN_71, CVN_72, CVN_73, CVN_75, Forrestal]
|
||||
is_link4carrier = False
|
||||
@ -1587,6 +1588,19 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
cp_name_conn_other = "".join(
|
||||
[i for i in other_cp_name if i.isalnum() or i.isspace() or i == "-"]
|
||||
)
|
||||
cp_name_conn = cp_name_conn.replace("Ä", "A")
|
||||
cp_name_conn = cp_name_conn.replace("Ö", "O")
|
||||
cp_name_conn = cp_name_conn.replace("Ø", "O")
|
||||
cp_name_conn = cp_name_conn.replace("ä", "a")
|
||||
cp_name_conn = cp_name_conn.replace("ö", "o")
|
||||
cp_name_conn = cp_name_conn.replace("ø", "o")
|
||||
|
||||
cp_name_conn_other = cp_name_conn_other.replace("Ä", "A")
|
||||
cp_name_conn_other = cp_name_conn_other.replace("Ö", "O")
|
||||
cp_name_conn_other = cp_name_conn_other.replace("Ø", "O")
|
||||
cp_name_conn_other = cp_name_conn_other.replace("ä", "a")
|
||||
cp_name_conn_other = cp_name_conn_other.replace("ö", "o")
|
||||
cp_name_conn_other = cp_name_conn_other.replace("ø", "o")
|
||||
lua_string_connman = (
|
||||
f" cm: addConnection('{cp_name_conn}', '{cp_name_conn_other}')\n"
|
||||
)
|
||||
@ -1637,10 +1651,16 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
lua_string_carriers += self.generate_pretense_carrier_zones()
|
||||
|
||||
for cp in self.game.theater.controlpoints:
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
cp_name = "".join(
|
||||
[i for i in cp.name if i.isalnum() or i.isspace() or i == "-"]
|
||||
)
|
||||
cp_name.replace("Ä", "A")
|
||||
cp_name.replace("Ö", "O")
|
||||
cp_name.replace("Ø", "O")
|
||||
cp_name.replace("ä", "a")
|
||||
cp_name.replace("ö", "o")
|
||||
cp_name.replace("ø", "o")
|
||||
cp_side = 2 if cp.captured else 1
|
||||
|
||||
if isinstance(cp, OffMapSpawn):
|
||||
@ -1665,6 +1685,12 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
self.game.pretense_ground_supply[side][cp_name_trimmed] = list()
|
||||
if cp_name_trimmed not in self.game.pretense_ground_assault[cp_side]:
|
||||
self.game.pretense_ground_assault[side][cp_name_trimmed] = list()
|
||||
cp_name = cp_name.replace("Ä", "A")
|
||||
cp_name = cp_name.replace("Ö", "O")
|
||||
cp_name = cp_name.replace("Ø", "O")
|
||||
cp_name = cp_name.replace("ä", "a")
|
||||
cp_name = cp_name.replace("ö", "o")
|
||||
cp_name = cp_name.replace("ø", "o")
|
||||
lua_string_zones += (
|
||||
f"zones.{cp_name_trimmed} = ZoneCommand:new('{cp_name}')\n"
|
||||
)
|
||||
@ -1783,7 +1809,9 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
cp_side_captured = cp_side == 2
|
||||
if cp_side_captured != cp.captured:
|
||||
continue
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
cp.name
|
||||
)
|
||||
for mission_type in self.game.pretense_air[cp_side][cp_name_trimmed]:
|
||||
if mission_type == FlightType.PRETENSE_CARGO:
|
||||
for air_group in self.game.pretense_air[cp_side][
|
||||
@ -1796,7 +1824,9 @@ class PretenseLuaGenerator(LuaGenerator):
|
||||
lua_string_supply += "local offmapZones = {\n"
|
||||
for cp in self.game.theater.controlpoints:
|
||||
if isinstance(cp, Airfield):
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
cp.name
|
||||
)
|
||||
lua_string_supply += f" zones.{cp_name_trimmed},\n"
|
||||
lua_string_supply += "}\n"
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ from game.missiongenerator.tgogenerator import (
|
||||
GenericCarrierGenerator,
|
||||
)
|
||||
from game.point_with_heading import PointWithHeading
|
||||
from game.pretense.pretenseflightgroupspawner import PretenseNameGenerator
|
||||
from game.radio.radios import RadioRegistry
|
||||
from game.radio.tacan import TacanRegistry, TacanBand, TacanUsage
|
||||
from game.runways import RunwayData
|
||||
@ -356,8 +357,8 @@ class PretenseGroundObjectGenerator(GroundObjectGenerator):
|
||||
def generate(self) -> None:
|
||||
if self.culled:
|
||||
return
|
||||
cp_name_trimmed = "".join(
|
||||
[i for i in self.ground_object.control_point.name.lower() if i.isalpha()]
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
self.ground_object.control_point.name
|
||||
)
|
||||
country_name_trimmed = "".join(
|
||||
[i for i in self.country.shortname.lower() if i.isalpha()]
|
||||
@ -456,8 +457,8 @@ class PretenseGroundObjectGenerator(GroundObjectGenerator):
|
||||
control_point = other_cp
|
||||
break
|
||||
|
||||
cp_name_trimmed = "".join(
|
||||
[i for i in control_point.name.lower() if i.isalpha()]
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
control_point.name
|
||||
)
|
||||
is_player = True
|
||||
side = (
|
||||
@ -565,8 +566,8 @@ class PretenseGroundObjectGenerator(GroundObjectGenerator):
|
||||
control_point = other_cp
|
||||
break
|
||||
|
||||
cp_name_trimmed = "".join(
|
||||
[i for i in control_point.name.lower() if i.isalpha()]
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
control_point.name
|
||||
)
|
||||
is_player = True
|
||||
side = (
|
||||
@ -825,7 +826,7 @@ class PretenseTgoGenerator(TgoGenerator):
|
||||
|
||||
def generate(self) -> None:
|
||||
for cp in self.game.theater.controlpoints:
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
for side in range(1, 3):
|
||||
if cp_name_trimmed not in self.game.pretense_ground_supply[side]:
|
||||
self.game.pretense_ground_supply[side][cp_name_trimmed] = list()
|
||||
|
||||
@ -35,6 +35,7 @@ from numpy import cross, einsum, arctan2
|
||||
from shapely import MultiPolygon, Point as ShapelyPoint
|
||||
|
||||
from game.naming import ALPHA_MILITARY
|
||||
from game.pretense.pretenseflightgroupspawner import PretenseNameGenerator
|
||||
from game.theater import Airfield
|
||||
from game.theater.controlpoint import Fob, TRIGGER_RADIUS_CAPTURE, OffMapSpawn
|
||||
|
||||
@ -357,6 +358,12 @@ class PretenseTriggerGenerator:
|
||||
cp_name = "".join(
|
||||
[i for i in cp.name if i.isalnum() or i.isspace() or i == "-"]
|
||||
)
|
||||
cp_name = cp_name.replace("Ä", "A")
|
||||
cp_name = cp_name.replace("Ö", "O")
|
||||
cp_name = cp_name.replace("Ø", "O")
|
||||
cp_name = cp_name.replace("ä", "a")
|
||||
cp_name = cp_name.replace("ö", "o")
|
||||
cp_name = cp_name.replace("ø", "o")
|
||||
if not isinstance(cp, OffMapSpawn):
|
||||
zone_color = {1: 0.0, 2: 0.0, 3: 0.0, 4: 0.15}
|
||||
self.mission.triggers.add_triggerzone(
|
||||
@ -366,7 +373,7 @@ class PretenseTriggerGenerator:
|
||||
name=cp_name,
|
||||
color=zone_color,
|
||||
)
|
||||
cp_name_trimmed = "".join([i for i in cp.name.lower() if i.isalpha()])
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(cp.name)
|
||||
tgo_num = 0
|
||||
for tgo in cp.ground_objects:
|
||||
if cp.is_fleet or tgo.sea_object:
|
||||
@ -414,8 +421,8 @@ class PretenseTriggerGenerator:
|
||||
cp_airport = self.mission.terrain.airport_by_id(airfield.airport.id)
|
||||
if cp_airport is None:
|
||||
continue
|
||||
cp_name_trimmed = "".join(
|
||||
[i for i in cp_airport.name.lower() if i.isalpha()]
|
||||
cp_name_trimmed = PretenseNameGenerator.pretense_trimmed_cp_name(
|
||||
cp_airport.name
|
||||
)
|
||||
zone_color = {1: 0.0, 2: 1.0, 3: 0.5, 4: 0.15}
|
||||
if cp_airport is None:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user