diff --git a/client/demo.js b/client/demo.js
index 7e47f863..c30f7f7b 100644
--- a/client/demo.js
+++ b/client/demo.js
@@ -18,7 +18,7 @@ const DEMO_UNIT_DATA = {
},
missionData: {
fuel: 50,
- flags: {human: false},
+ flags: {human: true},
ammo: [
{
count: 4,
@@ -67,8 +67,8 @@ const DEMO_UNIT_DATA = {
},
["2"]:{
baseData: {
- AI: true,
- name: "F-5E",
+ AI: false,
+ name: "KC-135",
unitName: "Olympus 1-2",
groupName: "Group 1",
alive: true,
diff --git a/client/public/stylesheets/units.css b/client/public/stylesheets/units.css
index f64543a6..0685381f 100644
--- a/client/public/stylesheets/units.css
+++ b/client/public/stylesheets/units.css
@@ -538,6 +538,14 @@
background-image: var( --unit-aircraft-state-refuel );
}
+[data-object|="unit"][data-state="human"] .unit-state {
+ background-image: var( --unit-aircraft-state-human );
+}
+
+[data-object|="unit"][data-state="dcs"] .unit-state {
+ background-image: var( --unit-aircraft-state-dcs );
+}
+
/*** DEAD ***/
[data-object|="unit-aircraft"][ data-is-dead ] {
cursor: default;
diff --git a/client/public/themes/olympus/images/state_dcs.svg b/client/public/themes/olympus/images/state_dcs.svg
new file mode 100644
index 00000000..1652fc61
--- /dev/null
+++ b/client/public/themes/olympus/images/state_dcs.svg
@@ -0,0 +1,71 @@
+
+
diff --git a/client/public/themes/olympus/images/state_human.svg b/client/public/themes/olympus/images/state_human.svg
new file mode 100644
index 00000000..dd64fcc8
--- /dev/null
+++ b/client/public/themes/olympus/images/state_human.svg
@@ -0,0 +1,51 @@
+
+
diff --git a/client/public/themes/olympus/olympus.css b/client/public/themes/olympus/olympus.css
index 497ef3b7..5f128e79 100644
--- a/client/public/themes/olympus/olympus.css
+++ b/client/public/themes/olympus/olympus.css
@@ -132,6 +132,8 @@
--unit-aircraft-state-attack: url( "/themes/olympus/images/state_attack.svg" );
--unit-aircraft-state-follow: url( "/themes/olympus/images/state_follow.svg" );
--unit-aircraft-state-refuel: url( "/themes/olympus/images/state_refuel.svg" );
+ --unit-aircraft-state-human: url( "/themes/olympus/images/state_human.svg" );
+ --unit-aircraft-state-dcs: url( "/themes/olympus/images/state_dcs.svg" );
/*** Ground ***/
--unit-groundunit-marker-height: 50px;
diff --git a/client/src/missionhandler/missionhandler.ts b/client/src/missionhandler/missionhandler.ts
index 60792654..66233f0a 100644
--- a/client/src/missionhandler/missionhandler.ts
+++ b/client/src/missionhandler/missionhandler.ts
@@ -1,5 +1,5 @@
import { Marker, LatLng, Icon } from "leaflet";
-import { getInfoPopup, getMap, getUnitsManager } from "..";
+import { getInfoPopup, getMap } from "..";
import { Airbase } from "./airbase";
var bullseyeIcons = [
diff --git a/client/src/units/unit.ts b/client/src/units/unit.ts
index ed1c32d0..cceae231 100644
--- a/client/src/units/unit.ts
+++ b/client/src/units/unit.ts
@@ -546,7 +546,12 @@ export class Unit extends Marker {
element.querySelector(".unit")?.toggleAttribute("data-is-dead", !this.getBaseData().alive);
- element.querySelector(".unit")?.setAttribute("data-state", this.getTaskData().currentState.toLowerCase());
+ if (this.getMissionData().flags.human) // Unit is human
+ element.querySelector(".unit")?.setAttribute("data-state", "human");
+ else if (!this.getBaseData().AI) // Unit is under DCS control (no Olympus)
+ element.querySelector(".unit")?.setAttribute("data-state", "dcs");
+ else // Unit is under Olympus control
+ element.querySelector(".unit")?.setAttribute("data-state", this.getTaskData().currentState.toLowerCase());
var unitHeadingDiv = element.querySelector(".unit-heading");
if (unitHeadingDiv != null)