diff --git a/changelog.md b/changelog.md index cc88f99a..50252a96 100644 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,7 @@ Saves from 2.5 are not compatible with 3.0. * **[Campaign AI]** Every 30 minutes the AI will plan a CAP, so players can customize their mission better. * **[Campaign AI]** AI now considers Ju-88s for CAS, strike, and DEAD missions. * **[Campaign AI]** Fix purchase of aircraft by priority (the faction's list was being used as the priority list rather than the game's). +* **[Flight Planner]** AI strike flight plans now include the correct target actions for building groups. * **[UI]** Added new web based map UI. This is mostly functional but many of the old display options are a WIP. Revert to the old map with --old-map. * **[UI]** Campaigns generated for an older or newer version of the game will now be marked as incompatible. They can still be played, but bugs may be present. * **[UI]** DCS loadouts are now selectable in the loadout setup menu. diff --git a/game/data/alic.py b/game/data/alic.py new file mode 100644 index 00000000..de99075c --- /dev/null +++ b/game/data/alic.py @@ -0,0 +1,40 @@ +from dcs.unit import Unit +from dcs.vehicles import AirDefence + + +class AlicCodes: + CODES = { + AirDefence.EWR_1L13.id: 101, + AirDefence.EWR_55G6.id: 102, + AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR.id: 103, + AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR.id: 104, + AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR.id: 107, + AirDefence.SAM_SA_6_Kub_Long_Track_STR.id: 108, + AirDefence.MCC_SR_Sborka_Dog_Ear_SR.id: 109, + AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR.id: 110, + AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL.id: 115, + AirDefence.SAM_SA_8_Osa_Gecko_TEL.id: 117, + AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL.id: 118, + AirDefence.SAM_SA_15_Tor_Gauntlet.id: 119, + AirDefence.SAM_SA_19_Tunguska_Grison.id: 120, + AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish.id: 121, + AirDefence.SAM_P19_Flat_Face_SR__SA_2_3.id: 122, + AirDefence.SAM_SA_3_S_125_Low_Blow_TR.id: 123, + AirDefence.SAM_Rapier_Blindfire_TR.id: 124, + AirDefence.SAM_Rapier_LN.id: 125, + AirDefence.SAM_SA_2_S_75_Fan_Song_TR.id: 126, + AirDefence.HQ_7_Self_Propelled_LN.id: 127, + AirDefence.HQ_7_Self_Propelled_STR.id: 128, + AirDefence.SAM_Roland_ADS.id: 201, + AirDefence.SAM_Patriot_STR.id: 202, + AirDefence.SAM_Hawk_SR__AN_MPQ_50.id: 203, + AirDefence.SAM_Hawk_TR__AN_MPQ_46.id: 204, + AirDefence.SAM_Roland_EWR.id: 205, + AirDefence.SAM_Hawk_CWAR_AN_MPQ_55.id: 206, + AirDefence.SPAAA_Gepard.id: 207, + AirDefence.SPAAA_Vulcan_M163.id: 208, + } + + @classmethod + def code_for(cls, unit: Unit) -> int: + return cls.CODES[unit.type] diff --git a/game/data/weapons.py b/game/data/weapons.py index 38133fe0..9b6d8e0c 100644 --- a/game/data/weapons.py +++ b/game/data/weapons.py @@ -85,7 +85,7 @@ class Pylon: def equip(self, group: FlyingGroup, weapon: Weapon) -> None: if not self.can_equip(weapon): - raise ValueError(f"Pylon {self.number} cannot equip {weapon.name}") + logging.error(f"Pylon {self.number} cannot equip {weapon.name}") group.load_pylon(self.make_pydcs_assignment(weapon), self.number) def make_pydcs_assignment(self, weapon: Weapon) -> PydcsWeaponAssignment: diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index 414d18b6..f2e96a88 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -1,5 +1,4 @@ from __future__ import annotations -from game.scenery_group import SceneryGroup import heapq import itertools @@ -9,7 +8,7 @@ from abc import ABC, abstractmethod from dataclasses import dataclass, field from enum import Enum from functools import total_ordering -from typing import Any, Dict, Iterator, List, Optional, Set, TYPE_CHECKING, Type +from typing import Any, Dict, Iterator, List, Optional, Set, TYPE_CHECKING, Type, Union from dcs.mapping import Point from dcs.ships import ( @@ -19,10 +18,12 @@ from dcs.ships import ( Type_071_Amphibious_Transport_Dock, ) from dcs.terrain.terrain import Airport, ParkingSlot +from dcs.unit import Unit from dcs.unittype import FlyingType from game import db from game.point_with_heading import PointWithHeading +from game.scenery_group import SceneryGroup from gen.flights.closestairfields import ObjectiveDistanceCache from gen.ground_forces.ai_ground_planner_db import TYPE_SHORAD from gen.ground_forces.combat_stance import CombatStance @@ -781,6 +782,10 @@ class ControlPoint(MissionTarget, ABC): return self.captured != other.captured + @property + def strike_targets(self) -> List[Union[MissionTarget, Unit]]: + return [] + class Airfield(ControlPoint): def __init__( diff --git a/game/theater/missiontarget.py b/game/theater/missiontarget.py index 9a5fe8cd..8d026625 100644 --- a/game/theater/missiontarget.py +++ b/game/theater/missiontarget.py @@ -1,8 +1,9 @@ from __future__ import annotations -from typing import Iterator, TYPE_CHECKING +from typing import Iterator, TYPE_CHECKING, List, Union from dcs.mapping import Point +from dcs.unit import Unit if TYPE_CHECKING: from gen.flights.flight import FlightType @@ -42,3 +43,7 @@ class MissionTarget: # TODO: FlightType.EWAR, # TODO: FlightType.RECON, ] + + @property + def strike_targets(self) -> List[Union[MissionTarget, Unit]]: + raise NotImplementedError diff --git a/game/theater/theatergroundobject.py b/game/theater/theatergroundobject.py index f768992d..18131a42 100644 --- a/game/theater/theatergroundobject.py +++ b/game/theater/theatergroundobject.py @@ -2,7 +2,7 @@ from __future__ import annotations import itertools import logging -from typing import Iterator, List, TYPE_CHECKING +from typing import Iterator, List, TYPE_CHECKING, Union from dcs.mapping import Point from dcs.triggers import TriggerZone @@ -185,6 +185,10 @@ class TheaterGroundObject(MissionTarget): """True if this TGO is the group for the control point itself (CVs and FOBs).""" return False + @property + def strike_targets(self) -> List[Union[MissionTarget, Unit]]: + return self.units + class BuildingGroundObject(TheaterGroundObject): def __init__( @@ -233,6 +237,15 @@ class BuildingGroundObject(TheaterGroundObject): def kill(self) -> None: self._dead = True + def iter_building_group(self) -> Iterator[TheaterGroundObject]: + for tgo in self.control_point.ground_objects: + if tgo.obj_name == self.obj_name and not tgo.is_dead: + yield tgo + + @property + def strike_targets(self) -> List[Union[MissionTarget, Unit]]: + return list(self.iter_building_group()) + class SceneryGroundObject(BuildingGroundObject): def __init__( diff --git a/gen/aircraft.py b/gen/aircraft.py index 63e9ca1d..92cead03 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -5,7 +5,7 @@ import random from dataclasses import dataclass from datetime import timedelta from functools import cached_property -from typing import Dict, List, Optional, TYPE_CHECKING, Type, Union +from typing import Dict, List, Optional, TYPE_CHECKING, Type, Union, Iterable from dcs import helicopters from dcs.action import AITaskPush, ActivateGroup @@ -70,6 +70,7 @@ from dcs.task import ( ) from dcs.terrain.terrain import Airport, NoParkingSlotError from dcs.triggers import Event, TriggerOnce, TriggerRule +from dcs.unit import Unit from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup from dcs.unittype import FlyingType, UnitType @@ -85,6 +86,7 @@ from game.theater.controlpoint import ( NavalControlPoint, OffMapSpawn, ) +from game.theater.missiontarget import MissionTarget from game.theater.theatergroundobject import TheaterGroundObject from game.transfers import MultiGroupTransport from game.unitmap import UnitMap @@ -1629,7 +1631,9 @@ class PydcsWaypointBuilder: else: return False - def register_special_waypoints(self, targets) -> None: + def register_special_waypoints( + self, targets: Iterable[Union[MissionTarget, Unit]] + ) -> None: """Create special target waypoints for various aircraft""" for i, t in enumerate(targets): if self.group.units[0].unit_type == JF_17 and i < 4: @@ -1850,29 +1854,16 @@ class StrikeIngressBuilder(PydcsWaypointBuilder): def build_strike(self) -> MovingPoint: waypoint = super().build() for target in self.waypoint.targets: + bombing = Bombing(target.position) + # If there is only one target, drop all ordnance in one pass. + if len(self.waypoint.targets) == 1: + bombing.params["expend"] = "All" + bombing.params["weaponType"] = WeaponType.Auto.value + bombing.params["groupAttack"] = True + waypoint.tasks.append(bombing) - targets = [target] - # If the target type is a group of units, - # then target each unit in the group with a Bombing task on their position - # (It is not perfect, we should have an engage Group task instead, - # but we don't have the group ref in the model there) - # TODO : for building group, engage all the buildings as well - if isinstance(target, TheaterGroundObject): - if len(target.units) > 0: - targets = target.units - - for t in targets: - bombing = Bombing(t.position) - # If there is only one target, drop all ordnance in one pass - if len(self.waypoint.targets) == 1 and len(targets) == 1: - bombing.params["expend"] = "All" - bombing.params["weaponType"] = WeaponType.Auto.value - bombing.params["groupAttack"] = True - waypoint.tasks.append(bombing) - print(bombing) - - # Register special waypoints - self.register_special_waypoints(targets) + # Register special waypoints + self.register_special_waypoints(self.waypoint.targets) return waypoint diff --git a/gen/flights/flight.py b/gen/flights/flight.py index 1e3c4d4d..397399ed 100644 --- a/gen/flights/flight.py +++ b/gen/flights/flight.py @@ -2,10 +2,11 @@ from __future__ import annotations from datetime import timedelta from enum import Enum -from typing import List, Optional, TYPE_CHECKING, Type +from typing import List, Optional, TYPE_CHECKING, Type, Union from dcs.mapping import Point from dcs.point import MovingPoint, PointAction +from dcs.unit import Unit from dcs.unittype import FlyingType from game import db @@ -107,7 +108,7 @@ class FlightWaypoint: # Only used in the waypoint list in the flight edit page. No sense # having three names. A short and long form is enough. self.description = "" - self.targets: List[MissionTarget] = [] + self.targets: List[Union[MissionTarget, Unit]] = [] self.obj_name = "" self.pretty_name = "" self.only_for_player = False diff --git a/gen/flights/waypointbuilder.py b/gen/flights/waypointbuilder.py index d125ac9e..ffb1e6ab 100644 --- a/gen/flights/waypointbuilder.py +++ b/gen/flights/waypointbuilder.py @@ -202,8 +202,7 @@ class WaypointBuilder: waypoint.pretty_name = "INGRESS on " + objective.name waypoint.description = "INGRESS on " + objective.name waypoint.name = "INGRESS" - # TODO: This seems wrong, but it's what was there before. - waypoint.targets.append(objective) + waypoint.targets = objective.strike_targets return waypoint def egress(self, position: Point, target: MissionTarget) -> FlightWaypoint: diff --git a/gen/kneeboard.py b/gen/kneeboard.py index d1de5456..c0035b06 100644 --- a/gen/kneeboard.py +++ b/gen/kneeboard.py @@ -26,23 +26,25 @@ import datetime from collections import defaultdict from dataclasses import dataclass from pathlib import Path -from typing import Dict, List, Optional, TYPE_CHECKING, Tuple +from typing import Dict, List, Optional, TYPE_CHECKING, Tuple, Iterator from PIL import Image, ImageDraw, ImageFont from dcs.mission import Mission +from dcs.unit import Unit from dcs.unittype import FlyingType from tabulate import tabulate -from game.theater import ConflictTheater +from game.data.alic import AlicCodes +from game.db import find_unittype, unit_type_from_name +from game.theater import ConflictTheater, TheaterGroundObject, LatLon from game.utils import meters from .aircraft import AIRCRAFT_DATA, FlightData from .airsupportgen import AwacsInfo, TankerInfo from .briefinggen import CommInfo, JtacInfo, MissionInfoGenerator -from .flights.flight import FlightWaypoint, FlightWaypointType +from .flights.flight import FlightWaypoint, FlightWaypointType, FlightType from .radios import RadioFrequency from .runways import RunwayData - if TYPE_CHECKING: from game import Game @@ -138,6 +140,11 @@ class KneeboardPage: """Writes the kneeboard page to the given path.""" raise NotImplementedError + def format_ll(self, ll: LatLon) -> str: + ns = "N" if ll.latitude >= 0 else "S" + ew = "E" if ll.longitude >= 0 else "W" + return f"{ll.latitude:.4}°{ns} {ll.longitude:.4}°{ew}" + @dataclass(frozen=True) class NumberedWaypoint: @@ -415,39 +422,88 @@ class BriefingPage(KneeboardPage): return local_time.strftime(f"%H:%M:%S") -class TargetInfoPage(KneeboardPage): - """A kneeboard page containing target information.""" +class SeadTaskPage(KneeboardPage): + """A kneeboard page containing SEAD/DEAD target information.""" def __init__( - self, - flight: FlightData, - targets: List[FlightWaypoint], - dark_kneeboard: bool, - theater: ConflictTheater, + self, flight: FlightData, dark_kneeboard: bool, theater: ConflictTheater ) -> None: self.flight = flight - self.targets = targets self.dark_kneeboard = dark_kneeboard self.theater = theater + @property + def target_units(self) -> Iterator[Unit]: + if isinstance(self.flight.package.target, TheaterGroundObject): + yield from self.flight.package.target.units + + @staticmethod + def alic_for(unit: Unit) -> str: + try: + return str(AlicCodes.code_for(unit)) + except KeyError: + return "" + def write(self, path: Path) -> None: writer = KneeboardPageWriter(dark_theme=self.dark_kneeboard) if self.flight.custom_name is not None: custom_name_title = ' ("{}")'.format(self.flight.custom_name) else: custom_name_title = "" - writer.title(f"{self.flight.callsign} Target Info{custom_name_title}") + task = "DEAD" if self.flight.flight_type == FlightType.DEAD else "SEAD" + writer.title(f"{self.flight.callsign} {task} Target Info{custom_name_title}") writer.table( - [self.target_info_row(t) for t in self.targets], - headers=["Description", "Location"], + [self.target_info_row(t) for t in self.target_units], + headers=["Description", "ALIC", "Location"], ) writer.write(path) - def target_info_row(self, target: FlightWaypoint) -> List[str]: - ll = self.theater.point_to_ll(target.position) - return [target.pretty_name, f"{ll.latitude} {ll.longitude}"] + def target_info_row(self, unit: Unit) -> List[str]: + ll = self.theater.point_to_ll(unit.position) + unit_type = unit_type_from_name(unit.type) + name = unit.name if unit_type is None else unit_type.name + return [name, self.alic_for(unit), self.format_ll(ll)] + + +class StrikeTaskPage(KneeboardPage): + """A kneeboard page containing strike target information.""" + + def __init__( + self, + flight: FlightData, + dark_kneeboard: bool, + theater: ConflictTheater, + ) -> None: + self.flight = flight + self.dark_kneeboard = dark_kneeboard + self.theater = theater + + @property + def targets(self) -> Iterator[NumberedWaypoint]: + for idx, waypoint in enumerate(self.flight.waypoints): + if waypoint.waypoint_type == FlightWaypointType.TARGET_POINT: + yield NumberedWaypoint(idx, waypoint) + + def write(self, path: Path) -> None: + writer = KneeboardPageWriter(dark_theme=self.dark_kneeboard) + if self.flight.custom_name is not None: + custom_name_title = ' ("{}")'.format(self.flight.custom_name) + else: + custom_name_title = "" + writer.title(f"{self.flight.callsign} Strike Task Info{custom_name_title}") + + writer.table( + [self.target_info_row(t) for t in self.targets], + headers=["Steerpoint", "Description", "Location"], + ) + + writer.write(path) + + def target_info_row(self, target: NumberedWaypoint) -> List[str]: + ll = self.theater.point_to_ll(target.waypoint.position) + return [str(target.number), target.waypoint.pretty_name, self.format_ll(ll)] class KneeboardGenerator(MissionInfoGenerator): @@ -491,17 +547,12 @@ class KneeboardGenerator(MissionInfoGenerator): ) return all_flights - def generate_target_page(self, flight: FlightData) -> Optional[KneeboardPage]: - target_waypoints = [ - w - for w in flight.waypoints - if w.waypoint_type == FlightWaypointType.TARGET_GROUP_LOC - ] - if not target_waypoints: - return None - return TargetInfoPage( - flight, target_waypoints, self.dark_kneeboard, self.game.theater - ) + def generate_task_page(self, flight: FlightData) -> Optional[KneeboardPage]: + if flight.flight_type in (FlightType.DEAD, FlightType.SEAD): + return SeadTaskPage(flight, self.dark_kneeboard, self.game.theater) + elif flight.flight_type is FlightType.STRIKE: + return StrikeTaskPage(flight, self.dark_kneeboard, self.game.theater) + return None def generate_flight_kneeboard(self, flight: FlightData) -> List[KneeboardPage]: """Returns a list of kneeboard pages for the given flight.""" @@ -517,7 +568,7 @@ class KneeboardGenerator(MissionInfoGenerator): ), ] - if (target_page := self.generate_target_page(flight)) is not None: + if (target_page := self.generate_task_page(flight)) is not None: pages.append(target_page) return pages diff --git a/resources/ui/ground_assets/aa_blue_alive.svg b/resources/ui/ground_assets/aa_blue_alive.svg new file mode 100644 index 00000000..d6af6e07 --- /dev/null +++ b/resources/ui/ground_assets/aa_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/aa_blue_damaged.svg b/resources/ui/ground_assets/aa_blue_damaged.svg new file mode 100644 index 00000000..c098893b --- /dev/null +++ b/resources/ui/ground_assets/aa_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/aa_blue_destroyed.svg b/resources/ui/ground_assets/aa_blue_destroyed.svg new file mode 100644 index 00000000..ed5960aa --- /dev/null +++ b/resources/ui/ground_assets/aa_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/aa_red_alive.svg b/resources/ui/ground_assets/aa_red_alive.svg new file mode 100644 index 00000000..3375cf66 --- /dev/null +++ b/resources/ui/ground_assets/aa_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/aa_red_damaged.svg b/resources/ui/ground_assets/aa_red_damaged.svg new file mode 100644 index 00000000..7e56fd59 --- /dev/null +++ b/resources/ui/ground_assets/aa_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/aa_red_destroyed.svg b/resources/ui/ground_assets/aa_red_destroyed.svg new file mode 100644 index 00000000..b861fc4f --- /dev/null +++ b/resources/ui/ground_assets/aa_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_blue_alive.svg b/resources/ui/ground_assets/allycamp_blue_alive.svg new file mode 100644 index 00000000..fdcb4754 --- /dev/null +++ b/resources/ui/ground_assets/allycamp_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_blue_damaged.svg b/resources/ui/ground_assets/allycamp_blue_damaged.svg new file mode 100644 index 00000000..e37e3eab --- /dev/null +++ b/resources/ui/ground_assets/allycamp_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_blue_destroyed.svg b/resources/ui/ground_assets/allycamp_blue_destroyed.svg new file mode 100644 index 00000000..4f58f9c0 --- /dev/null +++ b/resources/ui/ground_assets/allycamp_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_red_alive.svg b/resources/ui/ground_assets/allycamp_red_alive.svg new file mode 100644 index 00000000..4c3338fc --- /dev/null +++ b/resources/ui/ground_assets/allycamp_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_red_damaged.svg b/resources/ui/ground_assets/allycamp_red_damaged.svg new file mode 100644 index 00000000..ce234ce9 --- /dev/null +++ b/resources/ui/ground_assets/allycamp_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/allycamp_red_destroyed.svg b/resources/ui/ground_assets/allycamp_red_destroyed.svg new file mode 100644 index 00000000..640ff25d --- /dev/null +++ b/resources/ui/ground_assets/allycamp_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_blue_alive.svg b/resources/ui/ground_assets/ammo_blue_alive.svg new file mode 100644 index 00000000..e100dd64 --- /dev/null +++ b/resources/ui/ground_assets/ammo_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_blue_damaged.svg b/resources/ui/ground_assets/ammo_blue_damaged.svg new file mode 100644 index 00000000..39f2f524 --- /dev/null +++ b/resources/ui/ground_assets/ammo_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_blue_destroyed.svg b/resources/ui/ground_assets/ammo_blue_destroyed.svg new file mode 100644 index 00000000..56e7b193 --- /dev/null +++ b/resources/ui/ground_assets/ammo_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_red_alive.svg b/resources/ui/ground_assets/ammo_red_alive.svg new file mode 100644 index 00000000..6672db0d --- /dev/null +++ b/resources/ui/ground_assets/ammo_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_red_damaged.svg b/resources/ui/ground_assets/ammo_red_damaged.svg new file mode 100644 index 00000000..ec899cba --- /dev/null +++ b/resources/ui/ground_assets/ammo_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ammo_red_destroyed.svg b/resources/ui/ground_assets/ammo_red_destroyed.svg new file mode 100644 index 00000000..5a5f0e92 --- /dev/null +++ b/resources/ui/ground_assets/ammo_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_blue_alive.svg b/resources/ui/ground_assets/armor_blue_alive.svg new file mode 100644 index 00000000..e8127d8a --- /dev/null +++ b/resources/ui/ground_assets/armor_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_blue_damaged.svg b/resources/ui/ground_assets/armor_blue_damaged.svg new file mode 100644 index 00000000..22b2b5df --- /dev/null +++ b/resources/ui/ground_assets/armor_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_blue_destroyed.svg b/resources/ui/ground_assets/armor_blue_destroyed.svg new file mode 100644 index 00000000..a9390423 --- /dev/null +++ b/resources/ui/ground_assets/armor_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_red_alive.svg b/resources/ui/ground_assets/armor_red_alive.svg new file mode 100644 index 00000000..60f41ca0 --- /dev/null +++ b/resources/ui/ground_assets/armor_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_red_damaged.svg b/resources/ui/ground_assets/armor_red_damaged.svg new file mode 100644 index 00000000..a02c58ef --- /dev/null +++ b/resources/ui/ground_assets/armor_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/armor_red_destroyed.svg b/resources/ui/ground_assets/armor_red_destroyed.svg new file mode 100644 index 00000000..73272413 --- /dev/null +++ b/resources/ui/ground_assets/armor_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_blue_alive.svg b/resources/ui/ground_assets/coastal_blue_alive.svg new file mode 100644 index 00000000..c978973c --- /dev/null +++ b/resources/ui/ground_assets/coastal_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_blue_damaged.svg b/resources/ui/ground_assets/coastal_blue_damaged.svg new file mode 100644 index 00000000..275bfb74 --- /dev/null +++ b/resources/ui/ground_assets/coastal_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_blue_destroyed.svg b/resources/ui/ground_assets/coastal_blue_destroyed.svg new file mode 100644 index 00000000..a5b66ea1 --- /dev/null +++ b/resources/ui/ground_assets/coastal_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_red_alive.svg b/resources/ui/ground_assets/coastal_red_alive.svg new file mode 100644 index 00000000..80ffd3e8 --- /dev/null +++ b/resources/ui/ground_assets/coastal_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_red_damaged.svg b/resources/ui/ground_assets/coastal_red_damaged.svg new file mode 100644 index 00000000..72146d2f --- /dev/null +++ b/resources/ui/ground_assets/coastal_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/coastal_red_destroyed.svg b/resources/ui/ground_assets/coastal_red_destroyed.svg new file mode 100644 index 00000000..bf6f2cd5 --- /dev/null +++ b/resources/ui/ground_assets/coastal_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_blue_alive.svg b/resources/ui/ground_assets/comms_blue_alive.svg new file mode 100644 index 00000000..8492da13 --- /dev/null +++ b/resources/ui/ground_assets/comms_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_blue_damaged.svg b/resources/ui/ground_assets/comms_blue_damaged.svg new file mode 100644 index 00000000..c2a82bc8 --- /dev/null +++ b/resources/ui/ground_assets/comms_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_blue_destroyed.svg b/resources/ui/ground_assets/comms_blue_destroyed.svg new file mode 100644 index 00000000..7180db20 --- /dev/null +++ b/resources/ui/ground_assets/comms_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_red_alive.svg b/resources/ui/ground_assets/comms_red_alive.svg new file mode 100644 index 00000000..48dec8e2 --- /dev/null +++ b/resources/ui/ground_assets/comms_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_red_damaged.svg b/resources/ui/ground_assets/comms_red_damaged.svg new file mode 100644 index 00000000..8040ea4a --- /dev/null +++ b/resources/ui/ground_assets/comms_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/comms_red_destroyed.svg b/resources/ui/ground_assets/comms_red_destroyed.svg new file mode 100644 index 00000000..8ed19b3f --- /dev/null +++ b/resources/ui/ground_assets/comms_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_blue_alive.svg b/resources/ui/ground_assets/derrick_blue_alive.svg new file mode 100644 index 00000000..088202c3 --- /dev/null +++ b/resources/ui/ground_assets/derrick_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_blue_damaged.svg b/resources/ui/ground_assets/derrick_blue_damaged.svg new file mode 100644 index 00000000..da58acec --- /dev/null +++ b/resources/ui/ground_assets/derrick_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_blue_destroyed .svg b/resources/ui/ground_assets/derrick_blue_destroyed .svg new file mode 100644 index 00000000..139ea116 --- /dev/null +++ b/resources/ui/ground_assets/derrick_blue_destroyed .svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_red_alive.svg b/resources/ui/ground_assets/derrick_red_alive.svg new file mode 100644 index 00000000..7a103a23 --- /dev/null +++ b/resources/ui/ground_assets/derrick_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_red_damaged.svg b/resources/ui/ground_assets/derrick_red_damaged.svg new file mode 100644 index 00000000..f6859a06 --- /dev/null +++ b/resources/ui/ground_assets/derrick_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/derrick_red_destroyed.svg b/resources/ui/ground_assets/derrick_red_destroyed.svg new file mode 100644 index 00000000..2ba91be4 --- /dev/null +++ b/resources/ui/ground_assets/derrick_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_blue_alive.svg b/resources/ui/ground_assets/ewr_blue_alive.svg new file mode 100644 index 00000000..1ffa8d5b --- /dev/null +++ b/resources/ui/ground_assets/ewr_blue_alive.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_blue_damaged.svg b/resources/ui/ground_assets/ewr_blue_damaged.svg new file mode 100644 index 00000000..99792494 --- /dev/null +++ b/resources/ui/ground_assets/ewr_blue_damaged.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_blue_destroyed.svg b/resources/ui/ground_assets/ewr_blue_destroyed.svg new file mode 100644 index 00000000..81b1872a --- /dev/null +++ b/resources/ui/ground_assets/ewr_blue_destroyed.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_red_alive.svg b/resources/ui/ground_assets/ewr_red_alive.svg new file mode 100644 index 00000000..2447a2fe --- /dev/null +++ b/resources/ui/ground_assets/ewr_red_alive.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_red_damaged.svg b/resources/ui/ground_assets/ewr_red_damaged.svg new file mode 100644 index 00000000..4872e6ca --- /dev/null +++ b/resources/ui/ground_assets/ewr_red_damaged.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/ewr_red_destroyed.svg b/resources/ui/ground_assets/ewr_red_destroyed.svg new file mode 100644 index 00000000..b783ce70 --- /dev/null +++ b/resources/ui/ground_assets/ewr_red_destroyed.svg @@ -0,0 +1 @@ +EWG \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_blue_alive.svg b/resources/ui/ground_assets/factory_blue_alive.svg new file mode 100644 index 00000000..b89968bd --- /dev/null +++ b/resources/ui/ground_assets/factory_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_blue_damaged.svg b/resources/ui/ground_assets/factory_blue_damaged.svg new file mode 100644 index 00000000..d21c47aa --- /dev/null +++ b/resources/ui/ground_assets/factory_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_blue_destroyed.svg b/resources/ui/ground_assets/factory_blue_destroyed.svg new file mode 100644 index 00000000..2933295b --- /dev/null +++ b/resources/ui/ground_assets/factory_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_red_alive.svg b/resources/ui/ground_assets/factory_red_alive.svg new file mode 100644 index 00000000..d8aaf876 --- /dev/null +++ b/resources/ui/ground_assets/factory_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_red_damaged.svg b/resources/ui/ground_assets/factory_red_damaged.svg new file mode 100644 index 00000000..d71c65cd --- /dev/null +++ b/resources/ui/ground_assets/factory_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/factory_red_destroyed.svg b/resources/ui/ground_assets/factory_red_destroyed.svg new file mode 100644 index 00000000..4354ee70 --- /dev/null +++ b/resources/ui/ground_assets/factory_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_blue_alive.svg b/resources/ui/ground_assets/farp_blue_alive.svg new file mode 100644 index 00000000..1c76cbbe --- /dev/null +++ b/resources/ui/ground_assets/farp_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_blue_damaged.svg b/resources/ui/ground_assets/farp_blue_damaged.svg new file mode 100644 index 00000000..2eaec315 --- /dev/null +++ b/resources/ui/ground_assets/farp_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_blue_destroyed.svg b/resources/ui/ground_assets/farp_blue_destroyed.svg new file mode 100644 index 00000000..f6af1443 --- /dev/null +++ b/resources/ui/ground_assets/farp_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_red_alive.svg b/resources/ui/ground_assets/farp_red_alive.svg new file mode 100644 index 00000000..bfa7662c --- /dev/null +++ b/resources/ui/ground_assets/farp_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_red_damaged.svg b/resources/ui/ground_assets/farp_red_damaged.svg new file mode 100644 index 00000000..3da498bd --- /dev/null +++ b/resources/ui/ground_assets/farp_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/farp_red_destroyed.svg b/resources/ui/ground_assets/farp_red_destroyed.svg new file mode 100644 index 00000000..697ae951 --- /dev/null +++ b/resources/ui/ground_assets/farp_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_blue_alive.svg b/resources/ui/ground_assets/fob_blue_alive.svg new file mode 100644 index 00000000..01eed590 --- /dev/null +++ b/resources/ui/ground_assets/fob_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_blue_damaged.svg b/resources/ui/ground_assets/fob_blue_damaged.svg new file mode 100644 index 00000000..e9dacd53 --- /dev/null +++ b/resources/ui/ground_assets/fob_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_blue_destroyed.svg b/resources/ui/ground_assets/fob_blue_destroyed.svg new file mode 100644 index 00000000..f9b1e2a0 --- /dev/null +++ b/resources/ui/ground_assets/fob_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_red_alive.svg b/resources/ui/ground_assets/fob_red_alive.svg new file mode 100644 index 00000000..68ee8a5e --- /dev/null +++ b/resources/ui/ground_assets/fob_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_red_damaged.svg b/resources/ui/ground_assets/fob_red_damaged.svg new file mode 100644 index 00000000..bfb93b9a --- /dev/null +++ b/resources/ui/ground_assets/fob_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fob_red_destroyed.svg b/resources/ui/ground_assets/fob_red_destroyed.svg new file mode 100644 index 00000000..4b150097 --- /dev/null +++ b/resources/ui/ground_assets/fob_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_blue_alive.svg b/resources/ui/ground_assets/fuel_blue_alive.svg new file mode 100644 index 00000000..ec3b1951 --- /dev/null +++ b/resources/ui/ground_assets/fuel_blue_alive.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_blue_damaged.svg b/resources/ui/ground_assets/fuel_blue_damaged.svg new file mode 100644 index 00000000..24c9fca4 --- /dev/null +++ b/resources/ui/ground_assets/fuel_blue_damaged.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_blue_destroyed.svg b/resources/ui/ground_assets/fuel_blue_destroyed.svg new file mode 100644 index 00000000..1c6f9d56 --- /dev/null +++ b/resources/ui/ground_assets/fuel_blue_destroyed.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_red_alive.svg b/resources/ui/ground_assets/fuel_red_alive.svg new file mode 100644 index 00000000..df4b610d --- /dev/null +++ b/resources/ui/ground_assets/fuel_red_alive.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_red_damaged.svg b/resources/ui/ground_assets/fuel_red_damaged.svg new file mode 100644 index 00000000..84f029a6 --- /dev/null +++ b/resources/ui/ground_assets/fuel_red_damaged.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/fuel_red_destroyed.svg b/resources/ui/ground_assets/fuel_red_destroyed.svg new file mode 100644 index 00000000..110ed58d --- /dev/null +++ b/resources/ui/ground_assets/fuel_red_destroyed.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_blue_alive.svg b/resources/ui/ground_assets/missile_blue_alive.svg new file mode 100644 index 00000000..91bfa0b9 --- /dev/null +++ b/resources/ui/ground_assets/missile_blue_alive.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_blue_damaged.svg b/resources/ui/ground_assets/missile_blue_damaged.svg new file mode 100644 index 00000000..841b8ba9 --- /dev/null +++ b/resources/ui/ground_assets/missile_blue_damaged.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_blue_destroyed.svg b/resources/ui/ground_assets/missile_blue_destroyed.svg new file mode 100644 index 00000000..801cc220 --- /dev/null +++ b/resources/ui/ground_assets/missile_blue_destroyed.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_red_alive.svg b/resources/ui/ground_assets/missile_red_alive.svg new file mode 100644 index 00000000..faf9b1c9 --- /dev/null +++ b/resources/ui/ground_assets/missile_red_alive.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_red_damaged.svg b/resources/ui/ground_assets/missile_red_damaged.svg new file mode 100644 index 00000000..f4b69b86 --- /dev/null +++ b/resources/ui/ground_assets/missile_red_damaged.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/missile_red_destroyed.svg b/resources/ui/ground_assets/missile_red_destroyed.svg new file mode 100644 index 00000000..24b2fef3 --- /dev/null +++ b/resources/ui/ground_assets/missile_red_destroyed.svg @@ -0,0 +1 @@ +T \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_blue_alive.svg b/resources/ui/ground_assets/oil_blue_alive.svg new file mode 100644 index 00000000..088202c3 --- /dev/null +++ b/resources/ui/ground_assets/oil_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_blue_damaged.svg b/resources/ui/ground_assets/oil_blue_damaged.svg new file mode 100644 index 00000000..da58acec --- /dev/null +++ b/resources/ui/ground_assets/oil_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_blue_destroyed.svg b/resources/ui/ground_assets/oil_blue_destroyed.svg new file mode 100644 index 00000000..139ea116 --- /dev/null +++ b/resources/ui/ground_assets/oil_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_red_alive.svg b/resources/ui/ground_assets/oil_red_alive.svg new file mode 100644 index 00000000..7a103a23 --- /dev/null +++ b/resources/ui/ground_assets/oil_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_red_damaged.svg b/resources/ui/ground_assets/oil_red_damaged.svg new file mode 100644 index 00000000..f6859a06 --- /dev/null +++ b/resources/ui/ground_assets/oil_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/oil_red_destroyed.svg b/resources/ui/ground_assets/oil_red_destroyed.svg new file mode 100644 index 00000000..2ba91be4 --- /dev/null +++ b/resources/ui/ground_assets/oil_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/poewr_blue_damaged.svg b/resources/ui/ground_assets/poewr_blue_damaged.svg new file mode 100644 index 00000000..edc02ac8 --- /dev/null +++ b/resources/ui/ground_assets/poewr_blue_damaged.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/power_blue_alive.svg b/resources/ui/ground_assets/power_blue_alive.svg new file mode 100644 index 00000000..5459d166 --- /dev/null +++ b/resources/ui/ground_assets/power_blue_alive.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/power_blue_destroyed.svg b/resources/ui/ground_assets/power_blue_destroyed.svg new file mode 100644 index 00000000..1d648453 --- /dev/null +++ b/resources/ui/ground_assets/power_blue_destroyed.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/power_red_alive.svg b/resources/ui/ground_assets/power_red_alive.svg new file mode 100644 index 00000000..443b5dd5 --- /dev/null +++ b/resources/ui/ground_assets/power_red_alive.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/power_red_damaged.svg b/resources/ui/ground_assets/power_red_damaged.svg new file mode 100644 index 00000000..f628a2a0 --- /dev/null +++ b/resources/ui/ground_assets/power_red_damaged.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/power_red_destroyed.svg b/resources/ui/ground_assets/power_red_destroyed.svg new file mode 100644 index 00000000..48b8f196 --- /dev/null +++ b/resources/ui/ground_assets/power_red_destroyed.svg @@ -0,0 +1 @@ +GEN \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_blue_alive.svg b/resources/ui/ground_assets/ship_blue_alive.svg new file mode 100644 index 00000000..8ae1393f --- /dev/null +++ b/resources/ui/ground_assets/ship_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_blue_damaged.svg b/resources/ui/ground_assets/ship_blue_damaged.svg new file mode 100644 index 00000000..edcb3cd9 --- /dev/null +++ b/resources/ui/ground_assets/ship_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_blue_destroyed.svg b/resources/ui/ground_assets/ship_blue_destroyed.svg new file mode 100644 index 00000000..8ed1ee02 --- /dev/null +++ b/resources/ui/ground_assets/ship_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_red_alive.svg b/resources/ui/ground_assets/ship_red_alive.svg new file mode 100644 index 00000000..538cf721 --- /dev/null +++ b/resources/ui/ground_assets/ship_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_red_damaged.svg b/resources/ui/ground_assets/ship_red_damaged.svg new file mode 100644 index 00000000..f97a1109 --- /dev/null +++ b/resources/ui/ground_assets/ship_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ship_red_destroyed.svg b/resources/ui/ground_assets/ship_red_destroyed.svg new file mode 100644 index 00000000..176e9ae5 --- /dev/null +++ b/resources/ui/ground_assets/ship_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_blue_alive.svg b/resources/ui/ground_assets/village_blue_alive.svg new file mode 100644 index 00000000..c8bdb38f --- /dev/null +++ b/resources/ui/ground_assets/village_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_blue_damaged.svg b/resources/ui/ground_assets/village_blue_damaged.svg new file mode 100644 index 00000000..c54784b6 --- /dev/null +++ b/resources/ui/ground_assets/village_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_blue_destroyed.svg b/resources/ui/ground_assets/village_blue_destroyed.svg new file mode 100644 index 00000000..827ef39d --- /dev/null +++ b/resources/ui/ground_assets/village_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_red_alive.svg b/resources/ui/ground_assets/village_red_alive.svg new file mode 100644 index 00000000..d70c0dcb --- /dev/null +++ b/resources/ui/ground_assets/village_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_red_damaged.svg b/resources/ui/ground_assets/village_red_damaged.svg new file mode 100644 index 00000000..bb32e616 --- /dev/null +++ b/resources/ui/ground_assets/village_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/village_red_destroyed.svg b/resources/ui/ground_assets/village_red_destroyed.svg new file mode 100644 index 00000000..d8924600 --- /dev/null +++ b/resources/ui/ground_assets/village_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_blue_alive.svg b/resources/ui/ground_assets/ware_blue_alive.svg new file mode 100644 index 00000000..ec3b1951 --- /dev/null +++ b/resources/ui/ground_assets/ware_blue_alive.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_blue_damaged.svg b/resources/ui/ground_assets/ware_blue_damaged.svg new file mode 100644 index 00000000..24c9fca4 --- /dev/null +++ b/resources/ui/ground_assets/ware_blue_damaged.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_blue_destroyed.svg b/resources/ui/ground_assets/ware_blue_destroyed.svg new file mode 100644 index 00000000..1c6f9d56 --- /dev/null +++ b/resources/ui/ground_assets/ware_blue_destroyed.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_red_alive.svg b/resources/ui/ground_assets/ware_red_alive.svg new file mode 100644 index 00000000..df4b610d --- /dev/null +++ b/resources/ui/ground_assets/ware_red_alive.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_red_damaged.svg b/resources/ui/ground_assets/ware_red_damaged.svg new file mode 100644 index 00000000..84f029a6 --- /dev/null +++ b/resources/ui/ground_assets/ware_red_damaged.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ware_red_destroyed.svg b/resources/ui/ground_assets/ware_red_destroyed.svg new file mode 100644 index 00000000..110ed58d --- /dev/null +++ b/resources/ui/ground_assets/ware_red_destroyed.svg @@ -0,0 +1 @@ +STOR \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_blue_alive.svg b/resources/ui/ground_assets/ww2bunker_blue_alive.svg new file mode 100644 index 00000000..01eed590 --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_blue_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_blue_damaged.svg b/resources/ui/ground_assets/ww2bunker_blue_damaged.svg new file mode 100644 index 00000000..e9dacd53 --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_blue_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_blue_destroyed.svg b/resources/ui/ground_assets/ww2bunker_blue_destroyed.svg new file mode 100644 index 00000000..f9b1e2a0 --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_blue_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_red_alive.svg b/resources/ui/ground_assets/ww2bunker_red_alive.svg new file mode 100644 index 00000000..68ee8a5e --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_red_alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_red_damaged.svg b/resources/ui/ground_assets/ww2bunker_red_damaged.svg new file mode 100644 index 00000000..bfb93b9a --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_red_damaged.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/ground_assets/ww2bunker_red_destroyed.svg b/resources/ui/ground_assets/ww2bunker_red_destroyed.svg new file mode 100644 index 00000000..4b150097 --- /dev/null +++ b/resources/ui/ground_assets/ww2bunker_red_destroyed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/ui/map/canvas.html b/resources/ui/map/canvas.html index 10c3186e..84fcb831 100644 --- a/resources/ui/map/canvas.html +++ b/resources/ui/map/canvas.html @@ -24,20 +24,6 @@ integrity="sha384-XAr1poM2RCR9/QQFki7ylrGSdmvYE0NuHghuRuxb/k9zJQA53y6qR5te5jJRZlcL" crossorigin=""> - - - -