Merge branch 'main' into 633-unable-to-hide-olympus-controlled-units

This commit is contained in:
PeekabooSteam 2023-12-02 15:58:37 +00:00 committed by GitHub
commit 1eb3beeb2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 19859 additions and 17253 deletions

View File

@ -92,7 +92,7 @@ class DemoDataGenerator {
}
/*
*/
let idx = 1;
DEMO_UNIT_DATA[idx] = JSON.parse(JSON.stringify(baseData));
DEMO_UNIT_DATA[idx].name = "S_75M_Volhov";
@ -153,7 +153,7 @@ class DemoDataGenerator {
DEMO_UNIT_DATA[idx].position.lat += idx / 100;
DEMO_UNIT_DATA[idx].category = "Aircraft";
DEMO_UNIT_DATA[idx].isLeader = true;
*/
this.startTime = Date.now();
}

View File

@ -19,7 +19,8 @@
"leaflet-gesture-handling": "^1.2.2",
"morgan": "~1.9.1",
"save": "^2.9.0",
"srtm-elevation": "^2.1.2"
"srtm-elevation": "^2.1.2",
"uuid": "^9.0.1"
},
"devDependencies": {
"@babel/preset-env": "^7.21.4",
@ -8820,6 +8821,18 @@
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",

View File

@ -25,7 +25,8 @@
"leaflet-gesture-handling": "^1.2.2",
"morgan": "~1.9.1",
"save": "^2.9.0",
"srtm-elevation": "^2.1.2"
"srtm-elevation": "^2.1.2",
"uuid": "^9.0.1"
},
"devDependencies": {
"@babel/preset-env": "^7.21.4",

View File

@ -4862,7 +4862,7 @@
"Bf-109K-4": {
"name": "Bf-109K-4",
"coalition": "red",
"label": "Bf-109K-4 Fritz",
"label": "Bf-109K-4",
"era": "WW2",
"shortLabel": "109",
"loadouts": [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +1,17 @@
{
"BDK-775": {
"name": "BDK-775",
"coalition": "blue",
"type": "Landing Ship",
"era": "Mid Cold War",
"label": "LS Ropucha",
"shortLabel": "LS Ropucha",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 6000,
"description": "Landing ship Ropucha",
"abilities": "",
"canTargetPoint": true,
"canRearm": false
},
"CVN_71": {
"name": "CVN_71",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-71 Theodore Roosevelt",
"label": "CVN-71 Theodore Roosevelt (SC)",
"shortLabel": "CVN-71",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -36,15 +20,16 @@
"CVN_72": {
"name": "CVN_72",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-72 Abraham Lincoln",
"label": "CVN-72 Abraham Lincoln (SC)",
"shortLabel": "CVN-72",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -53,15 +38,16 @@
"CVN_73": {
"name": "CVN_73",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-73 George Washington",
"label": "CVN-73 George Washington (SC)",
"shortLabel": "CVN-73",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -72,7 +58,7 @@
"coalition": "blue",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-75 Harry S. Truman",
"label": "CVN-75 Harry S. Truman (SC)",
"shortLabel": "CVN-75",
"range": "Medium",
"filename": "",
@ -101,6 +87,7 @@
},
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -111,13 +98,14 @@
"coalition": "red",
"type": "Aircraft Carrier",
"era": "Modern",
"label": "CV Admiral Kuznetsov(2017)",
"shortLabel": "Admiral Kuznetsov(2017)",
"label": "Admiral Kuznetsov (2017)",
"shortLabel": "Admiral Kuznetsov",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 12000,
"tags": "",
"description": "Admiral Kuznetsov. Conventional STOBAR carrier",
"abilities": "",
"canTargetPoint": false,
@ -126,8 +114,8 @@
"CastleClass_01": {
"name": "CastleClass_01",
"coalition": "blue",
"type": "Patrol",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Leeds Castle (P-258)",
"shortLabel": "HMS Leeds Castle (P-258)",
"range": "",
@ -141,6 +129,7 @@
},
"acquisitionRange": 25000,
"engagementRange": 3000,
"tags": "",
"description": "HMS Leeds Castle. Smaller. Patrol craft",
"abilities": "",
"canTargetPoint": true,
@ -149,7 +138,7 @@
"HandyWind": {
"name": "HandyWind",
"coalition": "blue",
"type": "Cargoship",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Bulker Handy Wind",
"shortLabel": "Bulker Handy Wind",
@ -176,6 +165,7 @@
},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -184,7 +174,7 @@
"HarborTug": {
"name": "HarborTug",
"coalition": "",
"type": "Tug",
"type": "Cargo/Transport",
"era": "Mid Cold War",
"label": "Harbor Tug",
"shortLabel": "Harbor Tug",
@ -211,6 +201,7 @@
},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -228,6 +219,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 20000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -481,6 +473,7 @@
},
"acquisitionRange": 19000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -489,15 +482,16 @@
"Seawise_Giant": {
"name": "Seawise_Giant",
"coalition": "blue",
"type": "Tanker",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Tanker Seawise Giant",
"label": "Seawise Giant (Tanker)",
"shortLabel": "Seawise Giant",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -506,7 +500,7 @@
"Ship_Tilde_Supply": {
"name": "Ship_Tilde_Supply",
"coalition": "blue",
"type": "Transport",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Supply Ship MV Tilde",
"shortLabel": "Supply Ship Tilde",
@ -515,6 +509,7 @@
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -532,6 +527,7 @@
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -540,9 +536,9 @@
"TICONDEROG": {
"name": "TICONDEROG",
"coalition": "blue",
"type": "Cruiser",
"type": "Combatants",
"era": "Late Cold War",
"label": "Ticonderoga",
"label": "Ticonderoga Class (Cruiser)",
"shortLabel": "Ticonderoga",
"range": "Medium",
"filename": "",
@ -611,6 +607,7 @@
},
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -619,9 +616,9 @@
"Type_052B": {
"name": "Type_052B",
"coalition": "red",
"type": "Destroyer",
"type": "Combatants",
"era": "Modern",
"label": "052B DDG-168 Guangzhou",
"label": "Type 52B Guangzhou",
"shortLabel": "Type 52B",
"range": "Short",
"filename": "",
@ -646,6 +643,7 @@
},
"acquisitionRange": 100000,
"engagementRange": 30000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -654,9 +652,9 @@
"Type_052C": {
"name": "Type_052C",
"coalition": "red",
"type": "Destroyer",
"type": "Combatants",
"era": "Modern",
"label": "052C DDG-171 Haikou",
"label": "Type 52C Haikou (Destroyer)",
"shortLabel": "Type 52C",
"range": "Short",
"filename": "",
@ -705,6 +703,7 @@
},
"acquisitionRange": 260000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -713,9 +712,9 @@
"Type_054A": {
"name": "",
"coalition": "red",
"type": "Frigate",
"type": "Combatants",
"era": "Modern",
"label": "054A FFG-538 Yantai",
"label": "Type 54A Yantai (Frigate)",
"shortLabel": "Type 54A",
"range": "Medium",
"filename": "",
@ -872,15 +871,16 @@
},
"acquisitionRange": 160000,
"engagementRange": 45000,
"tags": "",
"description": "Ship",
"abilities": "35nm >50,000ft range"
},
"Type_071": {
"name": "Type_071",
"coalition": "red",
"type": "Transport",
"type": "Cargo/Transport",
"era": "Modern",
"label": "Type 071",
"label": "Type 071 (Transport dock)",
"shortLabel": "Type 071",
"range": "",
"filename": "",
@ -925,6 +925,7 @@
},
"acquisitionRange": 300000,
"engagementRange": 150000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -935,7 +936,7 @@
"coalition": "red",
"type": "Submarine",
"era": "Modern",
"label": "Type 093",
"label": "Type 093 (Shang)",
"shortLabel": "Type 093",
"range": "",
"filename": "",
@ -948,6 +949,7 @@
},
"acquisitionRange": 40000,
"engagementRange": 40000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -956,10 +958,10 @@
"USS_Arleigh_Burke_IIa": {
"name": "USS_Arleigh_Burke_IIa",
"coalition": "blue",
"type": "Destroyer",
"type": "Combatants",
"era": "Late Cold War",
"label": "DDG Arleigh Burke lla",
"shortLabel": "DDG Arleigh Burke",
"label": "Arleigh Burke Class (Destroyer)",
"shortLabel": "Arleigh Burke Class (Destroyer)",
"range": "Medium",
"filename": "",
"enabled": true,
@ -1064,6 +1066,7 @@
"acquisitionRange": 150000,
"engagementRange": 100000,
"abilities": "",
"tags": "",
"description": "",
"canTargetPoint": true,
"canRearm": false
@ -1080,6 +1083,7 @@
"enabled": true,
"acquisitionRange": 18000,
"engagementRange": 5000,
"tags": "",
"description": "ARA Vienticinco de Mayo. Conventional CATOBAR carrier",
"abilities": "",
"canTargetPoint": true,
@ -1089,14 +1093,15 @@
"name": "hms_invincible",
"coalition": "blue",
"type": "Aircraft Carrier",
"era": "Mid Cold War",
"label": "HMS Invincible (R05)",
"era": "Late Cold War",
"label": "HMS Invincible",
"shortLabel": "HMS Invincible",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 100000,
"engagementRange": 74000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1105,8 +1110,8 @@
"leander-gun-achilles": {
"name": "leander-gun-achilles",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Achilles (F12)",
"shortLabel": "HMS Achilles",
"range": "",
@ -1114,6 +1119,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 8000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1122,8 +1128,8 @@
"leander-gun-andromeda": {
"name": "leander-gun-andromeda",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Andromeda (F57)",
"shortLabel": "HMS Andromeda",
"range": "",
@ -1131,6 +1137,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 140000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1139,8 +1146,8 @@
"leander-gun-ariadne": {
"name": "leander-gun-ariadne",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Ariadne (F72)",
"shortLabel": "HMS Ariadne",
"range": "",
@ -1148,6 +1155,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1156,8 +1164,8 @@
"leander-gun-condell": {
"name": "leander-gun-condell",
"coalition": "",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "Almirante Condell PFG-06",
"shortLabel": "Almirante Condell",
"range": "",
@ -1165,6 +1173,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1173,8 +1182,8 @@
"leander-gun-lynch": {
"name": "leander-gun-lynch",
"coalition": "",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "CNS Almirante Lynch (PFG-07)",
"shortLabel": "CNS Almirante Lynch",
"range": "",
@ -1182,6 +1191,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 140000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1191,7 +1201,7 @@
"name": "santafe",
"coalition": "",
"type": "Submarine",
"era": "Early Cold War",
"era": "WW2",
"label": "ARA Santa Fe S-21",
"shortLabel": "ARA Santa",
"range": "",
@ -1199,6 +1209,7 @@
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1210,36 +1221,21 @@
"era": "",
"label": "Boat Armed Hi-speed",
"shortLabel": "Boat Armed Hi-speed",
"type": "Speedboat",
"type": "Fast Attack Craft",
"enabled": true,
"liveries": {},
"acquisitionRange": 5000,
"engagementRange": 1000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
"canRearm": false
},
"VINSON": {
"name": "VINSON",
"coalition": "",
"era": "",
"label": "CVN-70 Carl Vinson",
"shortLabel": "CVN-70 Carl Vinson",
"type": "Aircraft Carrier",
"enabled": true,
"liveries": {},
"acquisitionRange": 30000,
"engagementRange": 15000,
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"PERRY": {
"name": "perry",
"coalition": "blue",
"type": "Frigate",
"type": "Combatants",
"era": "Mid Cold War",
"label": "Oliver H. Perry",
"shortLabel": "Oliver H. Perry",
@ -1289,13 +1285,18 @@
}
},
"acquisitionRange": 150000,
"engagementRange": 100000
"engagementRange": 100000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"ALBATROS": {
"name": "albatros",
"coalition": "red",
"type": "Frigate",
"era": "Early Cold War",
"type": "Combatants",
"era": "Modern",
"label": "Albatros (Grisha-5)",
"shortLabel": "Albatros",
"range": "",
@ -1340,7 +1341,12 @@
}
},
"acquisitionRange": 30000,
"engagementRange": 16000
"engagementRange": 16000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"KUZNECOW": {
"name": "kuznecow",
@ -1348,17 +1354,22 @@
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "Admiral Kuznetsov",
"shortLabel": "Admiral Kuznetsov",
"shortLabel": "AK",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 12000
"engagementRange": 12000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"MOLNIYA": {
"name": "molniya",
"coalition": "",
"type": "Corvette",
"type": "Combatants",
"era": "Late Cold War",
"label": "Molniya (Tarantul-3)",
"shortLabel": "Molniya",
@ -1380,12 +1391,17 @@
}
},
"acquisitionRange": 21000,
"engagementRange": 2000
"engagementRange": 2000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"MOSCOW": {
"name": "moscow",
"coalition": "red",
"type": "Cruiser",
"type": "Combatants",
"era": "Late Cold War",
"label": "Moscow",
"shortLabel": "Moscow",
@ -1411,12 +1427,17 @@
}
},
"acquisitionRange": 160000,
"engagementRange": 75000
"engagementRange": 75000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"NEUSTRASH": {
"name": "neustrash",
"coalition": "red",
"type": "Frigate",
"type": "Combatants",
"era": "Late Cold War",
"label": "Neustrashimy",
"shortLabel": "Neustrashimy",
@ -1424,19 +1445,25 @@
"filename": "",
"enabled": true,
"acquisitionRange": 27000,
"engagementRange": 12000
"engagementRange": 12000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"PIOTR": {
"name": "PIOTR",
"coalition": "",
"era": "",
"label": "Battlecruiser 1144.2 Pyotr Velikiy",
"shortLabel": "Battlecruiser 1144.2 Pyotr Velikiy",
"type": "Cruiser",
"coalition": "red",
"era": "Late Cold War",
"label": "Pyotr Velikiy (Battlecruiser)",
"shortLabel": "Pyotr Velikiy",
"type": "Combatants",
"enabled": true,
"liveries": {},
"acquisitionRange": 250000,
"engagementRange": 190000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1445,20 +1472,25 @@
"REZKY": {
"name": "Rezky (Krivak-2)",
"coalition": "red",
"type": "Frigate",
"era": "Early Cold War",
"type": "Combatants",
"era": "WW2",
"label": "Rezky (Krivak-2)",
"shortLabel": "Rezky",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 30000,
"engagementRange": 16000
"engagementRange": 16000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"ELNYA": {
"name": "elnya",
"coalition": "red",
"type": "Tanker",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Elnya tanker",
"shortLabel": "Elnya tanker",
@ -1480,7 +1512,12 @@
}
},
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"Dry-cargo ship-2": {
"name": "Dry-cargo ship-2",
@ -1488,11 +1525,12 @@
"era": "",
"label": "Cargo Ivanov",
"shortLabel": "Cargo Ivanov",
"type": "Cargoship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1504,11 +1542,12 @@
"era": "",
"label": "Bulker Yakushev",
"shortLabel": "Bulker Yakushev",
"type": "Cargoship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1517,7 +1556,7 @@
"ZWEZDNY": {
"name": "zwezdny",
"coalition": "",
"type": "Civilian Boat",
"type": "Cargo/Transport",
"era": "Modern",
"label": "Zwezdny",
"shortLabel": "Zwezdny",
@ -1525,32 +1564,43 @@
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"KILO": {
"name": "kilo",
"coalition": "red",
"type": "Submarine",
"era": "Late Cold War",
"era": "Mid Cold War",
"label": "Project 636 Varshavyanka Basic",
"shortLabel": "Varshavyanka Basic",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"IMPROVED_KILO": {
"name": "IMPROVED_KILO",
"coalition": "",
"coalition": "red",
"era": "",
"label": "SSK 636 Improved Kilo",
"shortLabel": "SSK 636 Improved Kilo",
"shortLabel": "Kilo",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1561,12 +1611,13 @@
"coalition": "",
"era": "",
"label": "SSK 641B Tango",
"shortLabel": "SSK 641B Tango",
"shortLabel": "Tango",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1574,8 +1625,8 @@
},
"Forrestal": {
"name": "Forrestal",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "Early Cold War",
"label": "CV-59 Forrestal",
"shortLabel": "CV-59 Forrestal",
"type": "Aircraft Carrier",
@ -1583,6 +1634,7 @@
"liveries": {},
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1590,15 +1642,16 @@
},
"LST_Mk2": {
"name": "LST_Mk2",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "LST Mk.II",
"shortLabel": "LST Mk.II",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1606,15 +1659,16 @@
},
"USS_Samuel_Chase": {
"name": "USS_Samuel_Chase",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "LS Samuel Chase",
"shortLabel": "LS Samuel Chase",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 7000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1622,15 +1676,16 @@
},
"Higgins_boat": {
"name": "Higgins_boat",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "Boat LCVP Higgins",
"shortLabel": "Boat LCVP Higgins",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 3000,
"engagementRange": 1000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1638,15 +1693,16 @@
},
"Uboat_VIIC": {
"name": "Uboat_VIIC",
"coalition": "",
"era": "",
"label": "U-boat VIIC U-flak",
"shortLabel": "U-boat VIIC U-flak",
"coalition": "red",
"era": "WW2",
"label": "U-boat VIIC",
"shortLabel": "U-boat",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 20000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1654,15 +1710,16 @@
},
"Schnellboot_type_S130": {
"name": "Schnellboot_type_S130",
"coalition": "",
"era": "",
"coalition": "red",
"era": "WW2",
"label": "Boat Schnellboot type S130",
"shortLabel": "Boat Schnellboot type S130",
"type": "Torpedo Boat",
"type": "Fast Attack Craft",
"enabled": true,
"liveries": {},
"acquisitionRange": 10000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +1,17 @@
{
"BDK-775": {
"name": "BDK-775",
"coalition": "blue",
"type": "Landing Ship",
"era": "Mid Cold War",
"label": "LS Ropucha",
"shortLabel": "LS Ropucha",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 6000,
"description": "Landing ship Ropucha",
"abilities": "",
"canTargetPoint": true,
"canRearm": false
},
"CVN_71": {
"name": "CVN_71",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-71 Theodore Roosevelt",
"label": "CVN-71 Theodore Roosevelt (SC)",
"shortLabel": "CVN-71",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -36,15 +20,16 @@
"CVN_72": {
"name": "CVN_72",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-72 Abraham Lincoln",
"label": "CVN-72 Abraham Lincoln (SC)",
"shortLabel": "CVN-72",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -53,15 +38,16 @@
"CVN_73": {
"name": "CVN_73",
"coalition": "blue",
"type": "Super Aircraft Carrier",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-73 George Washington",
"label": "CVN-73 George Washington (SC)",
"shortLabel": "CVN-73",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -72,7 +58,7 @@
"coalition": "blue",
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "CVN-75 Harry S. Truman",
"label": "CVN-75 Harry S. Truman (SC)",
"shortLabel": "CVN-75",
"range": "Medium",
"filename": "",
@ -101,6 +87,7 @@
},
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": false,
@ -111,13 +98,14 @@
"coalition": "red",
"type": "Aircraft Carrier",
"era": "Modern",
"label": "CV Admiral Kuznetsov(2017)",
"shortLabel": "Admiral Kuznetsov(2017)",
"label": "Admiral Kuznetsov (2017)",
"shortLabel": "Admiral Kuznetsov",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 12000,
"tags": "",
"description": "Admiral Kuznetsov. Conventional STOBAR carrier",
"abilities": "",
"canTargetPoint": false,
@ -126,8 +114,8 @@
"CastleClass_01": {
"name": "CastleClass_01",
"coalition": "blue",
"type": "Patrol",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Leeds Castle (P-258)",
"shortLabel": "HMS Leeds Castle (P-258)",
"range": "",
@ -141,6 +129,7 @@
},
"acquisitionRange": 25000,
"engagementRange": 3000,
"tags": "",
"description": "HMS Leeds Castle. Smaller. Patrol craft",
"abilities": "",
"canTargetPoint": true,
@ -149,7 +138,7 @@
"HandyWind": {
"name": "HandyWind",
"coalition": "blue",
"type": "Cargoship",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Bulker Handy Wind",
"shortLabel": "Bulker Handy Wind",
@ -176,6 +165,7 @@
},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -184,7 +174,7 @@
"HarborTug": {
"name": "HarborTug",
"coalition": "",
"type": "Tug",
"type": "Cargo/Transport",
"era": "Mid Cold War",
"label": "Harbor Tug",
"shortLabel": "Harbor Tug",
@ -211,6 +201,7 @@
},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -228,6 +219,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 20000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -481,6 +473,7 @@
},
"acquisitionRange": 19000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -489,15 +482,16 @@
"Seawise_Giant": {
"name": "Seawise_Giant",
"coalition": "blue",
"type": "Tanker",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Tanker Seawise Giant",
"label": "Seawise Giant (Tanker)",
"shortLabel": "Seawise Giant",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -506,7 +500,7 @@
"Ship_Tilde_Supply": {
"name": "Ship_Tilde_Supply",
"coalition": "blue",
"type": "Transport",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Supply Ship MV Tilde",
"shortLabel": "Supply Ship Tilde",
@ -515,6 +509,7 @@
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -532,6 +527,7 @@
"enabled": true,
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -540,9 +536,9 @@
"TICONDEROG": {
"name": "TICONDEROG",
"coalition": "blue",
"type": "Cruiser",
"type": "Combatants",
"era": "Late Cold War",
"label": "Ticonderoga",
"label": "Ticonderoga Class (Cruiser)",
"shortLabel": "Ticonderoga",
"range": "Medium",
"filename": "",
@ -611,6 +607,7 @@
},
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -619,9 +616,9 @@
"Type_052B": {
"name": "Type_052B",
"coalition": "red",
"type": "Destroyer",
"type": "Combatants",
"era": "Modern",
"label": "052B DDG-168 Guangzhou",
"label": "Type 52B Guangzhou",
"shortLabel": "Type 52B",
"range": "Short",
"filename": "",
@ -646,6 +643,7 @@
},
"acquisitionRange": 100000,
"engagementRange": 30000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -654,9 +652,9 @@
"Type_052C": {
"name": "Type_052C",
"coalition": "red",
"type": "Destroyer",
"type": "Combatants",
"era": "Modern",
"label": "052C DDG-171 Haikou",
"label": "Type 52C Haikou (Destroyer)",
"shortLabel": "Type 52C",
"range": "Short",
"filename": "",
@ -705,6 +703,7 @@
},
"acquisitionRange": 260000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -713,9 +712,9 @@
"Type_054A": {
"name": "",
"coalition": "red",
"type": "Frigate",
"type": "Combatants",
"era": "Modern",
"label": "054A FFG-538 Yantai",
"label": "Type 54A Yantai (Frigate)",
"shortLabel": "Type 54A",
"range": "Medium",
"filename": "",
@ -872,15 +871,16 @@
},
"acquisitionRange": 160000,
"engagementRange": 45000,
"tags": "",
"description": "Ship",
"abilities": "35nm >50,000ft range"
},
"Type_071": {
"name": "Type_071",
"coalition": "red",
"type": "Transport",
"type": "Cargo/Transport",
"era": "Modern",
"label": "Type 071",
"label": "Type 071 (Transport dock)",
"shortLabel": "Type 071",
"range": "",
"filename": "",
@ -925,6 +925,7 @@
},
"acquisitionRange": 300000,
"engagementRange": 150000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -935,7 +936,7 @@
"coalition": "red",
"type": "Submarine",
"era": "Modern",
"label": "Type 093",
"label": "Type 093 (Shang)",
"shortLabel": "Type 093",
"range": "",
"filename": "",
@ -948,6 +949,7 @@
},
"acquisitionRange": 40000,
"engagementRange": 40000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -956,10 +958,10 @@
"USS_Arleigh_Burke_IIa": {
"name": "USS_Arleigh_Burke_IIa",
"coalition": "blue",
"type": "Destroyer",
"type": "Combatants",
"era": "Late Cold War",
"label": "DDG Arleigh Burke lla",
"shortLabel": "DDG Arleigh Burke",
"label": "Arleigh Burke Class (Destroyer)",
"shortLabel": "Arleigh Burke Class (Destroyer)",
"range": "Medium",
"filename": "",
"enabled": true,
@ -1064,6 +1066,7 @@
"acquisitionRange": 150000,
"engagementRange": 100000,
"abilities": "",
"tags": "",
"description": "",
"canTargetPoint": true,
"canRearm": false
@ -1080,6 +1083,7 @@
"enabled": true,
"acquisitionRange": 18000,
"engagementRange": 5000,
"tags": "",
"description": "ARA Vienticinco de Mayo. Conventional CATOBAR carrier",
"abilities": "",
"canTargetPoint": true,
@ -1089,14 +1093,15 @@
"name": "hms_invincible",
"coalition": "blue",
"type": "Aircraft Carrier",
"era": "Mid Cold War",
"label": "HMS Invincible (R05)",
"era": "Late Cold War",
"label": "HMS Invincible",
"shortLabel": "HMS Invincible",
"range": "",
"filename": "",
"enabled": true,
"acquisitionRange": 100000,
"engagementRange": 74000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1105,8 +1110,8 @@
"leander-gun-achilles": {
"name": "leander-gun-achilles",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Achilles (F12)",
"shortLabel": "HMS Achilles",
"range": "",
@ -1114,6 +1119,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 8000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1122,8 +1128,8 @@
"leander-gun-andromeda": {
"name": "leander-gun-andromeda",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Andromeda (F57)",
"shortLabel": "HMS Andromeda",
"range": "",
@ -1131,6 +1137,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 140000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1139,8 +1146,8 @@
"leander-gun-ariadne": {
"name": "leander-gun-ariadne",
"coalition": "blue",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "HMS Ariadne (F72)",
"shortLabel": "HMS Ariadne",
"range": "",
@ -1148,6 +1155,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1156,8 +1164,8 @@
"leander-gun-condell": {
"name": "leander-gun-condell",
"coalition": "",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "Almirante Condell PFG-06",
"shortLabel": "Almirante Condell",
"range": "",
@ -1165,6 +1173,7 @@
"enabled": true,
"acquisitionRange": 150000,
"engagementRange": 100000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1173,8 +1182,8 @@
"leander-gun-lynch": {
"name": "leander-gun-lynch",
"coalition": "",
"type": "Frigate",
"era": "Mid Cold War",
"type": "Combatants",
"era": "Late Cold War",
"label": "CNS Almirante Lynch (PFG-07)",
"shortLabel": "CNS Almirante Lynch",
"range": "",
@ -1182,6 +1191,7 @@
"enabled": true,
"acquisitionRange": 180000,
"engagementRange": 140000,
"tags": "",
"description": "Ship",
"abilities": "",
"canTargetPoint": true,
@ -1191,7 +1201,7 @@
"name": "santafe",
"coalition": "",
"type": "Submarine",
"era": "Early Cold War",
"era": "WW2",
"label": "ARA Santa Fe S-21",
"shortLabel": "ARA Santa",
"range": "",
@ -1199,6 +1209,7 @@
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1210,36 +1221,21 @@
"era": "",
"label": "Boat Armed Hi-speed",
"shortLabel": "Boat Armed Hi-speed",
"type": "Speedboat",
"type": "Fast Attack Craft",
"enabled": true,
"liveries": {},
"acquisitionRange": 5000,
"engagementRange": 1000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
"canRearm": false
},
"VINSON": {
"name": "VINSON",
"coalition": "",
"era": "",
"label": "CVN-70 Carl Vinson",
"shortLabel": "CVN-70 Carl Vinson",
"type": "Aircraft Carrier",
"enabled": true,
"liveries": {},
"acquisitionRange": 30000,
"engagementRange": 15000,
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"PERRY": {
"name": "perry",
"coalition": "blue",
"type": "Frigate",
"type": "Combatants",
"era": "Mid Cold War",
"label": "Oliver H. Perry",
"shortLabel": "Oliver H. Perry",
@ -1289,13 +1285,18 @@
}
},
"acquisitionRange": 150000,
"engagementRange": 100000
"engagementRange": 100000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"ALBATROS": {
"name": "albatros",
"coalition": "red",
"type": "Frigate",
"era": "Early Cold War",
"type": "Combatants",
"era": "Modern",
"label": "Albatros (Grisha-5)",
"shortLabel": "Albatros",
"range": "",
@ -1340,7 +1341,12 @@
}
},
"acquisitionRange": 30000,
"engagementRange": 16000
"engagementRange": 16000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"KUZNECOW": {
"name": "kuznecow",
@ -1348,17 +1354,22 @@
"type": "Aircraft Carrier",
"era": "Late Cold War",
"label": "Admiral Kuznetsov",
"shortLabel": "Admiral Kuznetsov",
"shortLabel": "AK",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 25000,
"engagementRange": 12000
"engagementRange": 12000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"MOLNIYA": {
"name": "molniya",
"coalition": "",
"type": "Corvette",
"type": "Combatants",
"era": "Late Cold War",
"label": "Molniya (Tarantul-3)",
"shortLabel": "Molniya",
@ -1380,12 +1391,17 @@
}
},
"acquisitionRange": 21000,
"engagementRange": 2000
"engagementRange": 2000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"MOSCOW": {
"name": "moscow",
"coalition": "red",
"type": "Cruiser",
"type": "Combatants",
"era": "Late Cold War",
"label": "Moscow",
"shortLabel": "Moscow",
@ -1411,12 +1427,17 @@
}
},
"acquisitionRange": 160000,
"engagementRange": 75000
"engagementRange": 75000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"NEUSTRASH": {
"name": "neustrash",
"coalition": "red",
"type": "Frigate",
"type": "Combatants",
"era": "Late Cold War",
"label": "Neustrashimy",
"shortLabel": "Neustrashimy",
@ -1424,19 +1445,25 @@
"filename": "",
"enabled": true,
"acquisitionRange": 27000,
"engagementRange": 12000
"engagementRange": 12000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"PIOTR": {
"name": "PIOTR",
"coalition": "",
"era": "",
"label": "Battlecruiser 1144.2 Pyotr Velikiy",
"shortLabel": "Battlecruiser 1144.2 Pyotr Velikiy",
"type": "Cruiser",
"coalition": "red",
"era": "Late Cold War",
"label": "Pyotr Velikiy (Battlecruiser)",
"shortLabel": "Pyotr Velikiy",
"type": "Combatants",
"enabled": true,
"liveries": {},
"acquisitionRange": 250000,
"engagementRange": 190000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1445,20 +1472,25 @@
"REZKY": {
"name": "Rezky (Krivak-2)",
"coalition": "red",
"type": "Frigate",
"era": "Early Cold War",
"type": "Combatants",
"era": "WW2",
"label": "Rezky (Krivak-2)",
"shortLabel": "Rezky",
"range": "Short",
"filename": "",
"enabled": true,
"acquisitionRange": 30000,
"engagementRange": 16000
"engagementRange": 16000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"ELNYA": {
"name": "elnya",
"coalition": "red",
"type": "Tanker",
"type": "Cargo/Transport",
"era": "Late Cold War",
"label": "Elnya tanker",
"shortLabel": "Elnya tanker",
@ -1480,7 +1512,12 @@
}
},
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"Dry-cargo ship-2": {
"name": "Dry-cargo ship-2",
@ -1488,11 +1525,12 @@
"era": "",
"label": "Cargo Ivanov",
"shortLabel": "Cargo Ivanov",
"type": "Cargoship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1504,11 +1542,12 @@
"era": "",
"label": "Bulker Yakushev",
"shortLabel": "Bulker Yakushev",
"type": "Cargoship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1517,7 +1556,7 @@
"ZWEZDNY": {
"name": "zwezdny",
"coalition": "",
"type": "Civilian Boat",
"type": "Cargo/Transport",
"era": "Modern",
"label": "Zwezdny",
"shortLabel": "Zwezdny",
@ -1525,32 +1564,43 @@
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"KILO": {
"name": "kilo",
"coalition": "red",
"type": "Submarine",
"era": "Late Cold War",
"era": "Mid Cold War",
"label": "Project 636 Varshavyanka Basic",
"shortLabel": "Varshavyanka Basic",
"range": "Medium",
"filename": "",
"enabled": true,
"acquisitionRange": 0,
"engagementRange": 0
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
"canRearm": false
},
"IMPROVED_KILO": {
"name": "IMPROVED_KILO",
"coalition": "",
"coalition": "red",
"era": "",
"label": "SSK 636 Improved Kilo",
"shortLabel": "SSK 636 Improved Kilo",
"shortLabel": "Kilo",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1561,12 +1611,13 @@
"coalition": "",
"era": "",
"label": "SSK 641B Tango",
"shortLabel": "SSK 641B Tango",
"shortLabel": "Tango",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 0,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1574,8 +1625,8 @@
},
"Forrestal": {
"name": "Forrestal",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "Early Cold War",
"label": "CV-59 Forrestal",
"shortLabel": "CV-59 Forrestal",
"type": "Aircraft Carrier",
@ -1583,6 +1634,7 @@
"liveries": {},
"acquisitionRange": 50000,
"engagementRange": 25000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": false,
@ -1590,15 +1642,16 @@
},
"LST_Mk2": {
"name": "LST_Mk2",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "LST Mk.II",
"shortLabel": "LST Mk.II",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1606,15 +1659,16 @@
},
"USS_Samuel_Chase": {
"name": "USS_Samuel_Chase",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "LS Samuel Chase",
"shortLabel": "LS Samuel Chase",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 0,
"engagementRange": 7000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1622,15 +1676,16 @@
},
"Higgins_boat": {
"name": "Higgins_boat",
"coalition": "",
"era": "",
"coalition": "blue",
"era": "WW2",
"label": "Boat LCVP Higgins",
"shortLabel": "Boat LCVP Higgins",
"type": "Landing Ship",
"type": "Cargo/Transport",
"enabled": true,
"liveries": {},
"acquisitionRange": 3000,
"engagementRange": 1000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1638,15 +1693,16 @@
},
"Uboat_VIIC": {
"name": "Uboat_VIIC",
"coalition": "",
"era": "",
"label": "U-boat VIIC U-flak",
"shortLabel": "U-boat VIIC U-flak",
"coalition": "red",
"era": "WW2",
"label": "U-boat VIIC",
"shortLabel": "U-boat",
"type": "Submarine",
"enabled": true,
"liveries": {},
"acquisitionRange": 20000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,
@ -1654,15 +1710,16 @@
},
"Schnellboot_type_S130": {
"name": "Schnellboot_type_S130",
"coalition": "",
"era": "",
"coalition": "red",
"era": "WW2",
"label": "Boat Schnellboot type S130",
"shortLabel": "Boat Schnellboot type S130",
"type": "Torpedo Boat",
"type": "Fast Attack Craft",
"enabled": true,
"liveries": {},
"acquisitionRange": 10000,
"engagementRange": 4000,
"tags": "",
"description": "",
"abilities": "",
"canTargetPoint": true,

View File

@ -4,6 +4,8 @@
display: flex;
justify-content: center;
position: relative;
width: 100%;
height: 100%;
}
.airbase-icon[data-coalition="red"] svg * {

View File

@ -4,6 +4,8 @@
display: flex;
justify-content: center;
position: relative;
width: 100%;
height: 100%;
}
.bullseye-icon[data-coalition="red"] svg * {

View File

@ -50,6 +50,11 @@
width: var(--unit-width);
}
.unit-icon svg {
height: 100%;
width: 100%;
}
[data-is-selected] .unit-icon::before {
background-color: var(--unit-spotlight-fill);
border-radius: 50%;

View File

@ -61,9 +61,13 @@
.contextmenu-advanced-options-toggle:after,
.contextmenu-metadata-toggle:after {
content: url(/resources/theme/images/icons/chevron-down.svg);
content: "";
margin-left: auto;
margin-top: auto;
background-image: url(/resources/theme/images/icons/chevron-down.svg);
background-size: 100% 100%;
width: 15px;
height: 15px;
}
.contextmenu-advanced-options-toggle.is-open:after,
@ -407,84 +411,124 @@
/* Buttons */
#center-map::before {
content: url("/resources/theme/images/icons/arrows-to-eye-solid.svg");
background-image: url("/resources/theme/images/icons/arrows-to-eye-solid.svg");
content: "";
background-size: 20px 20px;
}
#refuel::before {
content: url("/resources/theme/images/icons/fuel.svg");
background-image: url("/resources/theme/images/icons/fuel.svg");
content: "";
background-size: 20px 20px;
}
#attack::before {
content: url("/resources/theme/images/icons/sword.svg");
background-image: url("/resources/theme/images/icons/sword.svg");
content: "";
background-size: 20px 20px;
}
#bomb::before {
content: url("/resources/theme/images/icons/crosshairs-solid.svg");
background-image: url("/resources/theme/images/icons/crosshairs-solid.svg");
content: "";
background-size: 20px 20px;
}
#carpet-bomb::before {
content: url("/resources/theme/images/icons/explosion-solid.svg");
background-image: url("/resources/theme/images/icons/explosion-solid.svg");
content: "";
background-size: 20px 20px;
}
#fire-at-area::before {
content: url("/resources/theme/images/icons/crosshairs-solid.svg");
background-image: url("/resources/theme/images/icons/crosshairs-solid.svg");
content: "";
background-size: 20px 20px;
}
#simulate-fire-fight::before {
content: url("/resources/theme/images/icons/crosshairs-solid.svg");
background-image: url("/resources/theme/images/icons/crosshairs-solid.svg");
content: "";
background-size: 20px 20px;
}
#follow::before {
content: url("/resources/theme/images/icons/follow.svg");
background-image: url("/resources/theme/images/icons/follow.svg");
content: "";
background-size: 20px 20px;
}
#scenic-aaa::before {
content: url("/resources/theme/images/icons/scenic.svg");
background-image: url("/resources/theme/images/icons/scenic.svg");
content: "";
background-size: 20px 20px;
}
#miss-aaa::before {
content: url("/resources/theme/images/icons/miss.svg");
background-image: url("/resources/theme/images/icons/miss.svg");
content: "";
background-size: 20px 20px;
}
#group-ground::before {
content: url("/resources/theme/images/icons/group-ground.svg");
background-image: url("/resources/theme/images/icons/group-ground.svg");
content: "";
background-size: 20px 20px;
}
#group-navy::before {
content: url("/resources/theme/images/icons/group-navy.svg");
background-image: url("/resources/theme/images/icons/group-navy.svg");
content: "";
background-size: 20px 20px;
}
#land-at-point::before {
content: url("/resources/theme/images/icons/land-at-point.svg");
background-image: url("/resources/theme/images/icons/land-at-point.svg");
content: "";
background-size: 20px 20px;
}
#trail::before {
content: url("/resources/theme/images/icons/trail.svg");
background-image: url("/resources/theme/images/icons/trail.svg");
content: "";
background-size: 20px 20px;
}
#echelon-lh::before {
content: url("/resources/theme/images/icons/echelon-lh.svg");
background-image: url("/resources/theme/images/icons/echelon-lh.svg");
content: "";
background-size: 20px 20px;
}
#echelon-rh::before {
content: url("/resources/theme/images/icons/echelon-rh.svg");
background-image: url("/resources/theme/images/icons/echelon-rh.svg");
content: "";
background-size: 20px 20px;
}
#line-abreast-rh::before,
#line-abreast-lh::before {
content: url("/resources/theme/images/icons/line-abreast.svg");
background-image: url("/resources/theme/images/icons/line-abreast.svg");
content: "";
background-size: 20px 20px;
}
#front::before {
content: url("/resources/theme/images/icons/front.svg");
background-image: url("/resources/theme/images/icons/front.svg");
content: "";
background-size: 20px 20px;
}
#diamond::before {
content: url("/resources/theme/images/icons/diamond.svg");
background-image: url("/resources/theme/images/icons/diamond.svg");
content: "";
background-size: 20px 20px;
}
#custom::before {
content: url("/resources/theme/images/icons/custom.svg");
background-image: url("/resources/theme/images/icons/custom.svg");
content: "";
background-size: 20px 20px;
}
#custom-formation-dialog {

View File

@ -68,12 +68,16 @@
display: none;
}
#unit-visibility-control > div:nth-child(4),
#coalition-visibility-control {
#unit-visibility-control > div:nth-child(4) {
border-left: 2px solid white;
padding-left: 12px;
}
#unit-visibility-control > div:last-child {
border-right: 2px solid white;
padding-right: 12px;
}
@media (max-width: 1145px) {
#toolbar-container {
flex-direction: column;

View File

@ -27,7 +27,6 @@
display: block;
}
#log-panel-header-right {
align-items: center;
column-gap: 16px;
@ -35,6 +34,11 @@
flex-flow: row nowrap;
}
#log-panel-header-right svg {
width: 15px;
height: 15px;
}
#server-status-panel abbr {
text-decoration: none;
}

View File

@ -6,60 +6,69 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
#roe-buttons-container button,
#reaction-to-threat-buttons-container button,
#emissions-countermeasures-buttons-container button,
#shots-scatter-buttons-container button
#shots-intensity-buttons-container button {
align-items: center;
background-color: transparent;
border: 1px solid var(--accent-light-blue);
display: flex;
height: 30px;
justify-content: center;
width: 30px;
#shots-scatter-buttons-container button #shots-intensity-buttons-container button {
align-items: center;
background-color: transparent;
border: 1px solid var(--accent-light-blue);
display: flex;
height: 30px;
justify-content: center;
width: 30px;
}
#reaction-to-threat-buttons-container button:not(:first-child) svg {
width: 150%;
margin: -5px;
width: 150%;
margin: -5px;
}
#unit-control-panel .ol-option-button button {
width: 30px;
height: 30px;
}
#unit-control-panel .ol-option-button svg {
width: 100%;
height: 100%;
}
#unit-control-panel .ol-option-button button.selected {
background-color: white;
border-color: white;
background-color: white;
border-color: white;
}
#unit-control-panel .ol-option-button button.selected svg * {
fill: var(--background-steel);
stroke: var(--background-steel);
fill: var(--background-steel);
stroke: var(--background-steel);
}
#rapid-controls {
display: flex;
flex-direction: column;
row-gap: 5px;
height: fit-content;
width: fit-content;
display: flex;
flex-direction: column;
row-gap: 5px;
height: fit-content;
width: fit-content;
}
#rapid-controls button {
padding: 4px;
padding: 4px;
}
#rapid-controls button.pulse {
animation: pulse 1.5s linear infinite;
animation: pulse 1.5s linear infinite;
}
#rapid-controls svg {
height: 20px;
width: 20px;
fill: white;
stroke: white;
height: 20px;
width: 20px;
fill: white;
stroke: white;
}
#rapid-controls button:before {
display: inline-block;
filter: invert(100%);
height: 20px;
width: 20px;
display: inline-block;
filter: invert(100%);
height: 20px;
width: 20px;
}
#unit-control-panel {
@ -109,7 +118,7 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
width: fit-content;
}
#unit-control-panel:not(:hover)>*:nth-child(2),
#unit-control-panel:not(:hover)>*:nth-child(2),
#unit-control-panel:not(:hover)>*:nth-child(3) {
display: none;
}
@ -196,7 +205,7 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
}
#advanced-settings-dialog>.ol-dialog-content>div input[type="number"] {
width: 60px;
width: 60px;
}
#advanced-settings-dialog hr {
@ -266,7 +275,6 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
width: 40px;
}
.ol-slider-value {
color: var(--accent-light-blue);
cursor: pointer;
@ -276,13 +284,15 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
.switch-control {
align-items: center;
align-content: center;
display: flex;
width: 100%;
justify-content: space-between;
}
.switch-control h4 {
margin: 0px;
margin: 0px !important;
padding: 0px;
display: flex;
align-items: center;
}
@ -303,30 +313,30 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
position: relative;
}
#advanced-settings-div > button {
#advanced-settings-div>button {
background-color: var(--background-grey);
box-shadow: 0px 2px 5px #000A;
font-size:13px;
box-shadow: 0px 2px 5px #000A;
font-size: 13px;
height: 40px;
padding:0 20px;
padding: 0 20px;
}
#delete-options {
font-size:13px;
font-size: 13px;
}
#delete-options.ol-select > .ol-select-value:after {
#delete-options.ol-select>.ol-select-value:after {
content: "";
}
#delete-options.ol-select > .ol-select-value svg {
#delete-options.ol-select>.ol-select-value svg {
background-color: transparent;
position: absolute;
right:2px;
translate:0 1px;
right: 2px;
translate: 0 1px;
}
#delete-options.ol-select > .ol-select-value svg * {
#delete-options.ol-select>.ol-select-value svg * {
fill: var(--primary-red);
}
@ -334,21 +344,21 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
background-color: var(--background-steel);
}
#delete-options.ol-select > .ol-select-value:hover,
#delete-options .ol-select-options > div:not(.hr):hover,
#delete-options .ol-select-options > div:not(.hr):hover button,
#delete-options .ol-select-options > div hr {
#delete-options.ol-select>.ol-select-value:hover,
#delete-options .ol-select-options>div:not(.hr):hover,
#delete-options .ol-select-options>div:not(.hr):hover button,
#delete-options .ol-select-options>div hr {
background-color: var(--background-grey);
}
#delete-options .ol-select-options > div:first-of-type {
margin-top:12px;
padding-top:0;
#delete-options .ol-select-options>div:first-of-type {
margin-top: 12px;
padding-top: 0;
}
#delete-options .ol-select-options > div:last-of-type {
margin-bottom:12px;
padding-bottom:0;
#delete-options .ol-select-options>div:last-of-type {
margin-bottom: 12px;
padding-bottom: 0;
}
#delete-options button {
@ -389,4 +399,4 @@ body.feature-forceShowUnitControlPanel #unit-control-panel {
#advanced-settings-dialog:not([data-show-radio]) #radio-options,
#advanced-settings-dialog:not([data-show-air-unit-checkboxes]) .air-unit-checkbox {
display: none;
}
}

View File

@ -146,12 +146,12 @@
}
#fuel-percentage::before {
content: url("/resources/theme/images/icons/fuel.svg");
content: "";
background-image: url("/resources/theme/images/icons/fuel.svg");
background-size: 16px 16px;
display: inline-block;
filter: invert(100%);
height: 16px;
margin-right: 6px;
width: 16px;
}
#fuel-percentage::after {

View File

@ -206,9 +206,17 @@ button svg.fill-coalition[data-coalition="red"] * {
}
.ol-select:not(.ol-select-image)>.ol-select-value:after {
content: url("/resources/theme/images/icons/chevron-down.svg");
background-image: url("/resources/theme/images/icons/chevron-down.svg");
content: "";
position: absolute;
right: 10px;
width: 15px;
height: 15px;
background-size: 100% 100%;
}
.ol-select:not(.ol-select-image)>.ol-select-value.ol-select-warning:after {
background-image: url("/resources/theme/images/icons/chevron-down-warning.svg") !important;
}
.ol-select.is-open:not(.ol-select-image)>.ol-select-value:after {
@ -441,6 +449,7 @@ nav.ol-panel> :last-child {
-webkit-filter: invert(100%);
height: 16px;
width: 16px;
background-size: 100% 100%;
}
.ol-panel .ol-group-button-toggle button.off::before {
@ -1328,7 +1337,7 @@ dl.ol-data-grid dd {
align-content: center;
border-top: 1px solid var(--background-grey);
display: flex;
justify-content: center;
justify-content: flex-end;
padding-top: 15px;
row-gap: 10px;
}
@ -1362,6 +1371,7 @@ dl.ol-data-grid dd {
height: 16px;
margin-right: 10px;
width: 16px;
background-size: 100% 100%;
}
.ol-checkbox input[type="checkbox"]:disabled:before {

View File

@ -0,0 +1,3 @@
<svg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.37109 7.37891C6.69922 7.73438 7.27344 7.73438 7.60156 7.37891L12.8516 2.12891C13.207 1.80078 13.207 1.22656 12.8516 0.898438C12.5234 0.542969 11.9492 0.542969 11.6211 0.898438L7 5.51953L2.35156 0.898438C2.02344 0.542969 1.44922 0.542969 1.12109 0.898438C0.765625 1.22656 0.765625 1.80078 1.12109 2.12891L6.37109 7.37891Z" fill="#ff5858"/>
</svg>

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 460 460" xml:space="preserve">
<g id="XMLID_2582_">
<path id="XMLID_4_" style="fill:#871A27;" d="M353.16,459.97L353.16,459.97c-32.138-3.383-61.944-18.336-83.849-42.066
L65.784,206.343c-6.885-7.157-3.266-19.083,6.439-21.217l26.729-5.878l258.429,272.378
C360.487,455.023,357.74,460.452,353.16,459.97z"/>
<path id="XMLID_2108_" style="fill:#A52531;" d="M403.222,459.97L403.222,459.97c-32.138-3.383-61.944-18.336-83.849-42.066
L100.124,190l48.891-10.752l258.429,272.378C410.549,455.023,407.802,460.452,403.222,459.97z"/>
<path id="XMLID_2018_" style="fill:#CC3248;" d="M454.455,459.97L454.455,459.97c-32.138-3.383-61.944-18.336-83.849-42.066
L151.357,190l48.891-10.752l258.429,272.378C461.782,455.023,459.035,460.452,454.455,459.97z"/>
<path id="XMLID_2391_" style="fill:#C1A991;" d="M280.347,380h-80.099l-9.48,37.873C188.984,425,182.572,430,175.217,430
s-13.767-5-15.551-12.127L150.186,380h-0.277c-40.008,0-73.881-29.485-79.348-69.069L44.112,119.414
C30.376,116.668,20.025,104.544,20.025,90H0c0-20.678,15.692-37.69,35.817-39.781C35.079,22.989,56.998,0,84.812,0l0,0
c21.102,0,39.837,13.487,46.51,33.481l0.617,1.848c8.632,25.864,26.455,47.418,49.597,61.877
c8.184,5.113,15.785,13.683,19.63,27.974L280.347,380z"/>
<path id="XMLID_2087_" style="fill:#473C3F;" d="M180.223,420v10v10v5c0,8.284-6.724,15-15.019,15h-50.062
c-2.765,0-5.006-2.239-5.006-5l0,0c0-8.284,6.724-15,15.019-15h35.043c5.53,0,10.012-4.477,10.012-10v-10H180.223z"/>
<path id="XMLID_1701_" style="fill:#9B1C2B;" d="M280.347,380h-80.099l-9.48,37.873C188.984,425,182.572,430,175.217,430
s-13.767-5-15.551-12.127L150.186,380h-0.277c-40.008,0-73.881-29.485-79.348-69.069L44.112,119.414L30.382,90H52.77
c4.803,0,9.541-1.117,13.837-3.262l16.413-8.197c10.482-5.234,17.103-15.935,17.103-27.639C100.124,33.835,86.272,20,69.184,20
H45.307C54.179,7.937,68.475,0,84.812,0l0,0c21.102,0,39.837,13.487,46.51,33.481l0.617,1.848
c8.632,25.864,26.455,47.418,49.597,61.877c8.184,5.113,15.785,13.683,19.63,27.974L280.347,380z"/>
<path id="XMLID_2389_" style="fill:#8C735D;" d="M40.05,90l4.062,29.414C30.376,116.668,20.025,104.544,20.025,90H0
c0-3.454,0.447-6.803,1.27-10h37.667L40.05,90z"/>
<path id="XMLID_1631_" style="fill:#AF8F6D;" d="M40.05,90H0c0-20.676,15.688-37.686,35.81-39.781
c0.037,1.375,0.121,2.759,0.276,4.154L40.05,90z"/>
<path id="XMLID_2088_" style="fill:#66313A;" d="M70.087,45c0,2.761-2.241,5-5.006,5s-5.006-2.239-5.006-5s2.241-5,5.006-5
C67.845,40,70.087,42.239,70.087,45z"/>
<path id="XMLID_1864_" style="fill:#720C1F;" d="M150.186,380h50.062l-5.006,20h-40.049L150.186,380z"/>
<path id="XMLID_1836_" style="fill:#720C1F;" d="M331.261,397.796L246.772,194.5c-19.25-46.319-62.419-73.992-106.431-68.225
l-33.801,4.429c-6.283,0.823-10.071,7.378-7.641,13.223l82.08,197.501c19.25,46.32,62.419,73.992,106.431,68.226l40.03-5.245
C330.582,403.996,332.476,400.719,331.261,397.796z"/>
<path id="XMLID_1924_" style="fill:#871A27;" d="M349.271,380.344l-39.554,8.084c-43.488,8.888-88.523-15.638-111.033-60.467
l-95.979-191.149c-2.841-5.657,0.469-12.465,6.677-13.734l33.398-6.826c43.488-8.888,88.523,15.638,111.033,60.468l98.796,196.758
C354.03,376.305,352.375,379.709,349.271,380.344z"/>
<path id="XMLID_1905_" style="fill:#A52531;" d="M351.863,378.865c-39.327,2.272-78.009-21.643-98.331-62.115l-73.749-146.618
c-1.957-3.897-0.994-8.339,1.823-11.141c37.969-0.535,74.788,23.122,94.439,62.258l76.565,152.227
C353.548,375.345,353.139,377.459,351.863,378.865z"/>
<path id="XMLID_1810_" style="fill:#82542E;" d="M349.27,380.344L310.841,385c-43.488,8.888-89.648-12.21-112.158-57.04
l-66.414-132.268c34.538,30.088,78.926,43.67,122.276,34.81l23.828-4.87l74.236,147.845
C354.029,376.305,352.374,379.709,349.27,380.344z"/>
<path id="XMLID_1705_" style="fill:#684627;" d="M351.864,378.865c-0.656,0.723-1.538,1.263-2.592,1.479l-39.307,6.781
c-43.488,8.888-88.77-14.335-111.28-59.165l-66.414-132.268c22.958,20,50.271,32.696,78.737,36.365l42.526,84.693
C273.856,357.223,312.537,381.137,351.864,378.865z"/>
<path id="XMLID_1636_" style="fill:#385056;" d="M349.27,380.344l-39.554,8.084c-43.488,8.888-88.523-15.638-111.033-60.467
l-21.17-42.161c28.416,19.045,62.146,26.827,95.205,20.07l41.667-8.516l38.223,76.123
C354.029,376.305,352.374,379.709,349.27,380.344z"/>
<path id="XMLID_1807_" style="fill:#446772;" d="M249.716,308.257c7.802-0.018,15.644-0.792,23.45-2.388l41.667-8.516
l38.223,76.123c0.594,1.184,0.644,2.466,0.281,3.606c-0.209,0.65-0.552,1.254-1.012,1.765c-0.005,0.006-0.01,0.012-0.016,0.018
c-39.326,2.271-78.007-21.643-98.329-62.115L249.716,308.257z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,109 @@
:root {
/** Colours **/
/*** Coalition: neutral ***/
--primary-neutral: #949ba7;
--secondary-neutral-outline: #111111;
--secondary-neutral-text: #111111;
--unit-background-neutral: #CFD9E8;
/*** Coalition: blue ***/
--primary-blue: #247be2;
--secondary-blue-outline: #082e44;
--secondary-blue-text: #017DC1;
--unit-background-blue: #3BB9FF;
/*** Coalition: red ***/
--primary-red: #ff5858;
--secondary-red-outline: #262222;
--secondary-red-text: #D42121;
--unit-background-red: #FF5858;
/*** UI Colours **/
--accent-amber: #ffd828;
--accent-green: #8bff63;
--accent-light-blue: #5ca7ff;
--accent-dark-blue: #017DC1;
--transparent-accent-light-blue: rgba(92, 167, 255, .33);
--accent-light-red: #F5B6B6;
--background-grey: #3d4651;
--background-slate-blue: #363c43;
--background-offwhite: #f2f2f3;
--background-steel: #202831;
--secondary-dark-steel: #181e25;
--secondary-gunmetal-grey: #2f2f2f;
--secondary-lighter-grey: #949ba7;
--secondary-light-grey: #797e83;
--secondary-semitransparent-white: #FFFFFFAA;
--secondary-transparent-white: #FFFFFF30;
--secondary-yellow: #ffd46893;
--background-hover: #f2f2f333;
--nav-text: #ECECEC;
--ol-select-secondary: #545F6C;
--ol-switch-off:#686868;
--ol-switch-undefined:#383838;
/*** General border radii **/
--border-radius-xs: 2px;
--border-radius-sm: 5px;
--border-radius-md: 10px;
--border-radius-lg: 15px;
/*** Fonts **/
--font-weight-bolder: 600;
/*** Unit marker settings ***/
/*** All markers **/
--unit-border-radius: var(--border-radius-xs);
--unit-font-size: 14px;
--unit-font-weight: bolder;
--unit-label-border-width: 2px;
--unit-spotlight-fill: var(--secondary-yellow);
--unit-spotlight-radius: 26px;
--unit-stroke-width: 3px;
--unit-height: 50px;
--unit-width: 50px;
--unit-health-border-width: 2px;
--unit-health-height: 6px;
--unit-health-width: 36px;
--unit-health-x: 0px;
--unit-health-y: 26px;
/*** Air units ***/
--unit-ammo-gap: calc(2px + var(--unit-stroke-width));
--unit-ammo-border-radius: 50%;
--unit-ammo-border-width: 2px;
--unit-ammo-radius: 2px;
--unit-ammo-spacing: 2px;
--unit-ammo-x: 0px;
--unit-ammo-y: 30px;
--unit-fuel-border-width: 2px;
--unit-fuel-height: 6px;
--unit-fuel-width: 36px;
--unit-fuel-x: 0px;
--unit-fuel-y: 22px;
--unit-vvi-width: 4px;
}
* {
font-weight:600;
}
svg {
animation: spin linear infinite 1s;
}
@keyframes spin {
from {
transform:rotate(0deg);
}
to {
transform:rotate(360deg);
}
}

View File

@ -1,11 +1,42 @@
const express = require('express');
const router = express.Router();
const { v4: uuidv4 } = require('uuid');
// TODO should be user selectable or at least configurable from configuration file
var theme = "olympus";
var themesMap = {};
router.get('/theme/*', function (req, res, next) {
res.redirect(req.url.replace("theme", "themes/" + theme));
/* If this is the first time this session makes a request, create a uuid and save it to the map. Default theme is the olympus theme */
if (!req.cookies.id) {
const id = uuidv4();
res.cookie('id', id, { httpOnly: true });
themesMap[id] = "olympus";
reqTheme = "olympus";
}
else {
/* If it is present, recover the session theme from the map */
if (!(req.cookies.id in themesMap))
themesMap[req.cookies.id] = "olympus";
reqTheme = themesMap[req.cookies.id];
}
/* Yes, this in an easter egg! :D Feel free to ignore it, or activate the parrot theme to check what it does. Why parrots? The story is a bit long, come to the Discord and ask :D */
if (reqTheme === "parrot" && !req.url.includes(".css"))
res.redirect('/themes/parrot/images/parrot.svg');
else
res.redirect(req.url.replace("theme", "themes/" + reqTheme));
});
router.put('/theme/:newTheme', function (req, res, next) {
/* Add the theme to the map, if this session already has an id */
const newTheme = req.params.newTheme;
if (req.cookies.id) {
themesMap[req.cookies.id] = newTheme;
console.log("Theme set to " + newTheme + " for session " + req.cookies.id);
} else {
console.log("Failed to set theme to " + newTheme + ", no session id");
}
res.end("Ok");
});
module.exports = router;

View File

@ -210,7 +210,7 @@ export abstract class UnitSpawnMenu {
let name = this.#unitLabelDropdown.getOptionsList()[idx];
let element = this.#unitLabelDropdown.getOptionElements()[idx] as HTMLElement;
let entry = this.#unitDatabase.getByName(name);
if (entry) {
if (entry && entry.tags?.trim() !== "") {
element.querySelectorAll("button")[0]?.append(...(entry.tags?.split(",").map((tag: string) => {
tag = tag.trim();
let el = document.createElement("div");

View File

@ -53,7 +53,6 @@ export class OlympusApp {
#weaponsManager: WeaponsManager | null = null;
constructor() {
}
// TODO add checks on null

View File

@ -12,7 +12,7 @@ export class ServerManager {
#connected: boolean = false;
#paused: boolean = false;
#REST_ADDRESS = "http://localhost:30000/olympus";
#DEMO_ADDRESS = window.location.href + "demo";
#DEMO_ADDRESS = window.location.href.split('?')[0] + "demo"; /* Remove query parameters */
#username = "";
#password = "";
#sessionHash: string | null = null;
@ -105,7 +105,7 @@ export class ServerManager {
getConfig(callback: CallableFunction) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", window.location.href + "config", true);
xmlHttp.open("GET", window.location.href.split('?')[0] + "config", true);
xmlHttp.onload = function (e) {
var data = JSON.parse(xmlHttp.responseText);
callback(data);

View File

@ -6,7 +6,7 @@
data-on-click-params='{ "type": "iads" }' class="ol-context-menu-button"><img src="/resources/theme/images/buttons/spawn/sam.svg" inject-svg></button>
<!--<button data-coalition="blue" id="cap-button" title="Create Combat Air Patrols" data-on-click="coalitionAreaContextMenuShow"
data-on-click-params='{ "type": "cap" }' class="ol-context-menu-button"></button>-->
<button data-coalition="blue" id="coalitionarea-back-button" title="Bring area to back" data-on-click="coalitionAreaBringToBack"
<button data-coalition="blue" id="coalitionarea-back-button" title="Send to back" data-on-click="coalitionAreaBringToBack"
class="ol-context-menu-button"><img src="/resources/theme/images/buttons/other/back.svg" inject-svg></button>
<button data-coalition="blue" id="coalitionarea-delete-button" title="Delete area" data-on-click="coalitionAreaDelete"
class="ol-context-menu-button"><img src="/resources/theme/images/buttons/other/delete.svg" inject-svg></button>

View File

@ -1,5 +1,17 @@
<html>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const theme = urlParams.get('theme');
if (theme != undefined) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("PUT", "/resources/theme/" + theme);
xmlHttp.send("");
console.log("Setting theme to " + theme)
}
</script>
<head>
<title>Olympus client</title>
<link rel="stylesheet" type="text/css" href="stylesheets/olympus.css" />

View File

@ -112,7 +112,6 @@
<div id="delete-options" class="ol-select">
<div class="ol-select-value ol-select-warning">
Delete unit
<img src="/resources/theme/images/icons/chevron-down.svg" inject-svg />
</div>
<div class="ol-select-options">
<div><button class="ol-button-white" data-on-click="deleteSelectedUnits" title="Immediately remove the unit from the simulation"><img src="/resources/theme/images/icons/trash-can-regular.svg" inject-svg>Delete</button></div>

24
package-lock.json generated Normal file
View File

@ -0,0 +1,24 @@
{
"name": "DCSOlympus",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"uuid": "^9.0.1"
}
},
"node_modules/uuid": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"bin": {
"uuid": "dist/bin/uuid"
}
}
}
}

5
package.json Normal file
View File

@ -0,0 +1,5 @@
{
"dependencies": {
"uuid": "^9.0.1"
}
}