diff --git a/client/demo.js b/client/demo.js
index 3550e864..2a3360b0 100644
--- a/client/demo.js
+++ b/client/demo.js
@@ -399,6 +399,17 @@ class DemoDataGenerator {
startTime: 0
}
+ ret.mission.coalitions = {
+ red: [
+ 'Russia',
+ 'China'
+ ],
+ blue: [
+ 'United States',
+ 'Great Britain'
+ ]
+ }
+
ret.mission.commandModeOptions = {
restrictSpawns: false,
restrictToCoalition: true,
diff --git a/client/public/databases/aircraftdatabase.json b/client/public/databases/aircraftdatabase.json
new file mode 100644
index 00000000..a6db3432
--- /dev/null
+++ b/client/public/databases/aircraftdatabase.json
@@ -0,0 +1,3847 @@
+{
+ "A-10C_2": {
+ "name": "A-10C_2",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "A-10C Warthog",
+ "shortLabel": "10",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mk-84",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "Mk-82",
+ "quantity": 6
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "Mk-82*6,Mk-84*2,AIM-9*2,ECM",
+ "name": "Heavy / Mk-84 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-65D",
+ "quantity": 4
+ },
+ {
+ "name": "CBU-97",
+ "quantity": 4
+ },
+ {
+ "name": "TGP",
+ "quantity": 1
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AGM-65D*4, CBU-97*4,TGP, ECM, AIM-9*2",
+ "name": "Heavy / AGM-65D / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GBU-12",
+ "quantity": 6
+ },
+ {
+ "name": "GBU-10",
+ "quantity": 2
+ },
+ {
+ "name": "TGP",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "GBU-12*6,GBU-10*2,TGP, AIM-9*2",
+ "name": "Heavy / GBU-12 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "a-10.png"
+ },
+ "A-20G": {
+ "name": "A-20G",
+ "coalition": "",
+ "label": "A-20G Havoc",
+ "era": "WW2",
+ "shortLabel": "A20",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "12.7mm M2 HMG",
+ "quantity": 6
+ },
+ {
+ "name": "500lb Bomb LD",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "500 lb GP bomb LD*4",
+ "name": "Medium / Bombs / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "a-20.png"
+ },
+ "A-50": {
+ "name": "A-50",
+ "coalition": "red",
+ "label": "A-50 Mainstay",
+ "era": "Late Cold War",
+ "shortLabel": "A50",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "AWACS"
+ ],
+ "code": "",
+ "name": "Default AWACS"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "a-50.png"
+ },
+ "AJS37": {
+ "name": "AJS37",
+ "coalition": "blue",
+ "label": "AJS37 Viggen",
+ "era": "Mid Cold War",
+ "shortLabel": "37",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "BK90",
+ "quantity": 2
+ },
+ {
+ "name": "RB-74",
+ "quantity": 2
+ },
+ {
+ "name": "XT",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Strike: BK90 (MJ1)*2, RB-74*2, XT",
+ "name": "Heavy / BK90 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "ARAK M70 HE",
+ "quantity": 4
+ },
+ {
+ "name": "XT",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "CAS: ARAK M70 HE*4, XT",
+ "name": "Heavy / ARAK M79 HE / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "RB05",
+ "quantity": 2
+ },
+ {
+ "name": "RB74",
+ "quantity": 2
+ },
+ {
+ "name": "XT",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "Anti-ship (RB05): RB-05A*2, RB-74*2, XT",
+ "name": "Heavy / RB05 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "viggen.png"
+ },
+ "AV8BNA": {
+ "name": "AV8BNA",
+ "coalition": "blue",
+ "label": "AV8BNA Harrier",
+ "era": "Late Cold War",
+ "shortLabel": "8",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GBU-38",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 1
+ },
+ {
+ "name": "AGM-122 Sidearm",
+ "quantity": 1
+ },
+ {
+ "name": "Fuel 300",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "H-M-H 3",
+ "name": "Heavy / GBU-38 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-65F",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GAU-12",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "Anti Armor",
+ "name": "Heavy / AGM-65F / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "av8bna.png"
+ },
+ "An-26B": {
+ "name": "An-26B",
+ "coalition": "red",
+ "label": "An-26B Curl",
+ "era": "Mid Cold War",
+ "shortLabel": "26",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Default Transport"
+ }
+ ],
+ "filename": "an-26.png"
+ },
+ "An-30M": {
+ "name": "An-30M",
+ "coalition": "red",
+ "label": "An-30M Clank",
+ "era": "Mid Cold War",
+ "shortLabel": "30",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Reconnaissance"
+ ],
+ "code": "",
+ "name": "Default Reconnaissance"
+ }
+ ],
+ "filename": "a-50.png"
+ },
+ "B-1B": {
+ "name": "B-1B",
+ "coalition": "blue",
+ "label": "B-1B Lancer",
+ "era": "Late Cold War",
+ "shortLabel": "1",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mk-84",
+ "quantity": 24
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-84*24",
+ "name": "Heavy / Mk-84 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "b-1.png"
+ },
+ "B-52H": {
+ "name": "B-52H",
+ "coalition": "blue",
+ "label": "B-52H Stratofortress",
+ "era": "Early Cold War",
+ "shortLabel": "52",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mk-84",
+ "quantity": 18
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-84*18",
+ "name": "Heavy / Mk-84 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "b-52.png"
+ },
+ "Bf-109K-4": {
+ "name": "Bf-109K-4",
+ "coalition": "",
+ "label": "Bf-109K-4 Fritz",
+ "era": "WW2",
+ "shortLabel": "109",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "30mm MK108 Gun",
+ "quantity": 1
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ },
+ {
+ "name": "SC500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "500 lb GP bomb LD*4",
+ "name": "Medium / Bombs / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "30mm MK108 Gun",
+ "quantity": 1
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "bf109.png"
+ },
+ "C-101CC": {
+ "name": "C-101CC",
+ "coalition": "blue",
+ "label": "C-101CC",
+ "era": "Late Cold War",
+ "shortLabel": "101",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "DEFA 553 CANNON (I)",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*AIM-9M, DEFA 553 CANNON (I)",
+ "name": "Light / Fox 2 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "BELOUGA",
+ "quantity": 2
+ },
+ {
+ "name": "BIN-200",
+ "quantity": 2
+ },
+ {
+ "name": "AN-M3 CANNON",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*AIM-9M ,2*BELOUGA,2*BIN-200, AN-M3 CANNON",
+ "name": "Heavy / BELOUGA, BIN-200 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "c-101.png"
+ },
+ "C-130": {
+ "name": "C-130",
+ "coalition": "blue",
+ "label": "C-130 Hercules",
+ "era": "Early Cold War",
+ "shortLabel": "130",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "C-130",
+ "name": "Default Transport"
+ }
+ ],
+ "filename": "c-130.png"
+ },
+ "C-17A": {
+ "name": "C-17A",
+ "coalition": "blue",
+ "label": "C-17A Globemaster",
+ "era": "Modern",
+ "shortLabel": "C17",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Default Transport"
+ }
+ ],
+ "filename": "c-17.png"
+ },
+ "E-2C": {
+ "name": "E-2C",
+ "coalition": "blue",
+ "label": "E-2C Hawkeye",
+ "era": "Mid Cold War",
+ "shortLabel": "2C",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "AWACS"
+ ],
+ "code": "",
+ "name": "Blue Navy AWACS"
+ }
+ ],
+ "filename": "e-2.png"
+ },
+ "E-3A": {
+ "name": "E-3A",
+ "coalition": "blue",
+ "label": "E-3A Sentry",
+ "era": "Mid Cold War",
+ "shortLabel": "E3",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "AWACS"
+ ],
+ "code": "",
+ "name": "Blue Air Force AWACS"
+ }
+ ],
+ "filename": "e-3.png"
+ },
+ "F-117A": {
+ "name": "F-117A",
+ "coalition": "blue",
+ "label": "F-117A Nighthawk",
+ "era": "Late Cold War",
+ "shortLabel": "117",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GBU-10",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "GBU-10*2",
+ "name": "Heavy / GBU-10 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-117.png"
+ },
+ "F-14A-135-GR": {
+ "name": "F-14A-135-GR",
+ "coalition": "blue",
+ "label": "F-14A-135-GR Tomcat",
+ "era": "Mid Cold War",
+ "shortLabel": "14A",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-54A",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7F",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9L",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-54A-MK47*2, AIM-7F*1, AIM-9L*4, XT*2",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7F",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9L",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-7F*4, AIM-9L*4, XT*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 2
+ },
+ {
+ "name": "LANTIRN",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-7M*1, AIM-9M*2, XT*2, GBU-12*2, LANTIRN",
+ "name": "Heavy / Fox 3, GBU-12 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-14.png"
+ },
+ "F-14B": {
+ "name": "F-14B",
+ "coalition": "blue",
+ "label": "F-14B Tomcat",
+ "era": "Late Cold War",
+ "shortLabel": "14B",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-54C",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-54C-MK47*2, AIM-7M*3, AIM-9M*2, XT*2",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 6
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-7M*6, AIM-9M*2, XT*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 2
+ },
+ {
+ "name": "LANTIRN",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-7M*1, AIM-9M*2, XT*2, GBU-12*2, LANTIRN",
+ "name": "Heavy / Fox 3, GBU-12 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-14.png"
+ },
+ "F-15C": {
+ "name": "F-15C",
+ "coalition": "blue",
+ "label": "F-15C Eagle",
+ "era": "Late Cold War",
+ "shortLabel": "15",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-120B",
+ "quantity": 6
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9*2,AIM-120*6,Fuel*3",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-7",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9*4,AIM-7*4,Fuel",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-15.png"
+ },
+ "F-15E": {
+ "name": "F-15E",
+ "coalition": "blue",
+ "label": "F-15E Strike Eagle",
+ "era": "Late Cold War",
+ "shortLabel": "15",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-120B",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "Mk-84",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AIM-120B*2,AIM-9M*2,FUEL*3,Mk-84*8",
+ "name": "Heavy / Fox 3, Mk-84 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-120B",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 4
+ },
+ {
+ "name": "GBU-38",
+ "quantity": 4
+ },
+ {
+ "name": "AGM-154C",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-120B*2,AIM-9M*2,FUEL,GBU-12*4,GBU-38*4,AGM-154C*2",
+ "name": "Heavy / Fox 3, GBU-12, GBU-38, AGM-154C / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-15.png"
+ },
+ "F-16C_50": {
+ "name": "F-16C_50",
+ "coalition": "blue",
+ "label": "F-16C Viper",
+ "era": "Late Cold War",
+ "shortLabel": "16",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-120C",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-120C*2, AIM-9X*4, FUEL*2",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-120C",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "TGP",
+ "quantity": 1
+ },
+ {
+ "name": "AGM-65D",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AIM-120C*2, AIM-9X*2, AGM-65D*4, FUEL*2, ECM, TGP",
+ "name": "Heavy / Fox 3, AGM-65D / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-120C",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "TGP",
+ "quantity": 1
+ },
+ {
+ "name": "GBU-10",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-120C*2, AIM-9X*2, GBU-10*2, FUEL*2, ECM, TGP",
+ "name": "Heavy / Fox 3, GBU-10 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-16c.png"
+ },
+ "F-4E": {
+ "name": "F-4E",
+ "coalition": "blue",
+ "label": "F-4E Phantom II",
+ "era": "Mid Cold War",
+ "shortLabel": "4",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9*4,AIM-7*4,Fuel*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 2
+ },
+ {
+ "name": "Mk-82",
+ "quantity": 18
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-82*18,AIM-7*2,ECM",
+ "name": "Heavy / Fox 1, Mk-82 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 2
+ },
+ {
+ "name": "AGM-65K",
+ "quantity": 4
+ },
+ {
+ "name": "Fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AGM-65K*4,AIM-7*2,Fuel*2,ECM",
+ "name": "Heavy / Fox 1, AGM-65K / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-4.png"
+ },
+ "F-5E-3": {
+ "name": "F-5E-3",
+ "coalition": "blue",
+ "label": "F-5E Tiger",
+ "era": "Mid Cold War",
+ "shortLabel": "5",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel 275",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-9P5",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9P5*2, Fuel 275*3",
+ "name": "Heavy / Fox 2 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mk-82",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9P5",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel 275",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-82LD*4,AIM-9P*2,Fuel 275",
+ "name": "Heavy / Fox 2 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "liveryID": ["ir iriaf 43rd tfs"],
+ "filename": "f-5.png"
+ },
+ "F-86F Sabre": {
+ "name": "F-86F Sabre",
+ "coalition": "blue",
+ "label": "F-86F Sabre",
+ "era": "Early Cold War",
+ "shortLabel": "86",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "120gal Fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "120gal Fuel*2",
+ "name": "Light / Guns / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "HVAR",
+ "quantity": 16
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "HVAR*16",
+ "name": "Light / HVAR / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AN-M64",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AN-M64*2",
+ "name": "Light / AN-M64 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "f-5.png"
+ },
+ "FA-18C_hornet": {
+ "name": "FA-18C_hornet",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "F/A-18C",
+ "shortLabel": "18",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-120C-5",
+ "quantity": 6
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9X*2, AIM-120C-5*6, FUEL*3",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9M*2, AIM-7M*4, FUEL*3",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-120C-5",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 2
+ },
+ {
+ "name": "AGM-88C",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "SEAD"
+ ],
+ "code": "AIM-9X*2, AIM-120C-5*2, AGM-88C*2, FUEL",
+ "name": "Heavy / Fox 3, AGM-88C / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-120C-5",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "AGM-84D",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "AIM-9M*2, AIM-120C-5*1, AGM-84D*4, ATFLIR, FUEL",
+ "name": "Heavy / Fox 3, AGM-84D / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-120C-5",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9X",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 4
+ },
+ {
+ "name": "GBU-38",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-9X*2, AIM-120C-5*1, GBU-38*4, GBU-12*4, ATFLIR, FUEL",
+ "name": "Heavy / Fox 3, GBU-12, GBU-38 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "fa-18c.png"
+ },
+ "FW-190A8": {
+ "name": "FW-190A8",
+ "coalition": "",
+ "label": "FW-190A8 Bosch",
+ "era": "WW2",
+ "shortLabel": "190A8",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm MG151 Gun",
+ "quantity": 4
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ },
+ {
+ "name": "SD500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "SD 500 A",
+ "name": "Medium / Bombs / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm MG151 Gun",
+ "quantity": 4
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "fw190.png"
+ },
+ "FW-190D9": {
+ "name": "FW-190D9",
+ "coalition": "",
+ "label": "FW-190D9 Jerry",
+ "era": "WW2",
+ "shortLabel": "190D9",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm MG151 Gun",
+ "quantity": 4
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ },
+ {
+ "name": "SC500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "SD 500 A",
+ "name": "Medium / Bombs / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm MG151 Gun",
+ "quantity": 4
+ },
+ {
+ "name": "13mm MG131 Gun",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "fw190.png"
+ },
+ "H-6J": {
+ "name": "H-6J",
+ "coalition": "red",
+ "label": "H-6J Badger",
+ "era": "Mid Cold War",
+ "shortLabel": "H6",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "250-3 LD Bomb",
+ "quantity": 36
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "250-3 LD Bomb x 36",
+ "name": "Heavy / Bombs / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "KD-20",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "KD-20 x 4",
+ "name": "Heavy / KD-20 / Long Range"
+ }
+ ],
+ "filename": "h-6.png"
+ },
+ "I-16": {
+ "name": "I-16",
+ "coalition": "",
+ "label": "I-16",
+ "era": "WW2",
+ "shortLabel": "I16",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "i-16.png"
+ },
+ "IL-76MD": {
+ "name": "IL-76MD",
+ "coalition": "red",
+ "label": "IL-76MD Candid",
+ "era": "Mid Cold War",
+ "shortLabel": "76",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Default Transport"
+ }
+ ],
+ "filename": "il-76.png"
+ },
+ "IL-78M": {
+ "name": "IL-78M",
+ "coalition": "red",
+ "label": "IL-78M Midas",
+ "era": "Late Cold War",
+ "shortLabel": "78",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Tanker"
+ ],
+ "code": "",
+ "name": "Default Tanker"
+ }
+ ],
+ "filename": "il-76.png"
+ },
+ "J-11A": {
+ "name": "J-11A",
+ "coalition": "red",
+ "label": "J-11A Flaming Dragon",
+ "era": "Modern",
+ "shortLabel": "11",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-500",
+ "quantity": 8
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500x8,R-73x2,ECM",
+ "name": "Heavy / Fox 2 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-77",
+ "quantity": 2
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-77x2, R-73x2",
+ "name": "Light / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-27ERx2, R-73x2",
+ "name": "Light / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-27.png"
+ },
+ "JF-17": {
+ "name": "JF-17",
+ "coalition": "red",
+ "label": "JF-17 Thunder",
+ "era": "Modern",
+ "shortLabel": "17",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "PL-5E2",
+ "quantity": 2
+ },
+ {
+ "name": "C802AK",
+ "quantity": 2
+ },
+ {
+ "name": "800L Tank",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "PL-5Ex2, C802AKx2, 800L Tank",
+ "name": "Heavy / C802AK ASM / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "PL-5E2",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 2
+ },
+ {
+ "name": "800L Tank",
+ "quantity": 1
+ },
+ {
+ "name": "WMD7",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "PL-5Ex2, 2*GBU-12x2, 800L Tank, WMD7",
+ "name": "Heavy / C802AK ASM / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "PL-5E2",
+ "quantity": 2
+ },
+ {
+ "name": "SD-10",
+ "quantity": 2
+ },
+ {
+ "name": "1100L Tank",
+ "quantity": 2
+ },
+ {
+ "name": "WMD7",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "PL-5Ex2, SD-10x2, 1100L Tankx2, WMD7",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "jf-17.png"
+ },
+ "KC-135": {
+ "name": "KC-135",
+ "coalition": "blue",
+ "label": "KC-135 Stratotanker",
+ "era": "Early Cold War",
+ "shortLabel": "135",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Tanker"
+ ],
+ "code": "",
+ "name": "Default Tanker"
+ }
+ ],
+ "filename": "kc-135.png"
+ },
+ "KC135MPRS": {
+ "name": "KC135MPRS",
+ "coalition": "blue",
+ "label": "KC-135 MPRS Stratotanker",
+ "era": "Early Cold War",
+ "shortLabel": "135M",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Tanker"
+ ],
+ "code": "",
+ "name": "Default Tanker"
+ }
+ ],
+ "filename": "kc-135.png"
+ },
+ "L-39ZA": {
+ "name": "L-39ZA",
+ "coalition": "red",
+ "label": "L-39ZA",
+ "era": "Mid Cold War",
+ "shortLabel": "39",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-5KO",
+ "quantity": 32
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "S-5KOx32",
+ "name": "Heavy / S-5KO / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-100",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-100x4",
+ "name": "Heavy / FAB-100 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-60Mx2",
+ "name": "Light / Fox 2 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "l-39.png"
+ },
+ "M-2000C": {
+ "name": "M-2000C",
+ "coalition": "blue",
+ "label": "M-2000C Mirage",
+ "era": "Late Cold War",
+ "shortLabel": "M2KC",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Matra Magic II",
+ "quantity": 2
+ },
+ {
+ "name": "Super 530D",
+ "quantity": 2
+ },
+ {
+ "name": "Eclair",
+ "quantity": 1
+ },
+ {
+ "name": "fuel",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Fox / S530D / Magic / Eclair",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Matra Magic II",
+ "quantity": 2
+ },
+ {
+ "name": "Mk82",
+ "quantity": 4
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Kilo / 4xMk-82 / Magic",
+ "name": "Heavy / Mk 82 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Matra Magic II",
+ "quantity": 2
+ },
+ {
+ "name": "BAP-100",
+ "quantity": 18
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Runway Strike"
+ ],
+ "code": "Bravo / BAP-100 / Magic",
+ "name": "Heavy / BAP-100 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "m2000.png"
+ },
+ "MB-339A": {
+ "name": "MB-339A",
+ "coalition": "blue",
+ "label": "MB-339A",
+ "era": "Mid Cold War",
+ "shortLabel": "339A",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "320L TipTanks",
+ "quantity": 2
+ },
+ {
+ "name": "DEFA 553 GunPods",
+ "quantity": 2
+ },
+ {
+ "name": "Mk83",
+ "quantity": 2
+ },
+ {
+ "name": "Mk81",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "A - 2*320L TipTanks + 2*DEFA-553 GunPods + 2*Mk.83 + 2*Mk.81 ",
+ "name": "Heavy / Mk81, Mk83 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "320L TipTanks",
+ "quantity": 2
+ },
+ {
+ "name": "DEFA GunPods",
+ "quantity": 2
+ },
+ {
+ "name": "LAU-10(Zuni Rockets)",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AA - 2*320L TipTanks + 2*DEFA-553 GunPods + 2*LAU-10(Zuni Rockets) [ARMADA]",
+ "name": "Heavy / Mk 82 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "c-101.png"
+ },
+ "MQ-9 Reaper": {
+ "name": "MQ-9 Reaper",
+ "coalition": "blue",
+ "label": "MQ-9 Reaper",
+ "era": "Modern",
+ "shortLabel": "9",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-114K",
+ "quantity": 12
+ }
+ ],
+ "roles": [
+ "Drone"
+ ],
+ "code": "AGM-114K*12",
+ "name": "Default Drone"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "i-16.png"
+ },
+ "MiG-15bis": {
+ "name": "MiG-15bis",
+ "coalition": "red",
+ "label": "MiG-15 Fagot",
+ "era": "Early Cold War",
+ "shortLabel": "M15",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "300L Fuel Tanks",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*300L",
+ "name": "Medium / Guns / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-100M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*FAB-100M",
+ "name": "Medium / FAB-100M / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "mig-15.png"
+ },
+ "MiG-19P": {
+ "name": "MiG-19P",
+ "coalition": "red",
+ "label": "MiG-19 Farmer",
+ "era": "Early Cold War",
+ "shortLabel": "19",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "K-13A Atoll",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "K-13A x 2",
+ "name": "Light / Fox-2 / Short range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "K-13A Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "167 gal tanks",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "K-13A x 2, PTB-760 x 2",
+ "name": "Medium / Fox-2 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-250",
+ "quantity": 2
+ },
+ {
+ "name": "ORO-57K",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-250 x 2, ORO-57K x 2",
+ "name": "Medium / FAB250, ORO57K / Short range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short range"
+ }
+ ],
+ "filename": "mig-19.png"
+ },
+ "MiG-21Bis": {
+ "name": "MiG-21Bis",
+ "coalition": "red",
+ "label": "MiG-21 Fishbed",
+ "era": "Mid Cold War",
+ "shortLabel": "21",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3 Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "R-60 Aphid",
+ "quantity": 2
+ },
+ {
+ "name": "130 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, short range",
+ "name": "Light / Fox-2 / Short range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3 Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "R-60 Aphid",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, medium range",
+ "name": "Medium / Fox-2 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3R Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, R-3R Only",
+ "name": "Medium / Fox-1 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GROM",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-250",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Few big targets, GROM + BOMBS",
+ "name": "Heavy / GROM, FAB250 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-21.png"
+ },
+ "MiG-23MLD": {
+ "name": "MiG-23MLD",
+ "coalition": "red",
+ "label": "MiG-23 Flogger",
+ "era": "Mid Cold War",
+ "shortLabel": "23",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel-800",
+ "quantity": 1
+ },
+ {
+ "name": "R-60M",
+ "quantity": 4
+ },
+ {
+ "name": "R-24R",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-24R*2,R-60M*4,Fuel-800",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel-800",
+ "quantity": 1
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 2
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500*2,R-60M*2,Fuel-800",
+ "name": "Heavy / FAB-500 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-23.png"
+ },
+ "MiG-25PD": {
+ "name": "MiG-25PD",
+ "coalition": "red",
+ "label": "MiG-25PD Foxbat",
+ "era": "Mid Cold War",
+ "shortLabel": "25",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-40R",
+ "quantity": 2
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-40R*2,R-60M*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-25.png"
+ },
+ "MiG-25RBT": {
+ "name": "MiG-25RBT",
+ "coalition": "red",
+ "label": "MiG-25RBT Foxbat",
+ "era": "Mid Cold War",
+ "shortLabel": "25",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Reconnaissance"
+ ],
+ "code": "R-60M*2",
+ "name": "Heavy / Fox 2 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-500",
+ "quantity": 2
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500x2_60x2",
+ "name": "Heavy / FAB-500 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-25.png"
+ },
+ "MiG-27K": {
+ "name": "MiG-27K",
+ "coalition": "red",
+ "label": "MiG-27K Flogger-D",
+ "era": "Mid Cold War",
+ "shortLabel": "27",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "B-8",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "B-8*4",
+ "name": "Heavy / B-8 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-29L",
+ "quantity": 2
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Kh-29L*2,R-60M*2,Fuel",
+ "name": "Heavy / Fox 2, Kh-29L / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-250",
+ "quantity": 6
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-250*6,R-60M*2,Fuel",
+ "name": "Heavy / Fox 2, FAB250 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-23.png"
+ },
+ "MiG-29A": {
+ "name": "MiG-29A",
+ "coalition": "red",
+ "label": "MiG-29A Fulcrum",
+ "era": "Late Cold War",
+ "shortLabel": "29A",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 4
+ },
+ {
+ "name": "R-27R",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27R*2,Fuel-1500",
+ "name": "Heavy / Fox 1, HOBS Fox 2 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 4
+ },
+ {
+ "name": "R-27R",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-60M*4,R-27R*2,Fuel-1500",
+ "name": "Heavy / Fox 1 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 4
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500*4,R-73*2,Fuel",
+ "name": "Heavy / Fox 2, FAB500 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-29.png"
+ },
+ "MiG-29S": {
+ "name": "MiG-29S",
+ "coalition": "red",
+ "label": "MiG-29S Fulcrum",
+ "era": "Late Cold War",
+ "shortLabel": "29",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 4
+ },
+ {
+ "name": "R-27R",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27R*2,Fuel-1500",
+ "name": "Heavy / Fox 1 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 4
+ },
+ {
+ "name": "R-27R",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-60M*4,R-27R*2",
+ "name": "Heavy / Fox 1 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "S-24",
+ "quantity": 4
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "S-24*4,R-73*2,Fuel",
+ "name": "Heavy / Fox 2, S-24 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 4
+ },
+ {
+ "name": "Fuel-1500",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500*4,R-73*2,Fuel",
+ "name": "Heavy / Fox 2, FAB500 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-29.png"
+ },
+ "MiG-31": {
+ "name": "MiG-31",
+ "coalition": "red",
+ "label": "MiG-31 Foxhound",
+ "era": "Late Cold War",
+ "shortLabel": "31",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-33",
+ "quantity": 4
+ },
+ {
+ "name": "R-40T",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-40T*2,R-33*4",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-23.png"
+ },
+ "Mirage-F1EE": {
+ "name": "Mirage-F1EE",
+ "coalition": "blue",
+ "label": "Mirage-F1EE",
+ "era": "Mid Cold War",
+ "shortLabel": "F1EE",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "R530EM",
+ "quantity": 2
+ },
+ {
+ "name": "1137L Fuel Tank",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*AIM9-JULI, 2*R530EM, 1*Fuel Tank",
+ "name": "Medium / Fox 1 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "SAMP 400 LD",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*AIM-9JULI, 8*SAMP 400 LD",
+ "name": "Heavy / SAMP400 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-5.png"
+ },
+ "MosquitoFBMkVI": {
+ "name": "MosquitoFBMkVI",
+ "coalition": "",
+ "label": "Mosquito FB MkVI",
+ "era": "WW2",
+ "shortLabel": "Mosquito",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm Hispano Gun",
+ "quantity": 4
+ },
+ {
+ "name": "7.7mm MG",
+ "quantity": 4
+ },
+ {
+ "name": "500 lb GP Mk.V",
+ "quantity": 2
+ },
+ {
+ "name": "500 lb GP Short tail",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "500 lb GP Mk.V*2, 500 lb GP Short tail*2",
+ "name": "Medium / Bombs / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm Hispano Gun",
+ "quantity": 4
+ },
+ {
+ "name": "7.7mm MG",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Medium Range"
+ }
+ ],
+ "filename": "mosquito.png"
+ },
+ "P-47D-40": {
+ "name": "P-47D-40",
+ "coalition": "",
+ "label": "P-47D Thunderbolt",
+ "era": "WW2",
+ "shortLabel": "P47",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "12.7mm HMG",
+ "quantity": 8
+ },
+ {
+ "name": "AN-M65",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AN-M65*2",
+ "name": "Medium / Bombs / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "12.7mm HMG",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Medium Range"
+ }
+ ],
+ "filename": "p-47.png"
+ },
+ "P-51D-30-NA": {
+ "name": "P-51D-30-NA",
+ "coalition": "",
+ "label": "P-51D Mustang",
+ "era": "WW2",
+ "shortLabel": "P51",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "12.7mm HMG",
+ "quantity": 6
+ },
+ {
+ "name": "HVAR",
+ "quantity": 10
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "HVAR*10",
+ "name": "Medium / Rockets / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "12.7mm HMG",
+ "quantity": 6
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Medium Range"
+ }
+ ],
+ "filename": "p-51.png"
+ },
+ "S-3B Tanker": {
+ "name": "S-3B Tanker",
+ "coalition": "blue",
+ "label": "S-3B Tanker",
+ "era": "Early Cold War",
+ "shortLabel": "S3B",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Tanker"
+ ],
+ "code": "",
+ "name": "Default Tanker"
+ }
+ ],
+ "filename": "s-3.png"
+ },
+ "Su-17M4": {
+ "name": "Su-17M4",
+ "coalition": "red",
+ "label": "Su-17M4 Fitter",
+ "era": "Mid Cold War",
+ "shortLabel": "17M4",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "B-8",
+ "quantity": 4
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "B-8*4,R-60M*2,Fuel*2",
+ "name": "Heavy / B-8 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-17.png"
+ },
+ "Su-24M": {
+ "name": "Su-24M",
+ "coalition": "red",
+ "label": "Su-24M Fencer",
+ "era": "Mid Cold War",
+ "shortLabel": "24",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-1500",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-1500*2,R-60M*2",
+ "name": "Heavy / FAB-500 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-24.png"
+ },
+ "Su-25": {
+ "name": "Su-25",
+ "coalition": "red",
+ "label": "Su-25A Frogfoot",
+ "era": "Late Cold War",
+ "shortLabel": "S25",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "UB-13",
+ "quantity": 6
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "UB-13*6,R-60M*2,Fuel*2",
+ "name": "Heavy / Rockets / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "B-8MI",
+ "quantity": 2
+ },
+ {
+ "name": "RBK-500",
+ "quantity": 2
+ },
+ {
+ "name": "Kh-25ML",
+ "quantity": 2
+ },
+ {
+ "name": "2-25L",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2-25L*2, KH-25ML*2, RBK-500*2, B-8MI*2, R-60M*2",
+ "name": "Heavy / Everything A-G / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-25.png"
+ },
+ "Su-25T": {
+ "name": "Su-25",
+ "coalition": "red",
+ "label": "Su-25T Frogfoot",
+ "era": "Late Cold War",
+ "shortLabel": "S25T",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-29L",
+ "quantity": 2
+ },
+ {
+ "name": "Kh-25ML",
+ "quantity": 4
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "Mercury LLTV Pod",
+ "quantity": 1
+ },
+ {
+ "name": "MPS-410",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "Kh-29L*2,Kh-25ML*4,R-73*2,Mercury LLTV Pod,MPS-410",
+ "name": "Heavy / Everything A-G / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "APU-8 Vikhr-M",
+ "quantity": 2
+ },
+ {
+ "name": "Kh-25ML",
+ "quantity": 2
+ },
+ {
+ "name": "SPPU-22*2",
+ "quantity": 2
+ },
+ {
+ "name": "Mercury LLTV Pod",
+ "quantity": 1
+ },
+ {
+ "name": "MPS-410",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "APU-8 Vikhr-M*2,Kh-25ML,R-73*2,SPPU-22*2,Mercury LLTV Pod,MPS-410",
+ "name": "Heavy / Everything A-G / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-500",
+ "quantity": 6
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500*6,R-60M*2,Fuel*2",
+ "name": "Medium / FAB-500 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-25.png"
+ },
+ "Su-27": {
+ "name": "Su-27",
+ "coalition": "red",
+ "label": "Su-27 Flanker",
+ "era": "Late Cold War",
+ "shortLabel": "27",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27ER*2,ECM",
+ "name": "Light / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ET",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27ER*2,R-27ET*2,ECM",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ET",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27ET*2,ECM",
+ "name": "Heavy / Fox 2 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "S-25",
+ "quantity": 4
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "S-25*4, FAB-500*4, R-73*2, ECM",
+ "name": "Heavy / Fox 2, Bombs, Rockets / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-27.png"
+ },
+ "Su-30": {
+ "name": "Su-30",
+ "coalition": "red",
+ "label": "Su-30 Super Flanker",
+ "era": "Late Cold War",
+ "shortLabel": "30",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-77",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-77*2",
+ "name": "Light / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-77",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-77*2,R-27ER*2,ECM",
+ "name": "Heavy / Fox 3, Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-77",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-1500",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-1500*2,R-73*2,R-77*2,ECM",
+ "name": "Heavy / Fox 3, Bombs / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-34.png"
+ },
+ "Su-33": {
+ "name": "Su-33",
+ "coalition": "red",
+ "label": "Su-33 Navy Flanker",
+ "era": "Late Cold War",
+ "shortLabel": "33",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2, R-27ER*2",
+ "name": "Light / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "R-27ER",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-73*2,R-27ET*2,R-27ER*2,ECM",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-25",
+ "quantity": 4
+ },
+ {
+ "name": "FAB-250",
+ "quantity": 4
+ },
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "S-25*4,FAB-250*4,R-73*2,ECM",
+ "name": "Heavy / Rockets, Bombs / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-34.png"
+ },
+ "Su-34": {
+ "name": "Su-34",
+ "coalition": "red",
+ "label": "Su-34 Hellduck",
+ "era": "Modern",
+ "shortLabel": "34",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-73",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-250",
+ "quantity": 4
+ },
+ {
+ "name": "UB-13",
+ "quantity": 4
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "UB-13*4,FAB-250*4,R-73*2,ECM",
+ "name": "Heavy / Mixed Ground Ordinance / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-34.png"
+ },
+ "Tornado GR4": {
+ "name": "Tornado GR4",
+ "coalition": "blue",
+ "label": "Tornado GR4",
+ "era": "Late Cold War",
+ "shortLabel": "GR4",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "ALARM",
+ "quantity": 4
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "SEAD"
+ ],
+ "code": "ALARM*4, Fuel*2, ECM",
+ "name": "Heavy / ALARM / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-16",
+ "quantity": 2
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "GBU-16*2, AIM-9M*2, Fuel*2, ECM",
+ "name": "Heavy / GBU-16 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "Sea Eagle",
+ "quantity": 2
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "ECM",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "Sea Eagle*2, AIM-9M*2, Fuel*2, ECM",
+ "name": "Heavy / Sea Eagle / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tornado.png"
+ },
+ "Tornado IDS": {
+ "name": "Tornado IDS",
+ "coalition": "blue",
+ "label": "Tornado IDS",
+ "era": "Late Cold War",
+ "shortLabel": "IDS",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "Mk-82",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "Mk-82*4,AIM-9*2,Fuel*2",
+ "name": "Heavy / Mk-84 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tornado.png"
+ },
+ "Tu-142": {
+ "name": "Tu-142",
+ "coalition": "red",
+ "label": "Tu-142 Bear",
+ "era": "Mid Cold War",
+ "shortLabel": "142",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-35",
+ "quantity": 6
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "Kh-35*6",
+ "name": "Heavy / Kh-35 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tu-95.png"
+ },
+ "Tu-160": {
+ "name": "Tu-160",
+ "coalition": "red",
+ "label": "Tu-160 Blackjack",
+ "era": "Late Cold War",
+ "shortLabel": "160",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-65",
+ "quantity": 12
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Kh-65*12",
+ "name": "Heavy / Kh-65 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tu-160.png"
+ },
+ "Tu-22M3": {
+ "name": "Tu-22M3",
+ "coalition": "red",
+ "label": "Tu-22M3 Backfire",
+ "era": "Late Cold War",
+ "shortLabel": "T22",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-22n",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "Kh-22N*2",
+ "name": "Heavy / Kh-22N / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-250",
+ "quantity": 69
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-250*69",
+ "name": "Heavy / Kh-22n / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tu-22.png"
+ },
+ "Tu-95MS": {
+ "name": "Tu-95MS",
+ "coalition": "red",
+ "label": "Tu-95MS Bear",
+ "era": "Mid Cold War",
+ "shortLabel": "95",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Kh-65",
+ "quantity": 6
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "Kh-65*6",
+ "name": "Heavy / Kh-65 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "tu-95.png"
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/groundunitdatabase.json b/client/public/databases/groundunitdatabase.json
new file mode 100644
index 00000000..51362195
--- /dev/null
+++ b/client/public/databases/groundunitdatabase.json
@@ -0,0 +1,1454 @@
+{
+ "1L13 EWR": {
+ "name": "1L13 EWR",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Box Spring",
+ "shortLabel": "1L13 EWR",
+ "filename": "",
+ "type": "Radar"
+ },
+ "2B11 mortar": {
+ "name": "2B11 mortar",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "2B11 mortar",
+ "shortLabel": "2B11 mortar",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "2S6 Tunguska": {
+ "name": "2S6 Tunguska",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-19 Tunguska",
+ "shortLabel": "SA-19",
+ "range": "Short",
+ "filename": "",
+ "type": "AAA/SAM"
+ },
+ "55G6 EWR": {
+ "name": "55G6 EWR",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "Tall Rack",
+ "shortLabel": "55G6 EWR",
+ "filename": "",
+ "type": "Radar"
+ },
+ "5p73 s-125 ln": {
+ "name": "5p73 s-125 ln",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SA-3 Launcher",
+ "shortLabel": "5p73 s-125 ln",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "AAV7": {
+ "name": "AAV7",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "AAV7",
+ "shortLabel": "AAV7",
+ "filename": "",
+ "type": "APC"
+ },
+ "ATMZ-5": {
+ "name": "ATMZ-5",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ATMZ-5",
+ "shortLabel": "ATMZ-5",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "ATZ-10": {
+ "name": "ATZ-10",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ATZ-10",
+ "shortLabel": "ATZ-10",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "BMD-1": {
+ "name": "BMD-1",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "BMD-1",
+ "shortLabel": "BMD-1",
+ "filename": "",
+ "type": "IFV"
+ },
+ "BMP-1": {
+ "name": "BMP-1",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "BMP-1",
+ "shortLabel": "BMP-1",
+ "filename": "",
+ "type": "IFV"
+ },
+ "BMP-2": {
+ "name": "BMP-2",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "BMP-2",
+ "shortLabel": "BMP-2",
+ "filename": "",
+ "type": "IFV"
+ },
+ "BMP-3": {
+ "name": "BMP-3",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "BMP-3",
+ "shortLabel": "BMP-3",
+ "filename": "",
+ "type": "IFV"
+ },
+ "BRDM-2": {
+ "name": "BRDM-2",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "BRDM-2",
+ "shortLabel": "BRDM-2",
+ "filename": "",
+ "type": "Reconnaissance"
+ },
+ "BTR-80": {
+ "name": "BTR-80",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "BTR-80",
+ "shortLabel": "BTR-80",
+ "filename": "",
+ "type": "APC"
+ },
+ "BTR_D": {
+ "name": "BTR_D",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "BTR_D",
+ "shortLabel": "BTR_D",
+ "filename": "",
+ "type": "APC"
+ },
+ "Boman": {
+ "name": "Boman",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Grad Fire Direction Manager",
+ "shortLabel": "Boman",
+ "filename": "",
+ "type": "Reconnaissance"
+ },
+ "Bunker": {
+ "name": "Bunker",
+ "coalition": "",
+ "era": "",
+ "label": "Bunker",
+ "shortLabel": "Bunker",
+ "filename": "",
+ "type": "Static"
+ },
+ "Challenger2": {
+ "name": "Challenger2",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Challenger2",
+ "shortLabel": "Challenger2",
+ "filename": "",
+ "type": "Tank"
+ },
+ "Cobra": {
+ "name": "Cobra",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Otokar Cobra",
+ "shortLabel": "Cobra",
+ "filename": "",
+ "type": "Reconnaissance"
+ },
+ "Dog Ear radar": {
+ "name": "Dog Ear radar",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Dog Ear",
+ "shortLabel": "Dog Ear radar",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "GAZ-3307": {
+ "name": "GAZ-3307",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "GAZ-3307",
+ "shortLabel": "GAZ-3307",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "GAZ-3308": {
+ "name": "GAZ-3308",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "GAZ-3308",
+ "shortLabel": "GAZ-3308",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "GAZ-66": {
+ "name": "GAZ-66",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "GAZ-66",
+ "shortLabel": "GAZ-66",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Gepard": {
+ "name": "Gepard",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Gepard",
+ "shortLabel": "Gepard",
+ "filename": "",
+ "type": "AAA"
+ },
+ "Grad-URAL": {
+ "name": "Grad-URAL",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Grad",
+ "shortLabel": "Grad",
+ "filename": "",
+ "type": "Rocket Artillery"
+ },
+ "HEMTT TFFT": {
+ "name": "HEMTT TFFT",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "HEMTT TFFT",
+ "shortLabel": "HEMTT TFFT",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Hawk SAM Battery": {
+ "name": "Hawk SAM Battery",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Hawk SAM Battery",
+ "shortLabel": "Hawk SAM Battery",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "Hawk cwar": {
+ "name": "Hawk cwar",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Hawk Continous Wave Acquisition Radar",
+ "shortLabel": "Hawk cwar",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Track radar"
+ },
+ "Hawk ln": {
+ "name": "Hawk ln",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Hawk Launcher",
+ "shortLabel": "Hawk ln",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "Hawk pcp": {
+ "name": "Hawk pcp",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Hawk Platoon Command Post",
+ "shortLabel": "Hawk pcp",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "Hawk sr": {
+ "name": "Hawk sr",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Hawk Search radar",
+ "shortLabel": "Hawk sr",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "Hawk tr": {
+ "name": "Hawk tr",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Hawk Track radar",
+ "shortLabel": "Hawk tr",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Track radar"
+ },
+ "Hummer": {
+ "name": "Hummer",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Hummer",
+ "shortLabel": "Hummer",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "IKARUS Bus": {
+ "name": "IKARUS Bus",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "IKARUS Bus",
+ "shortLabel": "IKARUS Bus",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Igla manpad INS": {
+ "name": "Igla manpad INS",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-18 Igla manpad INS",
+ "shortLabel": "Igla manpad INS",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Infantry AK": {
+ "name": "Infantry AK",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Infantry AK",
+ "shortLabel": "Infantry AK",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "KAMAZ Truck": {
+ "name": "KAMAZ Truck",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "KAMAZ Truck",
+ "shortLabel": "KAMAZ Truck",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Kub 1S91 str": {
+ "name": "Kub 1S91 str",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SA-6 Straight flush",
+ "shortLabel": "Kub 1S91 str",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Search/Track radar"
+ },
+ "Kub 2P25 ln": {
+ "name": "Kub 2P25 ln",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-6 Launcher",
+ "shortLabel": "Kub 2P25 ln",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "LAV-25": {
+ "name": "LAV-25",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "LAV-25",
+ "shortLabel": "LAV-25",
+ "filename": "",
+ "type": "IFV"
+ },
+ "LAZ Bus": {
+ "name": "LAZ Bus",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "LAZ Bus",
+ "shortLabel": "LAZ Bus",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Leclerc": {
+ "name": "Leclerc",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Leclerc",
+ "shortLabel": "Leclerc",
+ "filename": "",
+ "type": "Tank"
+ },
+ "Leopard-2": {
+ "name": "Leopard-2",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Leopard-2",
+ "shortLabel": "Leopard-2",
+ "filename": "",
+ "type": "Tank"
+ },
+ "Leopard1A3": {
+ "name": "Leopard1A3",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Leopard1A3",
+ "shortLabel": "Leopard1A3",
+ "filename": "",
+ "type": "Tank"
+ },
+ "M 818": {
+ "name": "M 818",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M 818",
+ "shortLabel": "M 818",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "M-1 Abrams": {
+ "name": "M-1 Abrams",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "M-1 Abrams",
+ "shortLabel": "M-1 Abrams",
+ "filename": "",
+ "type": "Tank"
+ },
+ "M-109": {
+ "name": "M-109",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M-109 Paladin",
+ "shortLabel": "M-109",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "M-113": {
+ "name": "M-113",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M-113",
+ "shortLabel": "M-113",
+ "filename": "",
+ "type": "APC"
+ },
+ "M-2 Bradley": {
+ "name": "M-2 Bradley",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "M-2A2 Bradley",
+ "shortLabel": "M-2 Bradley",
+ "filename": "",
+ "type": "IFV"
+ },
+ "M-60": {
+ "name": "M-60",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M-60",
+ "shortLabel": "M-60",
+ "filename": "",
+ "type": "Tank"
+ },
+ "M1043 HMMWV Armament": {
+ "name": "M1043 HMMWV Armament",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "HMMWV M2 Browning",
+ "shortLabel": "HMMWV M2",
+ "filename": "",
+ "type": "Reconnaissance"
+ },
+ "M1045 HMMWV TOW": {
+ "name": "M1045 HMMWV TOW",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "HMMWV TOW",
+ "shortLabel": "HMMWV TOW",
+ "filename": "",
+ "type": "Reconnaissance"
+ },
+ "M1097 Avenger": {
+ "name": "M1097 Avenger",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "M1097 Avenger",
+ "shortLabel": "M1097 Avenger",
+ "filename": "",
+ "type": "SAM"
+ },
+ "M1126 Stryker ICV": {
+ "name": "M1126 Stryker ICV",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Stryker MG",
+ "shortLabel": "Stryker MG",
+ "filename": "",
+ "type": "APC"
+ },
+ "M1128 Stryker MGS": {
+ "name": "M1128 Stryker MGS",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "M1128 Stryker MGS",
+ "shortLabel": "M1128 Stryker MGS",
+ "filename": "",
+ "type": "SPG"
+ },
+ "M1134 Stryker ATGM": {
+ "name": "M1134 Stryker ATGM",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Stryker ATGM",
+ "shortLabel": "Stryker ATGM",
+ "filename": "",
+ "type": "IFV"
+ },
+ "M48 Chaparral": {
+ "name": "M48 Chaparral",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "M48 Chaparral",
+ "shortLabel": "M48 Chaparral",
+ "filename": "",
+ "type": "SAM"
+ },
+ "M6 Linebacker": {
+ "name": "M6 Linebacker",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "M6 Linebacker",
+ "shortLabel": "M6 Linebacker",
+ "filename": "",
+ "type": "SAM"
+ },
+ "M978 HEMTT Tanker": {
+ "name": "M978 HEMTT Tanker",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "M978 HEMTT Tanker",
+ "shortLabel": "M978 HEMTT Tanker",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "MAZ-6303": {
+ "name": "MAZ-6303",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "MAZ-6303",
+ "shortLabel": "MAZ-6303",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "MCV-80": {
+ "name": "MCV-80",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Warrior IFV",
+ "shortLabel": "Warrior",
+ "filename": "",
+ "type": "IFV"
+ },
+ "MLRS": {
+ "name": "MLRS",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "M270",
+ "shortLabel": "M270",
+ "filename": "",
+ "type": "Rocket Artillery"
+ },
+ "MTLB": {
+ "name": "MTLB",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "MT-LB",
+ "shortLabel": "MT-LB",
+ "filename": "",
+ "type": "APC"
+ },
+ "Marder": {
+ "name": "Marder",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Marder",
+ "shortLabel": "Marder",
+ "filename": "",
+ "type": "IFV"
+ },
+ "Osa 9A33 ln": {
+ "name": "Osa 9A33 ln",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SA-8 Launcher",
+ "shortLabel": "Osa 9A33 ln",
+ "range": "Short",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "Paratrooper AKS-74": {
+ "name": "Paratrooper AKS-74",
+ "coalition": "red",
+ "era": "Modern",
+ "label": "Paratrooper AKS-74",
+ "shortLabel": "Paratrooper AKS-74",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Paratrooper RPG-16": {
+ "name": "Paratrooper RPG-16",
+ "coalition": "red",
+ "era": "Modern",
+ "label": "Paratrooper RPG-16",
+ "shortLabel": "Paratrooper RPG-16",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Patriot AMG": {
+ "name": "Patriot AMG",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Patriot Antenna Mast Group",
+ "shortLabel": "Patriot AMG",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "Patriot ECS": {
+ "name": "Patriot ECS",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "Patriot Engagement Control Station",
+ "shortLabel": "Patriot ECS",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "Patriot EPP": {
+ "name": "Patriot EPP",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Patriot Electric Power Plant",
+ "shortLabel": "Patriot EPP",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "Patriot cp": {
+ "name": "Patriot cp",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Patriot Command Post",
+ "shortLabel": "Patriot cp",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "Patriot ln": {
+ "name": "Patriot ln",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Patriot Launcher",
+ "shortLabel": "Patriot ln",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "Patriot site": {
+ "name": "Patriot site",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Patriot site",
+ "shortLabel": "Patriot site",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "Patriot str": {
+ "name": "Patriot str",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Patriot Search/Track radar",
+ "shortLabel": "Patriot str",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Search/Track radar"
+ },
+ "Predator GCS": {
+ "name": "Predator GCS",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Predator GCS",
+ "shortLabel": "Predator GCS",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Predator TrojanSpirit": {
+ "name": "Predator TrojanSpirit",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Predator TrojanSpirit",
+ "shortLabel": "Predator TrojanSpirit",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "RLS_19J6": {
+ "name": "RLS_19J6",
+ "coalition": "Red",
+ "era": "Mid Cold War",
+ "label": "SA-5 Thin Shield",
+ "shortLabel": "RLS 19J6",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "RPC_5N62V": {
+ "name": "RPC_5N62V",
+ "coalition": "Red",
+ "era": "Mid Cold War",
+ "label": "SA-5 Square Pair",
+ "shortLabel": "RPC 5N62V",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Track radar"
+ },
+ "Roland ADS": {
+ "name": "Roland ADS",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Roland ADS",
+ "shortLabel": "Roland ADS",
+ "filename": "",
+ "type": "SAM"
+ },
+ "Roland Radar": {
+ "name": "Roland Radar",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Roland Search radar",
+ "shortLabel": "Roland Radar",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "S-200_Launcher": {
+ "name": "S-200_Launcher",
+ "coalition": "Red",
+ "era": "Mid Cold War",
+ "label": "SA-5 Launcher",
+ "shortLabel": "S-200 Launcher",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "S-300PS 40B6M tr": {
+ "name": "S-300PS 40B6M tr",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Tin Shield",
+ "shortLabel": "S-300PS 40B6M tr",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Track radar"
+ },
+ "S-300PS 40B6MD sr": {
+ "name": "S-300PS 40B6MD sr",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Clam Shell",
+ "shortLabel": "S-300PS 40B6MD sr",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "S-300PS 54K6 cp": {
+ "name": "S-300PS 54K6 cp",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Command Post",
+ "shortLabel": "S-300PS 54K6 cp",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "S-300PS 5P85C ln": {
+ "name": "S-300PS 5P85C ln",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Launcher (5P85C)",
+ "shortLabel": "S-300PS 5P85C ln",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "S-300PS 5P85D ln": {
+ "name": "S-300PS 5P85D ln",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Launcher (5P85D)",
+ "shortLabel": "S-300PS 5P85D ln",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "S-300PS 64H6E sr": {
+ "name": "S-300PS 64H6E sr",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 Big Bird",
+ "shortLabel": "S-300PS 64H6E sr",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "SA-10 SAM Battery": {
+ "name": "SA-10 SAM Battery",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-10 SAM Battery",
+ "shortLabel": "SA-10 SAM Battery",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-11 Buk CC 9S470M1": {
+ "name": "SA-11 Buk CC 9S470M1",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-11 Command Post",
+ "shortLabel": "SA-11 Buk CC 9S470M1",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Support vehicle"
+ },
+ "SA-11 Buk LN 9A310M1": {
+ "name": "SA-11 Buk LN 9A310M1",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-11 Launcher",
+ "shortLabel": "SA-11 Buk LN 9A310M1",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "SA-11 Buk SR 9S18M1": {
+ "name": "SA-11 Buk SR 9S18M1",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SA-11 Snown Drift",
+ "shortLabel": "SA-11 Buk SR 9S18M1",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "SA-11 SAM Battery": {
+ "name": "SA-11 SAM Battery",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-11 SAM Battery",
+ "shortLabel": "SA-11 SAM Battery",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-18 Igla manpad": {
+ "name": "SA-18 Igla manpad",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-18 Igla manpad",
+ "shortLabel": "SA-18 Igla manpad",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "SA-18 Igla-S manpad": {
+ "name": "SA-18 Igla-S manpad",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-18 Igla-S manpad",
+ "shortLabel": "SA-18 Igla-S manpad",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "SA-2 SAM Battery": {
+ "name": "SA-2 SAM Battery",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SA-2 SAM Battery",
+ "shortLabel": "SA-2 SAM Battery",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-3 SAM Battery": {
+ "name": "SA-3 SAM Battery",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SA-3 SAM Battery",
+ "shortLabel": "SA-3 SAM Battery",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-5 SAM Battery": {
+ "name": "SA-5 SAM Battery",
+ "coalition": "Red",
+ "era": "Mid Cold War",
+ "label": "SA-5 SAM Battery",
+ "shortLabel": "SA-5 SAM Battery",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-6 SAM Battery": {
+ "name": "SA-6 SAM Battery",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SA-6 SAM Battery",
+ "shortLabel": "SA-6 SAM Battery",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Site"
+ },
+ "SA-8 Osa LD 9T217": {
+ "name": "SA-8 Osa LD 9T217",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-8 Osa LD 9T217",
+ "shortLabel": "SA-8 Osa LD 9T217",
+ "range": "Short",
+ "filename": "",
+ "type": "SAM"
+ },
+ "SAU 2-C9": {
+ "name": "SAU 2-C9",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SAU Nona",
+ "shortLabel": "SAU Nona",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "SAU Akatsia": {
+ "name": "SAU Akatsia",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SAU Akatsia",
+ "shortLabel": "SAU Akatsia",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "SAU Gvozdika": {
+ "name": "SAU Gvozdika",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SAU Gvozdika",
+ "shortLabel": "SAU Gvozdika",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "SAU Msta": {
+ "name": "SAU Msta",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SAU Msta",
+ "shortLabel": "SAU Msta",
+ "filename": "",
+ "type": "Gun Artillery"
+ },
+ "SKP-11": {
+ "name": "SKP-11",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SKP-11",
+ "shortLabel": "SKP-11",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "SNR_75V": {
+ "name": "SNR_75V",
+ "coalition": "Red",
+ "era": "Early Cold War",
+ "label": "SA-2 Fan Song",
+ "shortLabel": "SNR 75V",
+ "filename": "",
+ "type": "SAM Track radar"
+ },
+ "S_75M_Volhov": {
+ "name": "S_75M_Volhov",
+ "coalition": "Red",
+ "era": "Early Cold War",
+ "label": "SA-2 Launcher",
+ "shortLabel": "S75M Volhov",
+ "filename": "",
+ "type": "SAM Launcher"
+ },
+ "Sandbox": {
+ "name": "Sandbox",
+ "coalition": "",
+ "era": "",
+ "label": "Sandbox",
+ "shortLabel": "Sandbox",
+ "filename": "",
+ "type": "Static"
+ },
+ "Smerch": {
+ "name": "Smerch",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Smerch",
+ "shortLabel": "Smerch",
+ "filename": "",
+ "type": "Rocket Artillery"
+ },
+ "Soldier AK": {
+ "name": "Soldier AK",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "Soldier AK",
+ "shortLabel": "Soldier AK",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Soldier M249": {
+ "name": "Soldier M249",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Soldier M249",
+ "shortLabel": "Soldier M249",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Soldier M4 GRG": {
+ "name": "Soldier M4 GRG",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Soldier M4 GRG",
+ "shortLabel": "Soldier M4 GRG",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Soldier M4": {
+ "name": "Soldier M4",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Soldier M4",
+ "shortLabel": "Soldier M4",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Soldier RPG": {
+ "name": "Soldier RPG",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Soldier RPG",
+ "shortLabel": "Soldier RPG",
+ "filename": "",
+ "type": "Infantry"
+ },
+ "Stinger comm dsr": {
+ "name": "Stinger comm dsr",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Stinger comm dsr",
+ "shortLabel": "Stinger comm dsr",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Stinger comm": {
+ "name": "Stinger comm",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Stinger comm",
+ "shortLabel": "Stinger comm",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Stinger manpad GRG": {
+ "name": "Stinger manpad GRG",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Stinger manpad GRG",
+ "shortLabel": "Stinger manpad GRG",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Stinger manpad dsr": {
+ "name": "Stinger manpad dsr",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Stinger manpad dsr",
+ "shortLabel": "Stinger manpad dsr",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Stinger manpad": {
+ "name": "Stinger manpad",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Stinger manpad",
+ "shortLabel": "Stinger manpad",
+ "range": "Short",
+ "filename": "",
+ "type": "MANPADS"
+ },
+ "Strela-1 9P31": {
+ "name": "Strela-1 9P31",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-9 Strela-1 9P31",
+ "shortLabel": "Strela-1 9P31",
+ "range": "Short",
+ "filename": "",
+ "type": "SAM"
+ },
+ "Strela-10M3": {
+ "name": "Strela-10M3",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-13 Strela-10M3",
+ "shortLabel": "Strela-10M3",
+ "range": "Short",
+ "filename": "",
+ "type": "SAM"
+ },
+ "Suidae": {
+ "name": "Suidae",
+ "coalition": "",
+ "era": "Modern",
+ "label": "Suidae",
+ "shortLabel": "Suidae",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "T-55": {
+ "name": "T-55",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "T-55",
+ "shortLabel": "T-55",
+ "filename": "",
+ "type": "Tank"
+ },
+ "T-72B": {
+ "name": "T-72B",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "T-72B",
+ "shortLabel": "T-72B",
+ "filename": "",
+ "type": "Tank"
+ },
+ "T-80UD": {
+ "name": "T-80UD",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "T-80UD",
+ "shortLabel": "T-80UD",
+ "filename": "",
+ "type": "Tank"
+ },
+ "T-90": {
+ "name": "T-90",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "T-90",
+ "shortLabel": "T-90",
+ "filename": "",
+ "type": "Tank"
+ },
+ "TPZ": {
+ "name": "TPZ",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "TPz Fuchs",
+ "shortLabel": "TPz Fuchs",
+ "filename": "",
+ "type": "APC"
+ },
+ "Tigr_233036": {
+ "name": "Tigr_233036",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Tigr_233036",
+ "shortLabel": "Tigr_233036",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Tor 9A331": {
+ "name": "Tor 9A331",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "SA-15 Tor 9A331",
+ "shortLabel": "Tor 9A331",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM"
+ },
+ "Trolley bus": {
+ "name": "Trolley bus",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Trolley bus",
+ "shortLabel": "Trolley bus",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "UAZ-469": {
+ "name": "UAZ-469",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "UAZ-469",
+ "shortLabel": "UAZ-469",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Uragan_BM-27": {
+ "name": "Uragan_BM-27",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Uragan",
+ "shortLabel": "Uragan",
+ "filename": "",
+ "type": "Rocket Artillery"
+ },
+ "Ural ATsP-6": {
+ "name": "Ural ATsP-6",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Ural ATsP-6",
+ "shortLabel": "Ural ATsP-6",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Ural-375 PBU": {
+ "name": "Ural-375 PBU",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Ural-375 PBU",
+ "shortLabel": "Ural-375 PBU",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Ural-375 ZU-23 Insurgent": {
+ "name": "Ural-375 ZU-23 Insurgent",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "Ural-375 ZU-23 Insurgent",
+ "shortLabel": "Ural-375 ZU-23 Insurgent",
+ "filename": "",
+ "type": "AAA"
+ },
+ "Ural-375 ZU-23": {
+ "name": "Ural-375 ZU-23",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "Ural-375 ZU-23",
+ "shortLabel": "Ural-375 ZU-23",
+ "filename": "",
+ "type": "AAA"
+ },
+ "Ural-375": {
+ "name": "Ural-375",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Ural-375",
+ "shortLabel": "Ural-375",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Ural-4320 APA-5D": {
+ "name": "Ural-4320 APA-5D",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "Ural-4320 APA-5D",
+ "shortLabel": "Ural-4320 APA-5D",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Ural-4320-31": {
+ "name": "Ural-4320-31",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Ural-4320-31",
+ "shortLabel": "Ural-4320-31",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Ural-4320T": {
+ "name": "Ural-4320T",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Ural-4320T",
+ "shortLabel": "Ural-4320T",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "VAZ Car": {
+ "name": "VAZ Car",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "VAZ Car",
+ "shortLabel": "VAZ Car",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "Vulcan": {
+ "name": "Vulcan",
+ "coalition": "blue",
+ "era": "Late Cold War",
+ "label": "Vulcan",
+ "shortLabel": "Vulcan",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZIL-131 KUNG": {
+ "name": "ZIL-131 KUNG",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZIL-131 KUNG",
+ "shortLabel": "ZIL-131 KUNG",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "ZIL-4331": {
+ "name": "ZIL-4331",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZIL-4331",
+ "shortLabel": "ZIL-4331",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "ZSU-23-4 Shilka": {
+ "name": "ZSU-23-4 Shilka",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "ZSU-23-4 Shilka",
+ "shortLabel": "ZSU-23-4 Shilka",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZU-23 Closed Insurgent": {
+ "name": "ZU-23 Closed Insurgent",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZU-23 Closed Insurgent",
+ "shortLabel": "ZU-23 Closed Insurgent",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZU-23 Emplacement Closed": {
+ "name": "ZU-23 Emplacement Closed",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZU-23 Emplacement Closed",
+ "shortLabel": "ZU-23 Emplacement Closed",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZU-23 Emplacement": {
+ "name": "ZU-23 Emplacement",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZU-23 Emplacement",
+ "shortLabel": "ZU-23 Emplacement",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZU-23 Insurgent": {
+ "name": "ZU-23 Insurgent",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZU-23 Insurgent",
+ "shortLabel": "ZU-23 Insurgent",
+ "filename": "",
+ "type": "AAA"
+ },
+ "ZiL-131 APA-80": {
+ "name": "ZiL-131 APA-80",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "ZiL-131 APA-80",
+ "shortLabel": "ZiL-131 APA-80",
+ "filename": "",
+ "type": "Unarmed"
+ },
+ "house1arm": {
+ "name": "house1arm",
+ "coalition": "",
+ "era": "",
+ "label": "house1arm",
+ "shortLabel": "house1arm",
+ "filename": "",
+ "type": "Structure"
+ },
+ "house2arm": {
+ "name": "house2arm",
+ "coalition": "",
+ "era": "",
+ "label": "house2arm",
+ "shortLabel": "house2arm",
+ "filename": "",
+ "type": "Structure"
+ },
+ "houseA_arm": {
+ "name": "houseA_arm",
+ "coalition": "",
+ "era": "",
+ "label": "houseA_arm",
+ "shortLabel": "houseA_arm",
+ "filename": "",
+ "type": "Structure"
+ },
+ "outpost": {
+ "name": "outpost",
+ "coalition": "",
+ "era": "",
+ "label": "outpost",
+ "shortLabel": "outpost",
+ "filename": "",
+ "type": "Structure"
+ },
+ "outpost_road": {
+ "name": "outpost_road",
+ "coalition": "",
+ "era": "",
+ "label": "outpost_road",
+ "shortLabel": "outpost_road",
+ "filename": "",
+ "type": "Structure"
+ },
+ "p-19 s-125 sr": {
+ "name": "p-19 s-125 sr",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "SA-3 Flat Face B",
+ "shortLabel": "Flat Face B",
+ "filename": "",
+ "type": "SAM Search radar"
+ },
+ "snr s-125 tr": {
+ "name": "snr s-125 tr",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SA-3 Low Blow",
+ "shortLabel": "snr s-125 tr",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Track radar"
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/helicopterdatabase.json b/client/public/databases/helicopterdatabase.json
new file mode 100644
index 00000000..33d832f3
--- /dev/null
+++ b/client/public/databases/helicopterdatabase.json
@@ -0,0 +1,565 @@
+{
+ "AH-1W": {
+ "name": "AH-1W",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "AH-1W Cobra",
+ "shortLabel": "AH1",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "BGM-71 TOW",
+ "quantity": 8
+ },
+ {
+ "name": "Hydra-70 WP",
+ "quantity": 38
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "8xBGM-71, 38xHYDRA-70 WP",
+ "name": "TOW / Hydra"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Hydra-70",
+ "quantity": 76
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "76xHYDRA-70",
+ "name": "Hydra"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "ah-1.png"
+ },
+ "AH-64D_BLK_II": {
+ "name": "AH-64D_BLK_II",
+ "coalition": "blue",
+ "era": "Modern",
+ "label": "AH-64D Apache",
+ "shortLabel": "AH64",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-114k Hellfire",
+ "quantity": 8
+ },
+ {
+ "name": "M151 Rocket Pod",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2 * M261: M151 (6PD), 2 * Hellfire station: 4*AGM-114K",
+ "name": "Gun / ATGM / Rocket"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-114K Hellfire",
+ "quantity": 16
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "4 * Hellfire station: 4*AGM-114K",
+ "name": "Gun / ATGM"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "ah-64.png"
+ },
+ "Ka-50_3": {
+ "name": "Ka-50_3",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Ka-50 Hokum A",
+ "shortLabel": "K50",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Igla",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "4xIgla",
+ "name": "Gun / Fox 2"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Igla",
+ "quantity": 4
+ },
+ {
+ "name": "S-13",
+ "quantity": 10
+ },
+ {
+ "name": "Kh-25ML",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Anti-Ship"
+ ],
+ "code": "2xKh-25ML, 10xS-13, 4xIgla",
+ "name": "Gun / ASM / Rockets / Fox 2"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Igla",
+ "quantity": 4
+ },
+ {
+ "name": "S-80FP",
+ "quantity": 40
+ },
+ {
+ "name": "Vikhr-M",
+ "quantity": 12
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "12x9A4172, 40xS-8OFP, 4xIgla",
+ "name": "Gun / ATGM / Rockets / Fox 2"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Igla",
+ "quantity": 4
+ },
+ {
+ "name": "S-80FP",
+ "quantity": 40
+ },
+ {
+ "name": "Vikhr-M",
+ "quantity": 12
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "12x9A4172, 40xS-8OFP, 4xIgla",
+ "name": "Gun / ATGM"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Igla",
+ "quantity": 4
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 2
+ },
+ {
+ "name": "S-13",
+ "quantity": 10
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "10xS-13, 2xFAB-500, 4xIgla",
+ "name": "Gun / Bombs / Rockets / Fox 2"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "ka-50.png"
+ },
+ "Mi-24P": {
+ "name": "Mi-24P",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Mi-24P Hind",
+ "shortLabel": "Mi24",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-8KOM",
+ "quantity": 40
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2xB8V20 (S-8KOM)+8xATGM 9M114",
+ "name": "Gun / ATGM / Rockets"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-24B",
+ "quantity": 4
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "4xS-24B+4xATGM 9M114",
+ "name": "Gun / ATGM / Rockets"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GUV-1 Grenade Launcher",
+ "quantity": 4
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "4xGUV-1 AP30+4xATGM 9M114",
+ "name": "Gun / ATGM / Grenade Launcher"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-24.png"
+ },
+ "Mi-26": {
+ "name": "Mi-26",
+ "coalition": "red",
+ "era": "Late Cold War",
+ "label": "Mi-26 Halo",
+ "shortLabel": "M26",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-26.png"
+ },
+ "Mi-28N": {
+ "name": "Mi-28N",
+ "coalition": "red",
+ "era": "Modern",
+ "label": "Mi-28N Havoc",
+ "shortLabel": "M28",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "9M114 Shturm",
+ "quantity": 16
+ },
+ {
+ "name": "S-8",
+ "quantity": 40
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "16x9M114, 40xS-8",
+ "name": "ATGM / S-8"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-28.png"
+ },
+ "Mi-8MT": {
+ "name": "Mi-8MT",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Mi-8MT Hip",
+ "shortLabel": "Mi8",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "UPK",
+ "quantity": 2
+ },
+ {
+ "name": "B8",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2 x UPK +2 x B8",
+ "name": "Rockets / Gunpods"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-8.png"
+ },
+ "SA342L": {
+ "name": "SA342L",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "SA342L Gazelle",
+ "shortLabel": "342",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "20mm Cannon",
+ "quantity": 1
+ },
+ {
+ "name": "SNEB68",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "Recon"
+ ],
+ "code": "M621, 8xSNEB68 EAP",
+ "name": "Gun / ATGM / Rockets"
+ }
+ ],
+ "filename": "sa-342.png"
+ },
+ "SA342M": {
+ "name": "SA342M",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "SA342M Gazelle",
+ "shortLabel": "342",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "HOT3",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "HOT3x4",
+ "name": "ATGM"
+ }
+ ],
+ "filename": "sa-342.png"
+ },
+ "SA342Mistral": {
+ "name": "SA342Mistral",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "SA342Mistral Gazelle",
+ "shortLabel": "342",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mistral",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Mistral x 4",
+ "name": "Fox 2"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "sa-342.png"
+ },
+ "SH-60B": {
+ "name": "SH-60B",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "SH-60B Seahawk",
+ "shortLabel": "S60",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AGM-119 ASM",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "AGM-119",
+ "name": "ASM"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "uh-60.png"
+ },
+ "UH-1H": {
+ "name": "UH-1H",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "UH-1H Huey",
+ "shortLabel": "UH1",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "M134 Minigun",
+ "quantity": 2
+ },
+ {
+ "name": "XM-158",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "M134 Minigun*2, XM158*2",
+ "name": "Miniguns / XM158"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "uh-1.png"
+ },
+ "UH-60A": {
+ "name": "UH-60A",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "UH-60A Blackhawk",
+ "shortLabel": "U60",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "uh-60.png"
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/iran-iraq_fictional/aircraftdatabase.json b/client/public/databases/iran-iraq_fictional/aircraftdatabase.json
new file mode 100644
index 00000000..a139020a
--- /dev/null
+++ b/client/public/databases/iran-iraq_fictional/aircraftdatabase.json
@@ -0,0 +1,767 @@
+{
+ "An-26B": {
+ "name": "An-26B",
+ "coalition": "red",
+ "label": "An-26B Curl",
+ "era": "Mid Cold War",
+ "shortLabel": "26",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "an-26.png",
+ "cost": 0
+ },
+ "An-30M": {
+ "name": "An-30M",
+ "coalition": "red",
+ "label": "An-30M Clank",
+ "era": "Mid Cold War",
+ "shortLabel": "30",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "a-50.png",
+ "cost": 0
+ },
+ "C-130": {
+ "name": "C-130",
+ "label": "C-130 Hercules",
+ "era": "Early Cold War",
+ "shortLabel": "130",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "c-130.png",
+ "cost": 0
+ },
+ "F-14A-135-GR": {
+ "name": "F-14A-135-GR",
+ "coalition": "blue",
+ "label": "F-14A-135-GR Tomcat",
+ "era": "Mid Cold War",
+ "shortLabel": "14A",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-54A",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7F",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9L",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-54A-MK47*2, AIM-7F*1, AIM-9L*4, XT*2",
+ "name": "Heavy / Fox 3 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7F",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9L",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-7F*4, AIM-9L*4, XT*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 2
+ },
+ {
+ "name": "GBU-12",
+ "quantity": 2
+ },
+ {
+ "name": "LANTIRN",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AIM-7M*1, AIM-9M*2, XT*2, GBU-12*2, LANTIRN",
+ "name": "Heavy / Fox 3, GBU-12 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-14.png",
+ "cost": 300,
+ "liveryID": "IRIAF Asia Minor"
+ },
+ "F-4E": {
+ "name": "F-4E",
+ "coalition": "blue",
+ "label": "F-4E Phantom II",
+ "era": "Mid Cold War",
+ "shortLabel": "4",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "fuel",
+ "quantity": 2
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9M",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9*4,AIM-7*4,Fuel*2",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "ECM",
+ "quantity": 1
+ },
+ {
+ "name": "AIM-7M",
+ "quantity": 2
+ },
+ {
+ "name": "Mk-82",
+ "quantity": 18
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-82*18,AIM-7*2,ECM",
+ "name": "Heavy / Fox 1, Mk-82 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "f-4.png",
+ "cost": 100,
+ "liveryID": "IRIAF Asia Minor"
+ },
+ "F-5E-3": {
+ "name": "F-5E-3",
+ "coalition": "blue",
+ "label": "F-5E Tiger",
+ "era": "Mid Cold War",
+ "shortLabel": "5",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel 275",
+ "quantity": 3
+ },
+ {
+ "name": "AIM-9P5",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "AIM-9P5*2, Fuel 275*3",
+ "name": "Heavy / Fox 2 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Mk-82",
+ "quantity": 4
+ },
+ {
+ "name": "AIM-9P5",
+ "quantity": 2
+ },
+ {
+ "name": "Fuel 275",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Mk-82LD*4,AIM-9P*2,Fuel 275",
+ "name": "Heavy / Fox 2 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "liveryID": "ir iriaf 43rd tfs",
+ "filename": "f-5.png",
+ "cost": 80
+ },
+ "F-86F Sabre": {
+ "name": "F-86F Sabre",
+ "coalition": "blue",
+ "label": "F-86F Sabre",
+ "era": "Early Cold War",
+ "shortLabel": "86",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "120gal Fuel",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "120gal Fuel*2",
+ "name": "Light / Guns / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "HVAR",
+ "quantity": 16
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "HVAR*16",
+ "name": "Light / HVAR / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AN-M64",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "AN-M64*2",
+ "name": "Light / AN-M64 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "f-86.png",
+ "cost": 40,
+ "liveryID": "iiaf bare metall"
+ },
+ "IL-76MD": {
+ "name": "IL-76MD",
+ "label": "IL-76MD Candid",
+ "era": "Mid Cold War",
+ "shortLabel": "76",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Default Transport"
+ }
+ ],
+ "filename": "il-76.png",
+ "cost": 0
+ },
+ "MiG-15bis": {
+ "name": "MiG-15bis",
+ "coalition": "red",
+ "label": "MiG-15 Fagot",
+ "era": "Early Cold War",
+ "shortLabel": "M15",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "300L Fuel Tanks",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*300L",
+ "name": "Medium / Guns / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "FAB-100M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*FAB-100M",
+ "name": "Medium / FAB-100M / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Light / Guns / Short Range"
+ }
+ ],
+ "filename": "mig-15.png",
+ "cost": 30,
+ "liveryID": "Iraqi_Camo"
+ },
+ "MiG-21Bis": {
+ "name": "MiG-21Bis",
+ "coalition": "red",
+ "label": "MiG-21 Fishbed",
+ "era": "Mid Cold War",
+ "shortLabel": "21",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3 Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "R-60 Aphid",
+ "quantity": 2
+ },
+ {
+ "name": "130 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, short range",
+ "name": "Light / Fox-2 / Short range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3 Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "R-60 Aphid",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, medium range",
+ "name": "Medium / Fox-2 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-3R Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "R-3S Atoll",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "Patrol, long range",
+ "name": "Medium / Fox-1, Fox-2 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GROM",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-250",
+ "quantity": 2
+ },
+ {
+ "name": "210 gal tanks",
+ "quantity": 1
+ },
+ {
+ "name": "ASO-2 Countermeasures",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "Few big targets, GROM + BOMBS",
+ "name": "Heavy / GROM, FAB250 / Medium range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "CAP"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-21.png",
+ "cost": 100,
+ "liveryID": "iran - standard"
+ },
+ "MiG-23MLD": {
+ "name": "MiG-23MLD",
+ "coalition": "red",
+ "label": "MiG-23 Flogger",
+ "era": "Mid Cold War",
+ "shortLabel": "23",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel-800",
+ "quantity": 1
+ },
+ {
+ "name": "R-60M",
+ "quantity": 4
+ },
+ {
+ "name": "R-24R",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "R-24R*2,R-60M*4,Fuel-800",
+ "name": "Heavy / Fox 1 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "Fuel-800",
+ "quantity": 1
+ },
+ {
+ "name": "FAB-500",
+ "quantity": 2
+ },
+ {
+ "name": "R-60M",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-500*2,R-60M*2,Fuel-800",
+ "name": "Heavy / FAB-500 / Long Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-23.png",
+ "cost": 200
+ },
+ "Mirage-F1EE": {
+ "name": "Mirage-F1EE",
+ "coalition": "red",
+ "label": "Mirage-F1EE",
+ "era": "Mid Cold War",
+ "shortLabel": "F1EE",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "R530EM",
+ "quantity": 2
+ },
+ {
+ "name": "1137L Fuel Tank",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*AIM9-JULI, 2*R530EM, 1*Fuel Tank",
+ "name": "Medium / Fox 1 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "SAMP 400 LD",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*AIM-9JULI, 8*SAMP 400 LD",
+ "name": "Heavy / SAMP400 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-25.png",
+ "cost": 150,
+ "liveryID": "iriaf 3-6215 _ 1990-2010s desert (eq variant)"
+ },
+ "Mirage-F1CE": {
+ "name": "Mirage-F1CE",
+ "coalition": "red",
+ "label": "Mirage-F1CE",
+ "era": "Mid Cold War",
+ "shortLabel": "F1CE",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "R530IR",
+ "quantity": 2
+ },
+ {
+ "name": "1137L Fuel Tank",
+ "quantity": 1
+ }
+ ],
+ "roles": [
+ "CAP"
+ ],
+ "code": "2*AIM9-JULI, 2*R530IR, 1*Fuel Tank",
+ "name": "Medium / Fox 2 / Medium Range"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "AIM-9JULI",
+ "quantity": 2
+ },
+ {
+ "name": "SAMP 400 LD",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "2*AIM-9JULI, 8*SAMP 400 LD",
+ "name": "Heavy / SAMP400 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mig-25.png",
+ "cost": 150,
+ "liveryID": "iraq air force (fictional eq version)"
+ },
+ "Su-24M": {
+ "name": "Su-24M",
+ "coalition": "red",
+ "label": "Su-24M Fencer",
+ "era": "Mid Cold War",
+ "shortLabel": "24",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "R-60M",
+ "quantity": 2
+ },
+ {
+ "name": "FAB-1500",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "FAB-1500*2,R-60M*2",
+ "name": "Heavy / FAB-500 / Short Range"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "su-24.png",
+ "cost": 250,
+ "liveryID": "iran air force"
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/iran-iraq_fictional/groundunitdatabase.json b/client/public/databases/iran-iraq_fictional/groundunitdatabase.json
new file mode 100644
index 00000000..03830e81
--- /dev/null
+++ b/client/public/databases/iran-iraq_fictional/groundunitdatabase.json
@@ -0,0 +1,153 @@
+{
+ "BMP-1": {
+ "name": "BMP-1",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "BMP-1",
+ "shortLabel": "BMP-1",
+ "filename": "",
+ "type": "IFV",
+ "cost": 10,
+ "liveryID": "desert"
+ },
+ "Hawk SAM Battery": {
+ "name": "Hawk SAM Battery",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Hawk SAM Battery",
+ "shortLabel": "Hawk SAM Battery",
+ "range": "Medium",
+ "filename": "",
+ "type": "SAM Site",
+ "cost": 500
+ },
+ "Infantry AK": {
+ "name": "Infantry AK",
+ "era": "Mid Cold War",
+ "label": "Infantry AK",
+ "shortLabel": "Infantry AK",
+ "filename": "",
+ "type": "Infantry",
+ "cost": 1
+ },
+ "M-113": {
+ "name": "M-113",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M-113",
+ "shortLabel": "M-113",
+ "filename": "",
+ "type": "APC",
+ "cost": 5
+ },
+ "M-60": {
+ "name": "M-60",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "M-60",
+ "shortLabel": "M-60",
+ "filename": "",
+ "type": "Tank",
+ "cost": 10
+ },
+ "SA-2 SAM Battery": {
+ "name": "SA-2 SAM Battery",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SA-2 SAM Battery",
+ "shortLabel": "SA-2 SAM Battery",
+ "range": "Long",
+ "filename": "",
+ "type": "SAM Site",
+ "cost": 500
+ },
+ "T-55": {
+ "name": "T-55",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "T-55",
+ "shortLabel": "T-55",
+ "filename": "",
+ "type": "Tank",
+ "cost": 10,
+ "liveryID": "desert"
+ },
+ "T-72B": {
+ "name": "T-72B",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "T-72B",
+ "shortLabel": "T-72B",
+ "filename": "",
+ "type": "Tank",
+ "cost": 20,
+ "liveryID": "desert"
+ },
+ "ZSU-23-4 Shilka": {
+ "name": "ZSU-23-4 Shilka",
+ "era": "Late Cold War",
+ "label": "ZSU-23-4 Shilka",
+ "shortLabel": "ZSU-23-4 Shilka",
+ "filename": "",
+ "type": "AAA",
+ "cost": 100
+ },
+ "Ural-375 ZU-23": {
+ "name": "Ural-375 ZU-23",
+ "era": "Early Cold War",
+ "label": "Ural-375 ZU-23",
+ "shortLabel": "Ural-375 ZU-23",
+ "filename": "",
+ "type": "AAA",
+ "cost": 50
+ },
+ "SAU Gvozdika": {
+ "name": "SAU Gvozdika",
+ "coalition": "red",
+ "era": "Early Cold War",
+ "label": "SAU Gvozdika",
+ "shortLabel": "SAU Gvozdika",
+ "filename": "",
+ "type": "Gun Artillery",
+ "cost": 10,
+ "liveryID": "desert"
+ },
+ "Grad-URAL": {
+ "name": "Grad-URAL",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "BM-21",
+ "shortLabel": "BM-21",
+ "filename": "",
+ "type": "Rocket Artillery",
+ "cost": 10
+ },
+ "Chieftain_mk3": {
+ "name": "Chieftain_mk3",
+ "coalition": "blue",
+ "era": "Early Cold War",
+ "label": "Chieftain Mk3",
+ "shortLabel": "Chieftain Mk3",
+ "filename": "",
+ "type": "Tank",
+ "cost": 20
+ },
+ "Scud_B": {
+ "name": "Scud_B",
+ "era": "Early Cold War",
+ "label": "SCUD",
+ "shortLabel": "SCUD",
+ "filename": "",
+ "type": "Rocket Artillery",
+ "cost": 10
+ },
+ "tt_ZU-23": {
+ "name": "tt_ZU-23",
+ "era": "Early Cold War",
+ "label": "Technical ZSU-23",
+ "shortLabel": "Technical ZSU-23",
+ "filename": "",
+ "type": "AAA",
+ "cost": 25
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/iran-iraq_fictional/helicopterdatabase.json b/client/public/databases/iran-iraq_fictional/helicopterdatabase.json
new file mode 100644
index 00000000..dde602f7
--- /dev/null
+++ b/client/public/databases/iran-iraq_fictional/helicopterdatabase.json
@@ -0,0 +1,141 @@
+{
+ "Mi-24P": {
+ "name": "Mi-24P",
+ "coalition": "red",
+ "era": "Mid Cold War",
+ "label": "Mi-24P Hind",
+ "shortLabel": "Mi24",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-8KOM",
+ "quantity": 40
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 8
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2xB8V20 (S-8KOM)+8xATGM 9M114",
+ "name": "Gun / ATGM / Rockets"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "S-24B",
+ "quantity": 4
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "Strike"
+ ],
+ "code": "4xS-24B+4xATGM 9M114",
+ "name": "Gun / ATGM / Rockets"
+ },
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "GUV-1 Grenade Launcher",
+ "quantity": 4
+ },
+ {
+ "name": "9M114 ATGM",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "4xGUV-1 AP30+4xATGM 9M114",
+ "name": "Gun / ATGM / Grenade Launcher"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ ""
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-24.png",
+ "cost": 150,
+ "liveryID": "IQAF"
+ },
+ "Mi-8MT": {
+ "name": "Mi-8MT",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "Mi-8MT Hip",
+ "shortLabel": "Mi8",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "UPK",
+ "quantity": 2
+ },
+ {
+ "name": "B8",
+ "quantity": 2
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "2 x UPK +2 x B8",
+ "name": "Rockets / Gunpods"
+ },
+ {
+ "fuel": 1,
+ "items": [],
+ "roles": [
+ "Transport"
+ ],
+ "code": "",
+ "name": "Empty Loadout"
+ }
+ ],
+ "filename": "mi-8.png",
+ "cost": 100,
+ "liveryID": "IR Iranian Special Police Forces"
+ },
+ "SA342M": {
+ "name": "SA342M",
+ "coalition": "blue",
+ "era": "Mid Cold War",
+ "label": "SA342M Gazelle",
+ "shortLabel": "342",
+ "loadouts": [
+ {
+ "fuel": 1,
+ "items": [
+ {
+ "name": "HOT3",
+ "quantity": 4
+ }
+ ],
+ "roles": [
+ "CAS"
+ ],
+ "code": "4x HOT3, IR Deflector, Sand Filter",
+ "name": "ATGM"
+ }
+ ],
+ "filename": "sa-342.png",
+ "cost": 80
+ }
+}
\ No newline at end of file
diff --git a/client/public/databases/iran-iraq_fictional/navyunitdatabase.json b/client/public/databases/iran-iraq_fictional/navyunitdatabase.json
new file mode 100644
index 00000000..4eb7c3f9
--- /dev/null
+++ b/client/public/databases/iran-iraq_fictional/navyunitdatabase.json
@@ -0,0 +1,3 @@
+{
+
+}
\ No newline at end of file
diff --git a/client/public/databases/navyunitdatabase.json b/client/public/databases/navyunitdatabase.json
new file mode 100644
index 00000000..754ed08b
--- /dev/null
+++ b/client/public/databases/navyunitdatabase.json
@@ -0,0 +1,452 @@
+{
+ "BDK-775": {
+ "name": "BDK-775",
+ "coalition": "blue",
+ "type": "Landing Craft",
+ "era": "Mid Cold War",
+ "label": "LS Ropucha",
+ "shortLabel": "LS Ropucha",
+ "range": "",
+ "filename": ""
+ },
+ "Boat Armed Hi-Speed": {
+ "name": "Boat Armed Hi-Speed",
+ "coalition": "",
+ "type": "Fast Attack Craft",
+ "era": "Mid Cold War",
+ "label": "Boat Armed Hi-Speed",
+ "shortLabel": "Boat Armed Hi-Speed",
+ "range": "",
+ "filename": ""
+ },
+ "CVN_71": {
+ "name": "CVN_71",
+ "coalition": "blue",
+ "type": "Super Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "CVN-71 Theodore Roosevelt",
+ "shortLabel": "CVN-71",
+ "range": "Short",
+ "filename": ""
+ },
+ "CVN_72": {
+ "name": "CVN_72",
+ "coalition": "blue",
+ "type": "Super Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "CVN-72 Abraham Lincoln",
+ "shortLabel": "CVN-72",
+ "range": "Short",
+ "filename": ""
+ },
+ "CVN_73": {
+ "name": "CVN_73",
+ "coalition": "blue",
+ "type": "Super Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "CVN-73 George Washington",
+ "shortLabel": "CVN-73",
+ "range": "Medium",
+ "filename": ""
+ },
+ "CVN_75": {
+ "name": "CVN_75",
+ "coalition": "blue",
+ "type": "Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "CVN-75 Harry S. Truman",
+ "shortLabel": "CVN-75",
+ "range": "Medium",
+ "filename": ""
+ },
+ "CV_1143_5": {
+ "name": "CV_1143_5",
+ "coalition": "red",
+ "type": "Aircraft Carrier",
+ "era": "Modern",
+ "label": "CV Admiral Kuznetsov(2017)",
+ "shortLabel": "Admiral Kuznetsov(2017)",
+ "range": "Medium",
+ "filename": ""
+ },
+ "CV_59": {
+ "name": "CV_59",
+ "coalition": "blue",
+ "type": "Aircraft Carrier",
+ "era": "Early Cold War",
+ "label": "CV-59 Forrestal",
+ "shortLabel": "CV-59",
+ "range": "Short",
+ "filename": ""
+ },
+ "CastleClass_01": {
+ "name": "CastleClass_01",
+ "coalition": "blue",
+ "type": "Patrol",
+ "era": "Mid Cold War",
+ "label": "HMS Leeds Castle (P-258)",
+ "shortLabel": "HMS Leeds Castle (P-258)",
+ "range": "",
+ "filename": ""
+ },
+ "HandyWind": {
+ "name": "HandyWind",
+ "coalition": "blue",
+ "type": "Cargoship",
+ "era": "Late Cold War",
+ "label": "Bulker Handy Wind",
+ "shortLabel": "Bulker Handy Wind",
+ "range": "",
+ "filename": ""
+ },
+ "HarborTug": {
+ "name": "HarborTug",
+ "coalition": "",
+ "type": "Tug",
+ "era": "Mid Cold War",
+ "label": "Harbor Tug",
+ "shortLabel": "Harbor Tug",
+ "range": "",
+ "filename": ""
+ },
+ "LHA_Tarawa": {
+ "name": "LHA_Tarawa",
+ "coalition": "blue",
+ "type": "Aircraft Carrier",
+ "era": "Mid Cold War",
+ "label": "LHA-1 Tarawa",
+ "shortLabel": "LHA-1 Tarawa",
+ "range": "Short",
+ "filename": ""
+ },
+ "La_Combattante_II": {
+ "name": "La_Combattante_II",
+ "coalition": "blue",
+ "type": "Fast Attack Craft",
+ "era": "Mid Cold War",
+ "label": "FAC La Combattante lla",
+ "shortLabel": "FAC La Combattante",
+ "range": "",
+ "filename": ""
+ },
+ "Seawise_Giant": {
+ "name": "Seawise_Giant",
+ "coalition": "blue",
+ "type": "Tanker",
+ "era": "Late Cold War",
+ "label": "Tanker Seawise Giant",
+ "shortLabel": "Seawise Giant",
+ "range": "",
+ "filename": ""
+ },
+ "Ship_Tilde_Supply": {
+ "name": "Ship_Tilde_Supply",
+ "coalition": "blue",
+ "type": "Transport",
+ "era": "Late Cold War",
+ "label": "Supply Ship MV Tilde",
+ "shortLabel": "Supply Ship Tilde",
+ "range": "",
+ "filename": ""
+ },
+ "Stennis": {
+ "name": "Stennis",
+ "coalition": "blue",
+ "type": "Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "CVN-74 John C. Stennis",
+ "shortLabel": "CVN-74",
+ "range": "Medium",
+ "filename": ""
+ },
+ "TICONDEROG": {
+ "name": "TICONDEROG",
+ "coalition": "blue",
+ "type": "Cruiser",
+ "era": "Late Cold War",
+ "label": "Ticonderoga",
+ "shortLabel": "Ticonderoga",
+ "range": "Medium",
+ "filename": ""
+ },
+ "Type_052B": {
+ "name": "Type_052B",
+ "coalition": "red",
+ "type": "Destroyer",
+ "era": "Modern",
+ "label": "052B DDG-168 Guangzhou",
+ "shortLabel": "Type 52B",
+ "range": "Short",
+ "filename": ""
+ },
+ "Type_052C": {
+ "name": "Type_052C",
+ "coalition": "red",
+ "type": "Destroyer",
+ "era": "Modern",
+ "label": "052C DDG-171 Haikou",
+ "shortLabel": "Type 52C",
+ "range": "Short",
+ "filename": ""
+ },
+ "Type_054A": {
+ "name": "",
+ "coalition": "red",
+ "type": "Frigate",
+ "era": "Modern",
+ "label": "054A FFG-538 Yantai",
+ "shortLabel": "Type 54A",
+ "range": "Medium",
+ "filename": ""
+ },
+ "Type_071": {
+ "name": "Type_071",
+ "coalition": "red",
+ "type": "Transport",
+ "era": "Modern",
+ "label": "Type 071",
+ "shortLabel": "Type 071",
+ "range": "",
+ "filename": ""
+ },
+ "Type_093": {
+ "name": "Type_093",
+ "coalition": "red",
+ "type": "Submarine",
+ "era": "Modern",
+ "label": "Type 093",
+ "shortLabel": "Type 093",
+ "range": "",
+ "filename": ""
+ },
+ "USS_Arleigh_Burke_IIa": {
+ "name": "USS_Arleigh_Burke_IIa",
+ "coalition": "blue",
+ "type": "Destroyer",
+ "era": "Late Cold War",
+ "label": "DDG Arleigh Burke lla",
+ "shortLabel": "DDG Arleigh Burke",
+ "range": "Medium",
+ "filename": ""
+ },
+ "albatros": {
+ "name": "albatros",
+ "coalition": "red",
+ "type": "Aircraft Carrier",
+ "era": "Early Cold War",
+ "label": "Albatros (Grisha-5)",
+ "shortLabel": "Albatros",
+ "range": "",
+ "filename": ""
+ },
+ "ara_vdm": {
+ "name": "ara_vdm",
+ "coalition": "",
+ "type": "Aircraft Carrier",
+ "era": "Mid Cold War",
+ "label": "ARA Vienticinco de Mayo",
+ "shortLabel": "ARA Vienticinco de Mayo",
+ "range": "",
+ "filename": ""
+ },
+ "barge-1": {
+ "name": "barge-1",
+ "coalition": "red",
+ "type": "Cargoship",
+ "era": "Late Cold War",
+ "label": "Dry cargo ship Ivanov",
+ "shortLabel": "Dry cargo ship Ivanov",
+ "range": "",
+ "filename": ""
+ },
+ "barge-2": {
+ "name": "barge-2",
+ "coalition": "red",
+ "type": "Cargoship",
+ "era": "Late Cold War",
+ "label": "Dry cargo ship Yakushev",
+ "shortLabel": "Dry cargo ship Yakushev",
+ "range": "",
+ "filename": ""
+ },
+ "elnya": {
+ "name": "elnya",
+ "coalition": "red",
+ "type": "Tanker",
+ "era": "Late Cold War",
+ "label": "Elnya tanker",
+ "shortLabel": "Elnya tanker",
+ "range": "",
+ "filename": ""
+ },
+ "hms_invincible": {
+ "name": "hms_invincible",
+ "coalition": "blue",
+ "type": "Aircraft Carrier",
+ "era": "Mid Cold War",
+ "label": "HMS Invincible (R05)",
+ "shortLabel": "HMS Invincible",
+ "range": "",
+ "filename": ""
+ },
+ "kilo": {
+ "name": "kilo",
+ "coalition": "red",
+ "type": "Submarine",
+ "era": "Late Cold War",
+ "label": "Project 636 Varshavyanka Basic",
+ "shortLabel": "Varshavyanka Basic",
+ "range": "Medium",
+ "filename": ""
+ },
+ "kilo_636": {
+ "name": "kilo_636",
+ "coalition": "red",
+ "type": "Submarine",
+ "era": "Late Cold War",
+ "label": "Project 636 Varshavyanka Improved",
+ "shortLabel": "Varshavyanka Improved",
+ "range": "Medium",
+ "filename": ""
+ },
+ "kuznecow": {
+ "name": "kuznecow",
+ "coalition": "red",
+ "type": "Aircraft Carrier",
+ "era": "Late Cold War",
+ "label": "Admiral Kuznetsov",
+ "shortLabel": "Admiral Kuznetsov",
+ "range": "Medium",
+ "filename": ""
+ },
+ "leander-gun-achilles": {
+ "name": "leander-gun-achilles",
+ "coalition": "blue",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "HMS Achilles (F12)",
+ "shortLabel": "HMS Achilles",
+ "range": "",
+ "filename": ""
+ },
+ "leander-gun-andromeda": {
+ "name": "leander-gun-andromeda",
+ "coalition": "blue",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "HMS Andromeda (F57)",
+ "shortLabel": "HMS Andromeda",
+ "range": "",
+ "filename": ""
+ },
+ "leander-gun-ariadne": {
+ "name": "leander-gun-ariadne",
+ "coalition": "blue",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "HMS Ariadne (F72)",
+ "shortLabel": "HMS Ariadne",
+ "range": "",
+ "filename": ""
+ },
+ "leander-gun-condell": {
+ "name": "leander-gun-condell",
+ "coalition": "",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "Almirante Condell PFG-06",
+ "shortLabel": "Almirante Condell",
+ "range": "",
+ "filename": ""
+ },
+ "leander-gun-lynch": {
+ "name": "leander-gun-lynch",
+ "coalition": "",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "CNS Almirante Lynch (PFG-07)",
+ "shortLabel": "CNS Almirante Lynch",
+ "range": "",
+ "filename": ""
+ },
+ "molniya": {
+ "name": "molniya",
+ "coalition": "",
+ "type": "Fast Attack Craft",
+ "era": "Late Cold War",
+ "label": "Molniya (Tarantul-3)",
+ "shortLabel": "Molniya",
+ "range": "Short",
+ "filename": ""
+ },
+ "moscow": {
+ "name": "moscow",
+ "coalition": "red",
+ "type": "Cruiser",
+ "era": "Late Cold War",
+ "label": "Moscow",
+ "shortLabel": "Moscow",
+ "range": "Medium",
+ "filename": ""
+ },
+ "neustrash": {
+ "name": "neustrash",
+ "coalition": "red",
+ "type": "Frigate",
+ "era": "Late Cold War",
+ "label": "Neustrashimy",
+ "shortLabel": "Neustrashimy",
+ "range": "Short",
+ "filename": ""
+ },
+ "perry": {
+ "name": "perry",
+ "coalition": "blue",
+ "type": "Frigate",
+ "era": "Mid Cold War",
+ "label": "Oliver H. Perry",
+ "shortLabel": "Oliver H. Perry",
+ "range": "Medium",
+ "filename": ""
+ },
+ "piotr_velikiy": {
+ "name": "piotr_velikiy",
+ "coalition": "red",
+ "type": "Cruiser",
+ "era": "Late Cold War",
+ "label": "Pyotr Velikiy",
+ "shortLabel": "Pyotr Velikiy",
+ "range": "Medium",
+ "filename": ""
+ },
+ "rezky": {
+ "name": "Rezky (Krivak-2)",
+ "coalition": "red",
+ "type": "Frigate",
+ "era": "Early Cold War",
+ "label": "Rezky (Krivak-2)",
+ "shortLabel": "Rezky",
+ "range": "Short",
+ "filename": ""
+ },
+ "santafe": {
+ "name": "santafe",
+ "coalition": "",
+ "type": "Submarine",
+ "era": "Early Cold War",
+ "label": "ARA Santa Fe S-21",
+ "shortLabel": "ARA Santa",
+ "range": "",
+ "filename": ""
+ },
+ "zwezdny": {
+ "name": "zwezdny",
+ "coalition": "",
+ "type": "Civilian Boat",
+ "era": "Modern",
+ "label": "Zwezdny",
+ "shortLabel": "Zwezdny",
+ "range": "",
+ "filename": ""
+ }
+}
\ No newline at end of file
diff --git a/client/public/images/countries/ac.svg b/client/public/images/countries/ac.svg
new file mode 100644
index 00000000..1a6d5080
--- /dev/null
+++ b/client/public/images/countries/ac.svg
@@ -0,0 +1,76 @@
+
diff --git a/client/public/images/countries/ad.svg b/client/public/images/countries/ad.svg
new file mode 100644
index 00000000..3793d99a
--- /dev/null
+++ b/client/public/images/countries/ad.svg
@@ -0,0 +1,150 @@
+
diff --git a/client/public/images/countries/ae.svg b/client/public/images/countries/ae.svg
new file mode 100644
index 00000000..b7acdbdb
--- /dev/null
+++ b/client/public/images/countries/ae.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/af.svg b/client/public/images/countries/af.svg
new file mode 100644
index 00000000..417dd047
--- /dev/null
+++ b/client/public/images/countries/af.svg
@@ -0,0 +1,81 @@
+
diff --git a/client/public/images/countries/ag.svg b/client/public/images/countries/ag.svg
new file mode 100644
index 00000000..250b5012
--- /dev/null
+++ b/client/public/images/countries/ag.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/ai.svg b/client/public/images/countries/ai.svg
new file mode 100644
index 00000000..cf91b39b
--- /dev/null
+++ b/client/public/images/countries/ai.svg
@@ -0,0 +1,758 @@
+
diff --git a/client/public/images/countries/al.svg b/client/public/images/countries/al.svg
new file mode 100644
index 00000000..b69ae195
--- /dev/null
+++ b/client/public/images/countries/al.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/am.svg b/client/public/images/countries/am.svg
new file mode 100644
index 00000000..99fa4dc5
--- /dev/null
+++ b/client/public/images/countries/am.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ao.svg b/client/public/images/countries/ao.svg
new file mode 100644
index 00000000..4dc39f6a
--- /dev/null
+++ b/client/public/images/countries/ao.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/aq.svg b/client/public/images/countries/aq.svg
new file mode 100644
index 00000000..53840ccc
--- /dev/null
+++ b/client/public/images/countries/aq.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ar.svg b/client/public/images/countries/ar.svg
new file mode 100644
index 00000000..364fca8f
--- /dev/null
+++ b/client/public/images/countries/ar.svg
@@ -0,0 +1,32 @@
+
diff --git a/client/public/images/countries/arab.svg b/client/public/images/countries/arab.svg
new file mode 100644
index 00000000..c45e3d20
--- /dev/null
+++ b/client/public/images/countries/arab.svg
@@ -0,0 +1,109 @@
+
diff --git a/client/public/images/countries/as.svg b/client/public/images/countries/as.svg
new file mode 100644
index 00000000..b974013a
--- /dev/null
+++ b/client/public/images/countries/as.svg
@@ -0,0 +1,72 @@
+
diff --git a/client/public/images/countries/at.svg b/client/public/images/countries/at.svg
new file mode 100644
index 00000000..c2825088
--- /dev/null
+++ b/client/public/images/countries/at.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/au.svg b/client/public/images/countries/au.svg
new file mode 100644
index 00000000..407fef43
--- /dev/null
+++ b/client/public/images/countries/au.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/aw.svg b/client/public/images/countries/aw.svg
new file mode 100644
index 00000000..32cabd54
--- /dev/null
+++ b/client/public/images/countries/aw.svg
@@ -0,0 +1,186 @@
+
diff --git a/client/public/images/countries/ax.svg b/client/public/images/countries/ax.svg
new file mode 100644
index 00000000..0584d713
--- /dev/null
+++ b/client/public/images/countries/ax.svg
@@ -0,0 +1,18 @@
+
diff --git a/client/public/images/countries/az.svg b/client/public/images/countries/az.svg
new file mode 100644
index 00000000..8e56ef53
--- /dev/null
+++ b/client/public/images/countries/az.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/ba.svg b/client/public/images/countries/ba.svg
new file mode 100644
index 00000000..fcd18914
--- /dev/null
+++ b/client/public/images/countries/ba.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/bb.svg b/client/public/images/countries/bb.svg
new file mode 100644
index 00000000..263bdec0
--- /dev/null
+++ b/client/public/images/countries/bb.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/bd.svg b/client/public/images/countries/bd.svg
new file mode 100644
index 00000000..16b794de
--- /dev/null
+++ b/client/public/images/countries/bd.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/be.svg b/client/public/images/countries/be.svg
new file mode 100644
index 00000000..327f28fa
--- /dev/null
+++ b/client/public/images/countries/be.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/bf.svg b/client/public/images/countries/bf.svg
new file mode 100644
index 00000000..47138225
--- /dev/null
+++ b/client/public/images/countries/bf.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/bg.svg b/client/public/images/countries/bg.svg
new file mode 100644
index 00000000..b100dd0d
--- /dev/null
+++ b/client/public/images/countries/bg.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/bh.svg b/client/public/images/countries/bh.svg
new file mode 100644
index 00000000..7a2ea549
--- /dev/null
+++ b/client/public/images/countries/bh.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/bi.svg b/client/public/images/countries/bi.svg
new file mode 100644
index 00000000..1050838b
--- /dev/null
+++ b/client/public/images/countries/bi.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/bj.svg b/client/public/images/countries/bj.svg
new file mode 100644
index 00000000..0846724d
--- /dev/null
+++ b/client/public/images/countries/bj.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/bl.svg b/client/public/images/countries/bl.svg
new file mode 100644
index 00000000..819afc11
--- /dev/null
+++ b/client/public/images/countries/bl.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/bm.svg b/client/public/images/countries/bm.svg
new file mode 100644
index 00000000..a4dbc728
--- /dev/null
+++ b/client/public/images/countries/bm.svg
@@ -0,0 +1,97 @@
+
diff --git a/client/public/images/countries/bn.svg b/client/public/images/countries/bn.svg
new file mode 100644
index 00000000..f906abfe
--- /dev/null
+++ b/client/public/images/countries/bn.svg
@@ -0,0 +1,36 @@
+
diff --git a/client/public/images/countries/bo.svg b/client/public/images/countries/bo.svg
new file mode 100644
index 00000000..17a0a0c1
--- /dev/null
+++ b/client/public/images/countries/bo.svg
@@ -0,0 +1,676 @@
+
diff --git a/client/public/images/countries/bq.svg b/client/public/images/countries/bq.svg
new file mode 100644
index 00000000..0e6bc76e
--- /dev/null
+++ b/client/public/images/countries/bq.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/br.svg b/client/public/images/countries/br.svg
new file mode 100644
index 00000000..354a7013
--- /dev/null
+++ b/client/public/images/countries/br.svg
@@ -0,0 +1,45 @@
+
diff --git a/client/public/images/countries/bs.svg b/client/public/images/countries/bs.svg
new file mode 100644
index 00000000..513be43a
--- /dev/null
+++ b/client/public/images/countries/bs.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/bt.svg b/client/public/images/countries/bt.svg
new file mode 100644
index 00000000..cea6006c
--- /dev/null
+++ b/client/public/images/countries/bt.svg
@@ -0,0 +1,89 @@
+
diff --git a/client/public/images/countries/bv.svg b/client/public/images/countries/bv.svg
new file mode 100644
index 00000000..40e16d94
--- /dev/null
+++ b/client/public/images/countries/bv.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/bw.svg b/client/public/images/countries/bw.svg
new file mode 100644
index 00000000..a1c8db0a
--- /dev/null
+++ b/client/public/images/countries/bw.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/by.svg b/client/public/images/countries/by.svg
new file mode 100644
index 00000000..8d25ee3c
--- /dev/null
+++ b/client/public/images/countries/by.svg
@@ -0,0 +1,20 @@
+
diff --git a/client/public/images/countries/bz.svg b/client/public/images/countries/bz.svg
new file mode 100644
index 00000000..08d3579d
--- /dev/null
+++ b/client/public/images/countries/bz.svg
@@ -0,0 +1,145 @@
+
diff --git a/client/public/images/countries/ca.svg b/client/public/images/countries/ca.svg
new file mode 100644
index 00000000..f1b2c968
--- /dev/null
+++ b/client/public/images/countries/ca.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/cc.svg b/client/public/images/countries/cc.svg
new file mode 100644
index 00000000..93025bd2
--- /dev/null
+++ b/client/public/images/countries/cc.svg
@@ -0,0 +1,19 @@
+
diff --git a/client/public/images/countries/cd.svg b/client/public/images/countries/cd.svg
new file mode 100644
index 00000000..e106ddd5
--- /dev/null
+++ b/client/public/images/countries/cd.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/cefta.svg b/client/public/images/countries/cefta.svg
new file mode 100644
index 00000000..f748d08a
--- /dev/null
+++ b/client/public/images/countries/cefta.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/cf.svg b/client/public/images/countries/cf.svg
new file mode 100644
index 00000000..a6cd3670
--- /dev/null
+++ b/client/public/images/countries/cf.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/cg.svg b/client/public/images/countries/cg.svg
new file mode 100644
index 00000000..9128715f
--- /dev/null
+++ b/client/public/images/countries/cg.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/ch.svg b/client/public/images/countries/ch.svg
new file mode 100644
index 00000000..b42d6709
--- /dev/null
+++ b/client/public/images/countries/ch.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/ci.svg b/client/public/images/countries/ci.svg
new file mode 100644
index 00000000..e400f0c1
--- /dev/null
+++ b/client/public/images/countries/ci.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/ck.svg b/client/public/images/countries/ck.svg
new file mode 100644
index 00000000..18e547b1
--- /dev/null
+++ b/client/public/images/countries/ck.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/cl.svg b/client/public/images/countries/cl.svg
new file mode 100644
index 00000000..01766fef
--- /dev/null
+++ b/client/public/images/countries/cl.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/cm.svg b/client/public/images/countries/cm.svg
new file mode 100644
index 00000000..389b6627
--- /dev/null
+++ b/client/public/images/countries/cm.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/cn.svg b/client/public/images/countries/cn.svg
new file mode 100644
index 00000000..10d3489a
--- /dev/null
+++ b/client/public/images/countries/cn.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/co.svg b/client/public/images/countries/co.svg
new file mode 100644
index 00000000..ebd0a0fb
--- /dev/null
+++ b/client/public/images/countries/co.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/codes.json b/client/public/images/countries/codes.json
new file mode 100644
index 00000000..0f4a99a4
--- /dev/null
+++ b/client/public/images/countries/codes.json
@@ -0,0 +1,84 @@
+{
+ "RED": "AGGRESSORS",
+ "INS": "INSURGENTS",
+ "DZ" : "ALGERIA",
+ "AR" : "ARGENTINA",
+ "AU" : "AUSTRALIA",
+ "AT" : "AUSTRIA",
+ "BH" : "BAHRAIN",
+ "BY" : "BELARUS",
+ "BE" : "BELGIUM",
+ "BO" : "BOLIVIA",
+ "BR" : "BRAZIL",
+ "BG" : "BULGARIA",
+ "CA" : "CANADA",
+ "CL" : "CHILE",
+ "CN" : "CHINA",
+ "HR" : "CROATIA",
+ "CU" : "CUBA",
+ "CY" : "CYPRUS",
+ "CZ" : "CHEZH_REPUBLIC",
+ "DK" : "DENMARK",
+ "EG" : "EGYPT",
+ "ET" : "ETHIOPIA",
+ "FI" : "FINLAND",
+ "FR" : "FRANCE",
+ "GE" : "GEORGIA",
+ "DE" : "GERMANY",
+ "GH" : "GHANA",
+ "GI" : "Gibraltar",
+ "GR" : "GREECE",
+ "HN" : "HONDURAS",
+ "HU" : "HUNGARY",
+ "IS" : "Iceland",
+ "IN" : "INDIA",
+ "ID" : "INDONESIA",
+ "IR" : "IRAN",
+ "IQ" : "IRAQ",
+ "IE" : "Ireland",
+ "IM" : "Isle Of Man",
+ "IL" : "ISRAEL",
+ "IT" : "ITALY",
+ "JP" : "JAPAN",
+ "JO" : "JORDAN",
+ "KZ" : "KAZAKHSTAN",
+ "KR" : "SOUTH_KOREA",
+ "KW" : "KUWAIT",
+ "LB" : "LEBANON",
+ "LY" : "LIBYIA",
+ "MY" : "MALAYSIA",
+ "MX" : "MEXICO",
+ "MA" : "MOROCCO",
+ "NL" : "THE_NETHERLANDS",
+ "NG" : "NIGERIA",
+ "NO" : "NORWAY",
+ "OM" : "OMAN",
+ "PK" : "PAKISTAN",
+ "PE" : "PERU",
+ "PH" : "PHILIPPINES",
+ "PL" : "POLAND",
+ "PT" : "PORTUGAL",
+ "QA" : "QATAR",
+ "RO" : "ROMANIA",
+ "RU" : "RUSSIA",
+ "SA" : "SAUDI ARABIA",
+ "RS" : "SERBIA",
+ "SK" : "SLOVAKIA",
+ "SI" : "SLOVENIA",
+ "ZA" : "SOUTH AFRICA",
+ "ES" : "SPAIN",
+ "SD" : "SUDAN",
+ "SE" : "SWEDEN",
+ "CH" : "SWITZERLAND",
+ "SY" : "SYRIA",
+ "TH" : "THAILAND",
+ "TN" : "TUNISIA",
+ "TR" : "TURKEY",
+ "UA" : "UKRAINE",
+ "AE" : "UNITED ARAB EMIRATES",
+ "GB" : "UK",
+ "US" : "USA",
+ "VE" : "VENEZUELA",
+ "VN" : "VIETNAM",
+ "YE" : "YEMEN"
+}
\ No newline at end of file
diff --git a/client/public/images/countries/cp.svg b/client/public/images/countries/cp.svg
new file mode 100644
index 00000000..b3efb074
--- /dev/null
+++ b/client/public/images/countries/cp.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/cr.svg b/client/public/images/countries/cr.svg
new file mode 100644
index 00000000..5a409eeb
--- /dev/null
+++ b/client/public/images/countries/cr.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/cu.svg b/client/public/images/countries/cu.svg
new file mode 100644
index 00000000..6464f8eb
--- /dev/null
+++ b/client/public/images/countries/cu.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/cv.svg b/client/public/images/countries/cv.svg
new file mode 100644
index 00000000..5c251da2
--- /dev/null
+++ b/client/public/images/countries/cv.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/cw.svg b/client/public/images/countries/cw.svg
new file mode 100644
index 00000000..bb0ece22
--- /dev/null
+++ b/client/public/images/countries/cw.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/cx.svg b/client/public/images/countries/cx.svg
new file mode 100644
index 00000000..6803b3b6
--- /dev/null
+++ b/client/public/images/countries/cx.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/cy.svg b/client/public/images/countries/cy.svg
new file mode 100644
index 00000000..2f69bf79
--- /dev/null
+++ b/client/public/images/countries/cy.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/cz.svg b/client/public/images/countries/cz.svg
new file mode 100644
index 00000000..7913de38
--- /dev/null
+++ b/client/public/images/countries/cz.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/de.svg b/client/public/images/countries/de.svg
new file mode 100644
index 00000000..b08334b6
--- /dev/null
+++ b/client/public/images/countries/de.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/dg.svg b/client/public/images/countries/dg.svg
new file mode 100644
index 00000000..b9f99a99
--- /dev/null
+++ b/client/public/images/countries/dg.svg
@@ -0,0 +1,130 @@
+
diff --git a/client/public/images/countries/dj.svg b/client/public/images/countries/dj.svg
new file mode 100644
index 00000000..ebf2fc66
--- /dev/null
+++ b/client/public/images/countries/dj.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/dk.svg b/client/public/images/countries/dk.svg
new file mode 100644
index 00000000..563277f8
--- /dev/null
+++ b/client/public/images/countries/dk.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/dm.svg b/client/public/images/countries/dm.svg
new file mode 100644
index 00000000..60457b79
--- /dev/null
+++ b/client/public/images/countries/dm.svg
@@ -0,0 +1,152 @@
+
diff --git a/client/public/images/countries/do.svg b/client/public/images/countries/do.svg
new file mode 100644
index 00000000..9c1becc6
--- /dev/null
+++ b/client/public/images/countries/do.svg
@@ -0,0 +1,123 @@
+
diff --git a/client/public/images/countries/dz.svg b/client/public/images/countries/dz.svg
new file mode 100644
index 00000000..5ff29a74
--- /dev/null
+++ b/client/public/images/countries/dz.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/eac.svg b/client/public/images/countries/eac.svg
new file mode 100644
index 00000000..613099cc
--- /dev/null
+++ b/client/public/images/countries/eac.svg
@@ -0,0 +1,50 @@
+
diff --git a/client/public/images/countries/ec.svg b/client/public/images/countries/ec.svg
new file mode 100644
index 00000000..65b78858
--- /dev/null
+++ b/client/public/images/countries/ec.svg
@@ -0,0 +1,138 @@
+
diff --git a/client/public/images/countries/ee.svg b/client/public/images/countries/ee.svg
new file mode 100644
index 00000000..36ea288c
--- /dev/null
+++ b/client/public/images/countries/ee.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/eg.svg b/client/public/images/countries/eg.svg
new file mode 100644
index 00000000..58c943c2
--- /dev/null
+++ b/client/public/images/countries/eg.svg
@@ -0,0 +1,38 @@
+
diff --git a/client/public/images/countries/eh.svg b/client/public/images/countries/eh.svg
new file mode 100644
index 00000000..2c9525bd
--- /dev/null
+++ b/client/public/images/countries/eh.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/er.svg b/client/public/images/countries/er.svg
new file mode 100644
index 00000000..2705295f
--- /dev/null
+++ b/client/public/images/countries/er.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/es-ct.svg b/client/public/images/countries/es-ct.svg
new file mode 100644
index 00000000..4d859114
--- /dev/null
+++ b/client/public/images/countries/es-ct.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/es-ga.svg b/client/public/images/countries/es-ga.svg
new file mode 100644
index 00000000..a91ffed0
--- /dev/null
+++ b/client/public/images/countries/es-ga.svg
@@ -0,0 +1,187 @@
+
diff --git a/client/public/images/countries/es-pv.svg b/client/public/images/countries/es-pv.svg
new file mode 100644
index 00000000..21c8759e
--- /dev/null
+++ b/client/public/images/countries/es-pv.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/es.svg b/client/public/images/countries/es.svg
new file mode 100644
index 00000000..815e0f84
--- /dev/null
+++ b/client/public/images/countries/es.svg
@@ -0,0 +1,544 @@
+
diff --git a/client/public/images/countries/et.svg b/client/public/images/countries/et.svg
new file mode 100644
index 00000000..a3378fd9
--- /dev/null
+++ b/client/public/images/countries/et.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/eu.svg b/client/public/images/countries/eu.svg
new file mode 100644
index 00000000..bbfefd6b
--- /dev/null
+++ b/client/public/images/countries/eu.svg
@@ -0,0 +1,28 @@
+
diff --git a/client/public/images/countries/fi.svg b/client/public/images/countries/fi.svg
new file mode 100644
index 00000000..470be2d0
--- /dev/null
+++ b/client/public/images/countries/fi.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/fj.svg b/client/public/images/countries/fj.svg
new file mode 100644
index 00000000..2d7cd980
--- /dev/null
+++ b/client/public/images/countries/fj.svg
@@ -0,0 +1,120 @@
+
diff --git a/client/public/images/countries/fk.svg b/client/public/images/countries/fk.svg
new file mode 100644
index 00000000..b4935a55
--- /dev/null
+++ b/client/public/images/countries/fk.svg
@@ -0,0 +1,90 @@
+
diff --git a/client/public/images/countries/fm.svg b/client/public/images/countries/fm.svg
new file mode 100644
index 00000000..85f4f47e
--- /dev/null
+++ b/client/public/images/countries/fm.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/fo.svg b/client/public/images/countries/fo.svg
new file mode 100644
index 00000000..717ee20b
--- /dev/null
+++ b/client/public/images/countries/fo.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/fr.svg b/client/public/images/countries/fr.svg
new file mode 100644
index 00000000..79689fe9
--- /dev/null
+++ b/client/public/images/countries/fr.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ga.svg b/client/public/images/countries/ga.svg
new file mode 100644
index 00000000..76edab42
--- /dev/null
+++ b/client/public/images/countries/ga.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/gb-eng.svg b/client/public/images/countries/gb-eng.svg
new file mode 100644
index 00000000..12e3b67d
--- /dev/null
+++ b/client/public/images/countries/gb-eng.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/gb-nir.svg b/client/public/images/countries/gb-nir.svg
new file mode 100644
index 00000000..c9510f30
--- /dev/null
+++ b/client/public/images/countries/gb-nir.svg
@@ -0,0 +1,132 @@
+
diff --git a/client/public/images/countries/gb-sct.svg b/client/public/images/countries/gb-sct.svg
new file mode 100644
index 00000000..f50cd322
--- /dev/null
+++ b/client/public/images/countries/gb-sct.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/gb-wls.svg b/client/public/images/countries/gb-wls.svg
new file mode 100644
index 00000000..6e15fd01
--- /dev/null
+++ b/client/public/images/countries/gb-wls.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/gb.svg b/client/public/images/countries/gb.svg
new file mode 100644
index 00000000..dbac25ea
--- /dev/null
+++ b/client/public/images/countries/gb.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/gd.svg b/client/public/images/countries/gd.svg
new file mode 100644
index 00000000..f44e8391
--- /dev/null
+++ b/client/public/images/countries/gd.svg
@@ -0,0 +1,27 @@
+
diff --git a/client/public/images/countries/ge.svg b/client/public/images/countries/ge.svg
new file mode 100644
index 00000000..d8126ec8
--- /dev/null
+++ b/client/public/images/countries/ge.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/gf.svg b/client/public/images/countries/gf.svg
new file mode 100644
index 00000000..73493426
--- /dev/null
+++ b/client/public/images/countries/gf.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/gg.svg b/client/public/images/countries/gg.svg
new file mode 100644
index 00000000..f8216c8b
--- /dev/null
+++ b/client/public/images/countries/gg.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/gh.svg b/client/public/images/countries/gh.svg
new file mode 100644
index 00000000..a6497de8
--- /dev/null
+++ b/client/public/images/countries/gh.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/gi.svg b/client/public/images/countries/gi.svg
new file mode 100644
index 00000000..92496be6
--- /dev/null
+++ b/client/public/images/countries/gi.svg
@@ -0,0 +1,32 @@
+
diff --git a/client/public/images/countries/gl.svg b/client/public/images/countries/gl.svg
new file mode 100644
index 00000000..eb5a52e9
--- /dev/null
+++ b/client/public/images/countries/gl.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/gm.svg b/client/public/images/countries/gm.svg
new file mode 100644
index 00000000..8fe9d669
--- /dev/null
+++ b/client/public/images/countries/gm.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/gn.svg b/client/public/images/countries/gn.svg
new file mode 100644
index 00000000..40d6ad4f
--- /dev/null
+++ b/client/public/images/countries/gn.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/gp.svg b/client/public/images/countries/gp.svg
new file mode 100644
index 00000000..528e554f
--- /dev/null
+++ b/client/public/images/countries/gp.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/gq.svg b/client/public/images/countries/gq.svg
new file mode 100644
index 00000000..ba2acf28
--- /dev/null
+++ b/client/public/images/countries/gq.svg
@@ -0,0 +1,23 @@
+
diff --git a/client/public/images/countries/gr.svg b/client/public/images/countries/gr.svg
new file mode 100644
index 00000000..599741ee
--- /dev/null
+++ b/client/public/images/countries/gr.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/gs.svg b/client/public/images/countries/gs.svg
new file mode 100644
index 00000000..2e045dfd
--- /dev/null
+++ b/client/public/images/countries/gs.svg
@@ -0,0 +1,133 @@
+
diff --git a/client/public/images/countries/gt.svg b/client/public/images/countries/gt.svg
new file mode 100644
index 00000000..9b347124
--- /dev/null
+++ b/client/public/images/countries/gt.svg
@@ -0,0 +1,204 @@
+
diff --git a/client/public/images/countries/gu.svg b/client/public/images/countries/gu.svg
new file mode 100644
index 00000000..a5584ffd
--- /dev/null
+++ b/client/public/images/countries/gu.svg
@@ -0,0 +1,23 @@
+
diff --git a/client/public/images/countries/gw.svg b/client/public/images/countries/gw.svg
new file mode 100644
index 00000000..b8d566a2
--- /dev/null
+++ b/client/public/images/countries/gw.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/gy.svg b/client/public/images/countries/gy.svg
new file mode 100644
index 00000000..f4d9b8ab
--- /dev/null
+++ b/client/public/images/countries/gy.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/hk.svg b/client/public/images/countries/hk.svg
new file mode 100644
index 00000000..ec40b5fe
--- /dev/null
+++ b/client/public/images/countries/hk.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/hm.svg b/client/public/images/countries/hm.svg
new file mode 100644
index 00000000..c0748d3b
--- /dev/null
+++ b/client/public/images/countries/hm.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/hn.svg b/client/public/images/countries/hn.svg
new file mode 100644
index 00000000..1c166dc4
--- /dev/null
+++ b/client/public/images/countries/hn.svg
@@ -0,0 +1,18 @@
+
diff --git a/client/public/images/countries/hr.svg b/client/public/images/countries/hr.svg
new file mode 100644
index 00000000..febbc240
--- /dev/null
+++ b/client/public/images/countries/hr.svg
@@ -0,0 +1,58 @@
+
diff --git a/client/public/images/countries/ht.svg b/client/public/images/countries/ht.svg
new file mode 100644
index 00000000..4cd4470f
--- /dev/null
+++ b/client/public/images/countries/ht.svg
@@ -0,0 +1,116 @@
+
diff --git a/client/public/images/countries/hu.svg b/client/public/images/countries/hu.svg
new file mode 100644
index 00000000..baddf7f5
--- /dev/null
+++ b/client/public/images/countries/hu.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/ic.svg b/client/public/images/countries/ic.svg
new file mode 100644
index 00000000..81e6ee2e
--- /dev/null
+++ b/client/public/images/countries/ic.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/id.svg b/client/public/images/countries/id.svg
new file mode 100644
index 00000000..3b7c8fcf
--- /dev/null
+++ b/client/public/images/countries/id.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/ie.svg b/client/public/images/countries/ie.svg
new file mode 100644
index 00000000..049be14d
--- /dev/null
+++ b/client/public/images/countries/ie.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/il.svg b/client/public/images/countries/il.svg
new file mode 100644
index 00000000..724cf8bf
--- /dev/null
+++ b/client/public/images/countries/il.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/im.svg b/client/public/images/countries/im.svg
new file mode 100644
index 00000000..3d597a14
--- /dev/null
+++ b/client/public/images/countries/im.svg
@@ -0,0 +1,36 @@
+
diff --git a/client/public/images/countries/in.svg b/client/public/images/countries/in.svg
new file mode 100644
index 00000000..c634f68a
--- /dev/null
+++ b/client/public/images/countries/in.svg
@@ -0,0 +1,25 @@
+
diff --git a/client/public/images/countries/io.svg b/client/public/images/countries/io.svg
new file mode 100644
index 00000000..b04c46f5
--- /dev/null
+++ b/client/public/images/countries/io.svg
@@ -0,0 +1,130 @@
+
diff --git a/client/public/images/countries/iq.svg b/client/public/images/countries/iq.svg
new file mode 100644
index 00000000..68917853
--- /dev/null
+++ b/client/public/images/countries/iq.svg
@@ -0,0 +1,10 @@
+
diff --git a/client/public/images/countries/ir.svg b/client/public/images/countries/ir.svg
new file mode 100644
index 00000000..5c9609ef
--- /dev/null
+++ b/client/public/images/countries/ir.svg
@@ -0,0 +1,219 @@
+
diff --git a/client/public/images/countries/is.svg b/client/public/images/countries/is.svg
new file mode 100644
index 00000000..56cc9778
--- /dev/null
+++ b/client/public/images/countries/is.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/it.svg b/client/public/images/countries/it.svg
new file mode 100644
index 00000000..20a8bfdc
--- /dev/null
+++ b/client/public/images/countries/it.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/je.svg b/client/public/images/countries/je.svg
new file mode 100644
index 00000000..e69e4f46
--- /dev/null
+++ b/client/public/images/countries/je.svg
@@ -0,0 +1,45 @@
+
diff --git a/client/public/images/countries/jm.svg b/client/public/images/countries/jm.svg
new file mode 100644
index 00000000..e03a3422
--- /dev/null
+++ b/client/public/images/countries/jm.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/jo.svg b/client/public/images/countries/jo.svg
new file mode 100644
index 00000000..50802915
--- /dev/null
+++ b/client/public/images/countries/jo.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/jp.svg b/client/public/images/countries/jp.svg
new file mode 100644
index 00000000..cd03a339
--- /dev/null
+++ b/client/public/images/countries/jp.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/ke.svg b/client/public/images/countries/ke.svg
new file mode 100644
index 00000000..5b377937
--- /dev/null
+++ b/client/public/images/countries/ke.svg
@@ -0,0 +1,23 @@
+
diff --git a/client/public/images/countries/kg.svg b/client/public/images/countries/kg.svg
new file mode 100644
index 00000000..626af14d
--- /dev/null
+++ b/client/public/images/countries/kg.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/kh.svg b/client/public/images/countries/kh.svg
new file mode 100644
index 00000000..c658838f
--- /dev/null
+++ b/client/public/images/countries/kh.svg
@@ -0,0 +1,61 @@
+
diff --git a/client/public/images/countries/ki.svg b/client/public/images/countries/ki.svg
new file mode 100644
index 00000000..1697ffe8
--- /dev/null
+++ b/client/public/images/countries/ki.svg
@@ -0,0 +1,36 @@
+
diff --git a/client/public/images/countries/km.svg b/client/public/images/countries/km.svg
new file mode 100644
index 00000000..56d62c32
--- /dev/null
+++ b/client/public/images/countries/km.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/kn.svg b/client/public/images/countries/kn.svg
new file mode 100644
index 00000000..01a3a0a2
--- /dev/null
+++ b/client/public/images/countries/kn.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/kp.svg b/client/public/images/countries/kp.svg
new file mode 100644
index 00000000..94bc8e1e
--- /dev/null
+++ b/client/public/images/countries/kp.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/kr.svg b/client/public/images/countries/kr.svg
new file mode 100644
index 00000000..44b51e25
--- /dev/null
+++ b/client/public/images/countries/kr.svg
@@ -0,0 +1,24 @@
+
diff --git a/client/public/images/countries/kw.svg b/client/public/images/countries/kw.svg
new file mode 100644
index 00000000..7ff91a84
--- /dev/null
+++ b/client/public/images/countries/kw.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/ky.svg b/client/public/images/countries/ky.svg
new file mode 100644
index 00000000..d6e567b5
--- /dev/null
+++ b/client/public/images/countries/ky.svg
@@ -0,0 +1,103 @@
+
diff --git a/client/public/images/countries/kz.svg b/client/public/images/countries/kz.svg
new file mode 100644
index 00000000..a69ba7a3
--- /dev/null
+++ b/client/public/images/countries/kz.svg
@@ -0,0 +1,36 @@
+
diff --git a/client/public/images/countries/la.svg b/client/public/images/countries/la.svg
new file mode 100644
index 00000000..9723a781
--- /dev/null
+++ b/client/public/images/countries/la.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/lb.svg b/client/public/images/countries/lb.svg
new file mode 100644
index 00000000..49650ad8
--- /dev/null
+++ b/client/public/images/countries/lb.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/lc.svg b/client/public/images/countries/lc.svg
new file mode 100644
index 00000000..46bbc6cc
--- /dev/null
+++ b/client/public/images/countries/lc.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/li.svg b/client/public/images/countries/li.svg
new file mode 100644
index 00000000..a08a05ac
--- /dev/null
+++ b/client/public/images/countries/li.svg
@@ -0,0 +1,43 @@
+
diff --git a/client/public/images/countries/lk.svg b/client/public/images/countries/lk.svg
new file mode 100644
index 00000000..24c6559b
--- /dev/null
+++ b/client/public/images/countries/lk.svg
@@ -0,0 +1,22 @@
+
diff --git a/client/public/images/countries/lr.svg b/client/public/images/countries/lr.svg
new file mode 100644
index 00000000..a31377f9
--- /dev/null
+++ b/client/public/images/countries/lr.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/ls.svg b/client/public/images/countries/ls.svg
new file mode 100644
index 00000000..e7016502
--- /dev/null
+++ b/client/public/images/countries/ls.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/lt.svg b/client/public/images/countries/lt.svg
new file mode 100644
index 00000000..90ec5d24
--- /dev/null
+++ b/client/public/images/countries/lt.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/lu.svg b/client/public/images/countries/lu.svg
new file mode 100644
index 00000000..c31d2bfa
--- /dev/null
+++ b/client/public/images/countries/lu.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/lv.svg b/client/public/images/countries/lv.svg
new file mode 100644
index 00000000..6a9e75ec
--- /dev/null
+++ b/client/public/images/countries/lv.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/ly.svg b/client/public/images/countries/ly.svg
new file mode 100644
index 00000000..14abcb24
--- /dev/null
+++ b/client/public/images/countries/ly.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/ma.svg b/client/public/images/countries/ma.svg
new file mode 100644
index 00000000..7ce56eff
--- /dev/null
+++ b/client/public/images/countries/ma.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/mc.svg b/client/public/images/countries/mc.svg
new file mode 100644
index 00000000..9cb6c9e8
--- /dev/null
+++ b/client/public/images/countries/mc.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/md.svg b/client/public/images/countries/md.svg
new file mode 100644
index 00000000..a806572c
--- /dev/null
+++ b/client/public/images/countries/md.svg
@@ -0,0 +1,70 @@
+
diff --git a/client/public/images/countries/me.svg b/client/public/images/countries/me.svg
new file mode 100644
index 00000000..b56cce09
--- /dev/null
+++ b/client/public/images/countries/me.svg
@@ -0,0 +1,116 @@
+
diff --git a/client/public/images/countries/mf.svg b/client/public/images/countries/mf.svg
new file mode 100644
index 00000000..a53ce501
--- /dev/null
+++ b/client/public/images/countries/mf.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/mg.svg b/client/public/images/countries/mg.svg
new file mode 100644
index 00000000..5fa2d244
--- /dev/null
+++ b/client/public/images/countries/mg.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/mh.svg b/client/public/images/countries/mh.svg
new file mode 100644
index 00000000..46351e54
--- /dev/null
+++ b/client/public/images/countries/mh.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/mk.svg b/client/public/images/countries/mk.svg
new file mode 100644
index 00000000..4f5cae77
--- /dev/null
+++ b/client/public/images/countries/mk.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ml.svg b/client/public/images/countries/ml.svg
new file mode 100644
index 00000000..6f6b7169
--- /dev/null
+++ b/client/public/images/countries/ml.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/mm.svg b/client/public/images/countries/mm.svg
new file mode 100644
index 00000000..8ed5e6ac
--- /dev/null
+++ b/client/public/images/countries/mm.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/mn.svg b/client/public/images/countries/mn.svg
new file mode 100644
index 00000000..56cb0729
--- /dev/null
+++ b/client/public/images/countries/mn.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/mo.svg b/client/public/images/countries/mo.svg
new file mode 100644
index 00000000..257faed6
--- /dev/null
+++ b/client/public/images/countries/mo.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/mp.svg b/client/public/images/countries/mp.svg
new file mode 100644
index 00000000..6696fdb8
--- /dev/null
+++ b/client/public/images/countries/mp.svg
@@ -0,0 +1,86 @@
+
diff --git a/client/public/images/countries/mq.svg b/client/public/images/countries/mq.svg
new file mode 100644
index 00000000..9be3452e
--- /dev/null
+++ b/client/public/images/countries/mq.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/mr.svg b/client/public/images/countries/mr.svg
new file mode 100644
index 00000000..3f0a6264
--- /dev/null
+++ b/client/public/images/countries/mr.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/ms.svg b/client/public/images/countries/ms.svg
new file mode 100644
index 00000000..2e6d4c5c
--- /dev/null
+++ b/client/public/images/countries/ms.svg
@@ -0,0 +1,29 @@
+
diff --git a/client/public/images/countries/mt.svg b/client/public/images/countries/mt.svg
new file mode 100644
index 00000000..676e801c
--- /dev/null
+++ b/client/public/images/countries/mt.svg
@@ -0,0 +1,49 @@
+
diff --git a/client/public/images/countries/mu.svg b/client/public/images/countries/mu.svg
new file mode 100644
index 00000000..82d7a3be
--- /dev/null
+++ b/client/public/images/countries/mu.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/mv.svg b/client/public/images/countries/mv.svg
new file mode 100644
index 00000000..10450f98
--- /dev/null
+++ b/client/public/images/countries/mv.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/mw.svg b/client/public/images/countries/mw.svg
new file mode 100644
index 00000000..113aae54
--- /dev/null
+++ b/client/public/images/countries/mw.svg
@@ -0,0 +1,10 @@
+
diff --git a/client/public/images/countries/mx.svg b/client/public/images/countries/mx.svg
new file mode 100644
index 00000000..bb305b8d
--- /dev/null
+++ b/client/public/images/countries/mx.svg
@@ -0,0 +1,382 @@
+
diff --git a/client/public/images/countries/my.svg b/client/public/images/countries/my.svg
new file mode 100644
index 00000000..264f48ae
--- /dev/null
+++ b/client/public/images/countries/my.svg
@@ -0,0 +1,26 @@
+
diff --git a/client/public/images/countries/mz.svg b/client/public/images/countries/mz.svg
new file mode 100644
index 00000000..eb020058
--- /dev/null
+++ b/client/public/images/countries/mz.svg
@@ -0,0 +1,21 @@
+
diff --git a/client/public/images/countries/na.svg b/client/public/images/countries/na.svg
new file mode 100644
index 00000000..799702e8
--- /dev/null
+++ b/client/public/images/countries/na.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/nc.svg b/client/public/images/countries/nc.svg
new file mode 100644
index 00000000..96795408
--- /dev/null
+++ b/client/public/images/countries/nc.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/ne.svg b/client/public/images/countries/ne.svg
new file mode 100644
index 00000000..39a82b82
--- /dev/null
+++ b/client/public/images/countries/ne.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/nf.svg b/client/public/images/countries/nf.svg
new file mode 100644
index 00000000..ecdb4a3b
--- /dev/null
+++ b/client/public/images/countries/nf.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/ng.svg b/client/public/images/countries/ng.svg
new file mode 100644
index 00000000..81eb35f7
--- /dev/null
+++ b/client/public/images/countries/ng.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/ni.svg b/client/public/images/countries/ni.svg
new file mode 100644
index 00000000..e16e77ae
--- /dev/null
+++ b/client/public/images/countries/ni.svg
@@ -0,0 +1,129 @@
+
diff --git a/client/public/images/countries/nl.svg b/client/public/images/countries/nl.svg
new file mode 100644
index 00000000..4faaf498
--- /dev/null
+++ b/client/public/images/countries/nl.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/no.svg b/client/public/images/countries/no.svg
new file mode 100644
index 00000000..a5f2a152
--- /dev/null
+++ b/client/public/images/countries/no.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/np.svg b/client/public/images/countries/np.svg
new file mode 100644
index 00000000..fead9402
--- /dev/null
+++ b/client/public/images/countries/np.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/nr.svg b/client/public/images/countries/nr.svg
new file mode 100644
index 00000000..e71ddcd8
--- /dev/null
+++ b/client/public/images/countries/nr.svg
@@ -0,0 +1,12 @@
+
diff --git a/client/public/images/countries/nu.svg b/client/public/images/countries/nu.svg
new file mode 100644
index 00000000..4067baff
--- /dev/null
+++ b/client/public/images/countries/nu.svg
@@ -0,0 +1,10 @@
+
diff --git a/client/public/images/countries/nz.svg b/client/public/images/countries/nz.svg
new file mode 100644
index 00000000..04d08dcc
--- /dev/null
+++ b/client/public/images/countries/nz.svg
@@ -0,0 +1,36 @@
+
diff --git a/client/public/images/countries/om.svg b/client/public/images/countries/om.svg
new file mode 100644
index 00000000..1c762179
--- /dev/null
+++ b/client/public/images/countries/om.svg
@@ -0,0 +1,115 @@
+
diff --git a/client/public/images/countries/pa.svg b/client/public/images/countries/pa.svg
new file mode 100644
index 00000000..8dc03bc6
--- /dev/null
+++ b/client/public/images/countries/pa.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/pe.svg b/client/public/images/countries/pe.svg
new file mode 100644
index 00000000..8a90ad17
--- /dev/null
+++ b/client/public/images/countries/pe.svg
@@ -0,0 +1,244 @@
+
diff --git a/client/public/images/countries/pf.svg b/client/public/images/countries/pf.svg
new file mode 100644
index 00000000..16374f36
--- /dev/null
+++ b/client/public/images/countries/pf.svg
@@ -0,0 +1,19 @@
+
diff --git a/client/public/images/countries/pg.svg b/client/public/images/countries/pg.svg
new file mode 100644
index 00000000..1080add5
--- /dev/null
+++ b/client/public/images/countries/pg.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/ph.svg b/client/public/images/countries/ph.svg
new file mode 100644
index 00000000..65489e1c
--- /dev/null
+++ b/client/public/images/countries/ph.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/pk.svg b/client/public/images/countries/pk.svg
new file mode 100644
index 00000000..fa02f6a8
--- /dev/null
+++ b/client/public/images/countries/pk.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/pl.svg b/client/public/images/countries/pl.svg
new file mode 100644
index 00000000..0fa51452
--- /dev/null
+++ b/client/public/images/countries/pl.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/pm.svg b/client/public/images/countries/pm.svg
new file mode 100644
index 00000000..401139f7
--- /dev/null
+++ b/client/public/images/countries/pm.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/pn.svg b/client/public/images/countries/pn.svg
new file mode 100644
index 00000000..9788c9cc
--- /dev/null
+++ b/client/public/images/countries/pn.svg
@@ -0,0 +1,53 @@
+
diff --git a/client/public/images/countries/pr.svg b/client/public/images/countries/pr.svg
new file mode 100644
index 00000000..3cb403b5
--- /dev/null
+++ b/client/public/images/countries/pr.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/ps.svg b/client/public/images/countries/ps.svg
new file mode 100644
index 00000000..82031486
--- /dev/null
+++ b/client/public/images/countries/ps.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/pt.svg b/client/public/images/countries/pt.svg
new file mode 100644
index 00000000..2f36b7ee
--- /dev/null
+++ b/client/public/images/countries/pt.svg
@@ -0,0 +1,57 @@
+
diff --git a/client/public/images/countries/pw.svg b/client/public/images/countries/pw.svg
new file mode 100644
index 00000000..089cbcee
--- /dev/null
+++ b/client/public/images/countries/pw.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/py.svg b/client/public/images/countries/py.svg
new file mode 100644
index 00000000..bfbf01f1
--- /dev/null
+++ b/client/public/images/countries/py.svg
@@ -0,0 +1,157 @@
+
diff --git a/client/public/images/countries/qa.svg b/client/public/images/countries/qa.svg
new file mode 100644
index 00000000..bd493c38
--- /dev/null
+++ b/client/public/images/countries/qa.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/re.svg b/client/public/images/countries/re.svg
new file mode 100644
index 00000000..3225dddf
--- /dev/null
+++ b/client/public/images/countries/re.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ro.svg b/client/public/images/countries/ro.svg
new file mode 100644
index 00000000..fda0f7be
--- /dev/null
+++ b/client/public/images/countries/ro.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/rs.svg b/client/public/images/countries/rs.svg
new file mode 100644
index 00000000..120293ab
--- /dev/null
+++ b/client/public/images/countries/rs.svg
@@ -0,0 +1,292 @@
+
diff --git a/client/public/images/countries/ru.svg b/client/public/images/countries/ru.svg
new file mode 100644
index 00000000..f4d27efc
--- /dev/null
+++ b/client/public/images/countries/ru.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/rw.svg b/client/public/images/countries/rw.svg
new file mode 100644
index 00000000..6cc669ed
--- /dev/null
+++ b/client/public/images/countries/rw.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/sa.svg b/client/public/images/countries/sa.svg
new file mode 100644
index 00000000..660396a7
--- /dev/null
+++ b/client/public/images/countries/sa.svg
@@ -0,0 +1,25 @@
+
diff --git a/client/public/images/countries/sb.svg b/client/public/images/countries/sb.svg
new file mode 100644
index 00000000..a011360d
--- /dev/null
+++ b/client/public/images/countries/sb.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/sc.svg b/client/public/images/countries/sc.svg
new file mode 100644
index 00000000..9a46b369
--- /dev/null
+++ b/client/public/images/countries/sc.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/sd.svg b/client/public/images/countries/sd.svg
new file mode 100644
index 00000000..b8e4b973
--- /dev/null
+++ b/client/public/images/countries/sd.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/se.svg b/client/public/images/countries/se.svg
new file mode 100644
index 00000000..0e41780e
--- /dev/null
+++ b/client/public/images/countries/se.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/sg.svg b/client/public/images/countries/sg.svg
new file mode 100644
index 00000000..c4dd4ac9
--- /dev/null
+++ b/client/public/images/countries/sg.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/sh.svg b/client/public/images/countries/sh.svg
new file mode 100644
index 00000000..131b069a
--- /dev/null
+++ b/client/public/images/countries/sh.svg
@@ -0,0 +1,76 @@
+
diff --git a/client/public/images/countries/si.svg b/client/public/images/countries/si.svg
new file mode 100644
index 00000000..f2aea016
--- /dev/null
+++ b/client/public/images/countries/si.svg
@@ -0,0 +1,18 @@
+
diff --git a/client/public/images/countries/sj.svg b/client/public/images/countries/sj.svg
new file mode 100644
index 00000000..bb2799ce
--- /dev/null
+++ b/client/public/images/countries/sj.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/sk.svg b/client/public/images/countries/sk.svg
new file mode 100644
index 00000000..a1953fa6
--- /dev/null
+++ b/client/public/images/countries/sk.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/sl.svg b/client/public/images/countries/sl.svg
new file mode 100644
index 00000000..a07baf75
--- /dev/null
+++ b/client/public/images/countries/sl.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/sm.svg b/client/public/images/countries/sm.svg
new file mode 100644
index 00000000..0892990b
--- /dev/null
+++ b/client/public/images/countries/sm.svg
@@ -0,0 +1,75 @@
+
diff --git a/client/public/images/countries/sn.svg b/client/public/images/countries/sn.svg
new file mode 100644
index 00000000..7c0673d6
--- /dev/null
+++ b/client/public/images/countries/sn.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/so.svg b/client/public/images/countries/so.svg
new file mode 100644
index 00000000..ae582f19
--- /dev/null
+++ b/client/public/images/countries/so.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/sr.svg b/client/public/images/countries/sr.svg
new file mode 100644
index 00000000..5e71c400
--- /dev/null
+++ b/client/public/images/countries/sr.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/ss.svg b/client/public/images/countries/ss.svg
new file mode 100644
index 00000000..73804d80
--- /dev/null
+++ b/client/public/images/countries/ss.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/st.svg b/client/public/images/countries/st.svg
new file mode 100644
index 00000000..f2e75c14
--- /dev/null
+++ b/client/public/images/countries/st.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/sv.svg b/client/public/images/countries/sv.svg
new file mode 100644
index 00000000..3a63913d
--- /dev/null
+++ b/client/public/images/countries/sv.svg
@@ -0,0 +1,594 @@
+
diff --git a/client/public/images/countries/sx.svg b/client/public/images/countries/sx.svg
new file mode 100644
index 00000000..84844e0f
--- /dev/null
+++ b/client/public/images/countries/sx.svg
@@ -0,0 +1,56 @@
+
diff --git a/client/public/images/countries/sy.svg b/client/public/images/countries/sy.svg
new file mode 100644
index 00000000..29636ae0
--- /dev/null
+++ b/client/public/images/countries/sy.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/sz.svg b/client/public/images/countries/sz.svg
new file mode 100644
index 00000000..5eef6914
--- /dev/null
+++ b/client/public/images/countries/sz.svg
@@ -0,0 +1,34 @@
+
diff --git a/client/public/images/countries/ta.svg b/client/public/images/countries/ta.svg
new file mode 100644
index 00000000..b68ad23c
--- /dev/null
+++ b/client/public/images/countries/ta.svg
@@ -0,0 +1,76 @@
+
diff --git a/client/public/images/countries/tc.svg b/client/public/images/countries/tc.svg
new file mode 100644
index 00000000..89d29bbf
--- /dev/null
+++ b/client/public/images/countries/tc.svg
@@ -0,0 +1,50 @@
+
diff --git a/client/public/images/countries/td.svg b/client/public/images/countries/td.svg
new file mode 100644
index 00000000..9fadf85a
--- /dev/null
+++ b/client/public/images/countries/td.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/tf.svg b/client/public/images/countries/tf.svg
new file mode 100644
index 00000000..88323d2c
--- /dev/null
+++ b/client/public/images/countries/tf.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/tg.svg b/client/public/images/countries/tg.svg
new file mode 100644
index 00000000..e20f40d8
--- /dev/null
+++ b/client/public/images/countries/tg.svg
@@ -0,0 +1,14 @@
+
diff --git a/client/public/images/countries/th.svg b/client/public/images/countries/th.svg
new file mode 100644
index 00000000..1e93a61e
--- /dev/null
+++ b/client/public/images/countries/th.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/tj.svg b/client/public/images/countries/tj.svg
new file mode 100644
index 00000000..d2ba7333
--- /dev/null
+++ b/client/public/images/countries/tj.svg
@@ -0,0 +1,22 @@
+
diff --git a/client/public/images/countries/tk.svg b/client/public/images/countries/tk.svg
new file mode 100644
index 00000000..65bab137
--- /dev/null
+++ b/client/public/images/countries/tk.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/tl.svg b/client/public/images/countries/tl.svg
new file mode 100644
index 00000000..bcfc1612
--- /dev/null
+++ b/client/public/images/countries/tl.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/tm.svg b/client/public/images/countries/tm.svg
new file mode 100644
index 00000000..08792a77
--- /dev/null
+++ b/client/public/images/countries/tm.svg
@@ -0,0 +1,205 @@
+
diff --git a/client/public/images/countries/tn.svg b/client/public/images/countries/tn.svg
new file mode 100644
index 00000000..6a1989b4
--- /dev/null
+++ b/client/public/images/countries/tn.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/to.svg b/client/public/images/countries/to.svg
new file mode 100644
index 00000000..d0723370
--- /dev/null
+++ b/client/public/images/countries/to.svg
@@ -0,0 +1,10 @@
+
diff --git a/client/public/images/countries/tr.svg b/client/public/images/countries/tr.svg
new file mode 100644
index 00000000..a92804f8
--- /dev/null
+++ b/client/public/images/countries/tr.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/tt.svg b/client/public/images/countries/tt.svg
new file mode 100644
index 00000000..14adbe04
--- /dev/null
+++ b/client/public/images/countries/tt.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/tv.svg b/client/public/images/countries/tv.svg
new file mode 100644
index 00000000..675210ec
--- /dev/null
+++ b/client/public/images/countries/tv.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/tw.svg b/client/public/images/countries/tw.svg
new file mode 100644
index 00000000..57fd98b4
--- /dev/null
+++ b/client/public/images/countries/tw.svg
@@ -0,0 +1,34 @@
+
diff --git a/client/public/images/countries/tz.svg b/client/public/images/countries/tz.svg
new file mode 100644
index 00000000..751c1672
--- /dev/null
+++ b/client/public/images/countries/tz.svg
@@ -0,0 +1,13 @@
+
diff --git a/client/public/images/countries/ua.svg b/client/public/images/countries/ua.svg
new file mode 100644
index 00000000..a339eb1b
--- /dev/null
+++ b/client/public/images/countries/ua.svg
@@ -0,0 +1,6 @@
+
diff --git a/client/public/images/countries/ug.svg b/client/public/images/countries/ug.svg
new file mode 100644
index 00000000..78252a42
--- /dev/null
+++ b/client/public/images/countries/ug.svg
@@ -0,0 +1,30 @@
+
diff --git a/client/public/images/countries/um.svg b/client/public/images/countries/um.svg
new file mode 100644
index 00000000..5f2822d5
--- /dev/null
+++ b/client/public/images/countries/um.svg
@@ -0,0 +1,15 @@
+
diff --git a/client/public/images/countries/un.svg b/client/public/images/countries/un.svg
new file mode 100644
index 00000000..e4753370
--- /dev/null
+++ b/client/public/images/countries/un.svg
@@ -0,0 +1,16 @@
+
diff --git a/client/public/images/countries/us.svg b/client/public/images/countries/us.svg
new file mode 100644
index 00000000..615946d4
--- /dev/null
+++ b/client/public/images/countries/us.svg
@@ -0,0 +1,9 @@
+
diff --git a/client/public/images/countries/uy.svg b/client/public/images/countries/uy.svg
new file mode 100644
index 00000000..4a54b857
--- /dev/null
+++ b/client/public/images/countries/uy.svg
@@ -0,0 +1,28 @@
+
diff --git a/client/public/images/countries/uz.svg b/client/public/images/countries/uz.svg
new file mode 100644
index 00000000..aaf9382a
--- /dev/null
+++ b/client/public/images/countries/uz.svg
@@ -0,0 +1,30 @@
+
diff --git a/client/public/images/countries/va.svg b/client/public/images/countries/va.svg
new file mode 100644
index 00000000..c7d87916
--- /dev/null
+++ b/client/public/images/countries/va.svg
@@ -0,0 +1,190 @@
+
diff --git a/client/public/images/countries/vc.svg b/client/public/images/countries/vc.svg
new file mode 100644
index 00000000..450f6f0a
--- /dev/null
+++ b/client/public/images/countries/vc.svg
@@ -0,0 +1,8 @@
+
diff --git a/client/public/images/countries/ve.svg b/client/public/images/countries/ve.svg
new file mode 100644
index 00000000..314e7f5f
--- /dev/null
+++ b/client/public/images/countries/ve.svg
@@ -0,0 +1,26 @@
+
diff --git a/client/public/images/countries/vg.svg b/client/public/images/countries/vg.svg
new file mode 100644
index 00000000..4d2c3976
--- /dev/null
+++ b/client/public/images/countries/vg.svg
@@ -0,0 +1,59 @@
+
diff --git a/client/public/images/countries/vi.svg b/client/public/images/countries/vi.svg
new file mode 100644
index 00000000..3a64338e
--- /dev/null
+++ b/client/public/images/countries/vi.svg
@@ -0,0 +1,28 @@
+
diff --git a/client/public/images/countries/vn.svg b/client/public/images/countries/vn.svg
new file mode 100644
index 00000000..24bedc50
--- /dev/null
+++ b/client/public/images/countries/vn.svg
@@ -0,0 +1,11 @@
+
diff --git a/client/public/images/countries/vu.svg b/client/public/images/countries/vu.svg
new file mode 100644
index 00000000..efcff895
--- /dev/null
+++ b/client/public/images/countries/vu.svg
@@ -0,0 +1,21 @@
+
diff --git a/client/public/images/countries/wf.svg b/client/public/images/countries/wf.svg
new file mode 100644
index 00000000..57feb3a5
--- /dev/null
+++ b/client/public/images/countries/wf.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/ws.svg b/client/public/images/countries/ws.svg
new file mode 100644
index 00000000..0e758a7a
--- /dev/null
+++ b/client/public/images/countries/ws.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/xk.svg b/client/public/images/countries/xk.svg
new file mode 100644
index 00000000..de6ef4da
--- /dev/null
+++ b/client/public/images/countries/xk.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/xx.svg b/client/public/images/countries/xx.svg
new file mode 100644
index 00000000..9333be36
--- /dev/null
+++ b/client/public/images/countries/xx.svg
@@ -0,0 +1,4 @@
+
diff --git a/client/public/images/countries/ye.svg b/client/public/images/countries/ye.svg
new file mode 100644
index 00000000..61f0ed61
--- /dev/null
+++ b/client/public/images/countries/ye.svg
@@ -0,0 +1,7 @@
+
diff --git a/client/public/images/countries/yt.svg b/client/public/images/countries/yt.svg
new file mode 100644
index 00000000..5ea2f648
--- /dev/null
+++ b/client/public/images/countries/yt.svg
@@ -0,0 +1,5 @@
+
diff --git a/client/public/images/countries/za.svg b/client/public/images/countries/za.svg
new file mode 100644
index 00000000..aa54beb8
--- /dev/null
+++ b/client/public/images/countries/za.svg
@@ -0,0 +1,17 @@
+
diff --git a/client/public/images/countries/zm.svg b/client/public/images/countries/zm.svg
new file mode 100644
index 00000000..b8fdd63c
--- /dev/null
+++ b/client/public/images/countries/zm.svg
@@ -0,0 +1,27 @@
+
diff --git a/client/public/images/countries/zw.svg b/client/public/images/countries/zw.svg
new file mode 100644
index 00000000..5c197469
--- /dev/null
+++ b/client/public/images/countries/zw.svg
@@ -0,0 +1,21 @@
+
diff --git a/client/src/@types/server.d.ts b/client/src/@types/server.d.ts
index d023d211..96701f8f 100644
--- a/client/src/@types/server.d.ts
+++ b/client/src/@types/server.d.ts
@@ -15,6 +15,7 @@ interface MissionData {
theatre: string,
dateAndTime: DateAndTime;
commandModeOptions: CommandModeOptions;
+ coalitions: {red: string[], blue: string[]} = {};
}
time: number;
sessionHash: string;
diff --git a/client/src/@types/unitdatabase.d.ts b/client/src/@types/unitdatabase.d.ts
index 704cf88e..2d49b1e8 100644
--- a/client/src/@types/unitdatabase.d.ts
+++ b/client/src/@types/unitdatabase.d.ts
@@ -22,4 +22,6 @@ interface UnitBlueprint {
range?: string;
loadouts?: LoadoutBlueprint[];
filename?: string;
+ liveryID?: string;
+ cost?: number;
}
diff --git a/client/src/controls/mapcontextmenu.ts b/client/src/controls/mapcontextmenu.ts
index 5d472fc9..1d51952c 100644
--- a/client/src/controls/mapcontextmenu.ts
+++ b/client/src/controls/mapcontextmenu.ts
@@ -92,7 +92,8 @@ export class MapContextMenu extends ContextMenu {
document.addEventListener("contextMenuDeployAircrafts", () => {
this.#spawnOptions.coalition = getActiveCoalition();
if (this.#spawnOptions) {
- var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, altitude: this.#spawnOptions.altitude, loadout: this.#spawnOptions.loadout};
+ const liveryID = aircraftDatabase.getByName(this.#spawnOptions.name)?.liveryID;
+ var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, altitude: this.#spawnOptions.altitude, loadout: this.#spawnOptions.loadout, liveryID: liveryID? liveryID: ""};
var units = [];
for (let i = 1; i < parseInt(this.#aircraftCountDropdown.getValue()) + 1; i++) {
units.push(unitTable);
@@ -107,7 +108,8 @@ export class MapContextMenu extends ContextMenu {
document.addEventListener("contextMenuDeployHelicopters", () => {
this.#spawnOptions.coalition = getActiveCoalition();
if (this.#spawnOptions) {
- var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, altitude: this.#spawnOptions.altitude, loadout: this.#spawnOptions.loadout};
+ const liveryID = aircraftDatabase.getByName(this.#spawnOptions.name)?.liveryID;
+ var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, altitude: this.#spawnOptions.altitude, loadout: this.#spawnOptions.loadout, liveryID: liveryID? liveryID: ""};
var units = [];
for (let i = 1; i < parseInt(this.#helicopterCountDropdown.getValue()) + 1; i++) {
units.push(unitTable);
@@ -122,7 +124,8 @@ export class MapContextMenu extends ContextMenu {
document.addEventListener("contextMenuDeployGroundUnits", () => {
this.#spawnOptions.coalition = getActiveCoalition();
if (this.#spawnOptions) {
- var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng};
+ const liveryID = aircraftDatabase.getByName(this.#spawnOptions.name)?.liveryID;
+ var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, liveryID: liveryID? liveryID: ""};
var units = [];
for (let i = 1; i < parseInt(this.#groundUnitCountDropdown.getValue()) + 1; i++) {
units.push(JSON.parse(JSON.stringify(unitTable)));
@@ -138,7 +141,8 @@ export class MapContextMenu extends ContextMenu {
document.addEventListener("contextMenuDeployNavyUnits", () => {
this.#spawnOptions.coalition = getActiveCoalition();
if (this.#spawnOptions) {
- var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng};
+ const liveryID = aircraftDatabase.getByName(this.#spawnOptions.name)?.liveryID;
+ var unitTable = {unitType: this.#spawnOptions.name, location: this.#spawnOptions.latlng, liveryID: liveryID? liveryID: ""};
var units = [];
for (let i = 1; i < parseInt(this.#navyUnitCountDropdown.getValue()) + 1; i++) {
units.push(JSON.parse(JSON.stringify(unitTable)));
diff --git a/client/src/mission/missionhandler.ts b/client/src/mission/missionhandler.ts
index 4ce104b6..facf7682 100644
--- a/client/src/mission/missionhandler.ts
+++ b/client/src/mission/missionhandler.ts
@@ -21,6 +21,7 @@ export class MissionHandler {
#spentSpawnPoint: number = 0;
#commandModeDialog: HTMLElement;
#commandModeErasDropdown: Dropdown;
+ #coalitions: {red: string[], blue: string[]} = {red: [], blue: []};
constructor() {
document.addEventListener("showCommandModeDialog", () => this.showCommandModeDialog());
@@ -75,6 +76,9 @@ export class MissionHandler {
/* Set the date and time data */
this.#dateAndTime = data.mission.dateAndTime;
+ /* Set the coalition countries */
+ //this.#coalitions = data.mission.coalitions;
+
/* Set the command mode options */
this.#setcommandModeOptions(data.mission.commandModeOptions);
this.#remainingSetupTime = this.getCommandModeOptions().setupTime - this.getDateAndTime().elapsedTime;
@@ -112,6 +116,10 @@ export class MissionHandler {
return this.#remainingSetupTime;
}
+ getCoalitions() {
+ return this.#coalitions;
+ }
+
getAvailableSpawnPoints() {
if (this.getCommandModeOptions().commandMode === GAME_MASTER)
return Infinity;
diff --git a/client/src/unit/aircraftdatabase.ts b/client/src/unit/aircraftdatabase.ts
index 87d842cd..f7781ef3 100644
--- a/client/src/unit/aircraftdatabase.ts
+++ b/client/src/unit/aircraftdatabase.ts
@@ -4,3987 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class AircraftDatabase extends UnitDatabase {
constructor() {
- super();
-
- this.blueprints = {
- "A-10C_2": {
- "name": "A-10C_2",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "A-10C Warthog",
- "shortLabel": "10",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Mk-84",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "Mk-82",
- "quantity": 6
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "Mk-82*6,Mk-84*2,AIM-9*2,ECM",
- "name": "Heavy / Mk-84 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-65D",
- "quantity": 4
- },
- {
- "name": "CBU-97",
- "quantity": 4
- },
- {
- "name": "TGP",
- "quantity": 1
- },
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "AIM-9",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AGM-65D*4, CBU-97*4,TGP, ECM, AIM-9*2",
- "name": "Heavy / AGM-65D / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "GBU-12",
- "quantity": 6
- },
- {
- "name": "GBU-10",
- "quantity": 2
- },
- {
- "name": "TGP",
- "quantity": 1
- },
- {
- "name": "AIM-9",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "GBU-12*6,GBU-10*2,TGP, AIM-9*2",
- "name": "Heavy / GBU-12 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "a-10.png"
- },
- "AJS37": {
- "name": "AJS37",
- "coalition": "blue",
- "label": "AJS37 Viggen",
- "era": "Mid Cold War",
- "shortLabel": "37",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "BK90",
- "quantity": 2
- },
- {
- "name": "RB-74",
- "quantity": 2
- },
- {
- "name": "XT",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Strike: BK90 (MJ1)*2, RB-74*2, XT",
- "name": "Heavy / BK90 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "ARAK M70 HE",
- "quantity": 4
- },
- {
- "name": "XT",
- "quantity": 1
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "CAS: ARAK M70 HE*4, XT",
- "name": "Heavy / ARAK M79 HE / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "RB05",
- "quantity": 2
- },
- {
- "name": "RB74",
- "quantity": 2
- },
- {
- "name": "XT",
- "quantity": 1
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "Anti-ship (RB05): RB-05A*2, RB-74*2, XT",
- "name": "Heavy / RB05 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "viggen.png"
- },
- "AV8BNA": {
- "name": "AV8BNA",
- "coalition": "blue",
- "label": "AV8BNA Harrier",
- "era": "Late Cold War",
- "shortLabel": "8",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "GBU-38",
- "quantity": 2
- },
- {
- "name": "AIM-9M",
- "quantity": 1
- },
- {
- "name": "AGM-122 Sidearm",
- "quantity": 1
- },
- {
- "name": "Fuel 300",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "H-M-H 3",
- "name": "Heavy / GBU-38 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-65F",
- "quantity": 4
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "GAU-12",
- "quantity": 1
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "Anti Armor",
- "name": "Heavy / AGM-65F / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "av8bna.png"
- },
- "C-101CC": {
- "name": "C-101CC",
- "coalition": "blue",
- "label": "C-101CC",
- "era": "Late Cold War",
- "shortLabel": "101",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "DEFA 553 CANNON (I)",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "2*AIM-9M, DEFA 553 CANNON (I)",
- "name": "Light / Fox 2 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "BELOUGA",
- "quantity": 2
- },
- {
- "name": "BIN-200",
- "quantity": 2
- },
- {
- "name": "AN-M3 CANNON",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "2*AIM-9M ,2*BELOUGA,2*BIN-200, AN-M3 CANNON",
- "name": "Heavy / BELOUGA, BIN-200 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "c-101.png"
- },
- "H-6J": {
- "name": "H-6J",
- "coalition": "red",
- "label": "H-6J Badger",
- "era": "Mid Cold War",
- "shortLabel": "H6",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "250-3 LD Bomb",
- "quantity": 36
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "250-3 LD Bomb x 36",
- "name": "Heavy / Bombs / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "KD-20",
- "quantity": 4
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "KD-20 x 4",
- "name": "Heavy / KD-20 / Long Range"
- }
- ],
- "filename": "h-6.png"
- },
- "J-11A": {
- "name": "J-11A",
- "coalition": "red",
- "label": "J-11A Flaming Dragon",
- "era": "Modern",
- "shortLabel": "11",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-500",
- "quantity": 8
- },
- {
- "name": "R-73",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500x8,R-73x2,ECM",
- "name": "Heavy / Fox 2 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-77",
- "quantity": 2
- },
- {
- "name": "R-73",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-77x2, R-73x2",
- "name": "Light / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-27ER",
- "quantity": 2
- },
- {
- "name": "R-73",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-27ERx2, R-73x2",
- "name": "Light / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-27.png"
- },
- "JF-17": {
- "name": "JF-17",
- "coalition": "red",
- "label": "JF-17 Thunder",
- "era": "Modern",
- "shortLabel": "17",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "PL-5E2",
- "quantity": 2
- },
- {
- "name": "C802AK",
- "quantity": 2
- },
- {
- "name": "800L Tank",
- "quantity": 1
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "PL-5Ex2, C802AKx2, 800L Tank",
- "name": "Heavy / C802AK ASM / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "PL-5E2",
- "quantity": 2
- },
- {
- "name": "GBU-12",
- "quantity": 2
- },
- {
- "name": "800L Tank",
- "quantity": 1
- },
- {
- "name": "WMD7",
- "quantity": 1
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "PL-5Ex2, 2*GBU-12x2, 800L Tank, WMD7",
- "name": "Heavy / C802AK ASM / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "PL-5E2",
- "quantity": 2
- },
- {
- "name": "SD-10",
- "quantity": 2
- },
- {
- "name": "1100L Tank",
- "quantity": 2
- },
- {
- "name": "WMD7",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "PL-5Ex2, SD-10x2, 1100L Tankx2, WMD7",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "jf-17.png"
- },
- "F-16C_50": {
- "name": "F-16C_50",
- "coalition": "blue",
- "label": "F-16C Viper",
- "era": "Late Cold War",
- "shortLabel": "16",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-120C",
- "quantity": 2
- },
- {
- "name": "AIM-9X",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-120C*2, AIM-9X*4, FUEL*2",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-120C",
- "quantity": 2
- },
- {
- "name": "AIM-9X",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "TGP",
- "quantity": 1
- },
- {
- "name": "AGM-65D",
- "quantity": 4
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AIM-120C*2, AIM-9X*2, AGM-65D*4, FUEL*2, ECM, TGP",
- "name": "Heavy / Fox 3, AGM-65D / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-120C",
- "quantity": 2
- },
- {
- "name": "AIM-9X",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "TGP",
- "quantity": 1
- },
- {
- "name": "GBU-10",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AIM-120C*2, AIM-9X*2, GBU-10*2, FUEL*2, ECM, TGP",
- "name": "Heavy / Fox 3, GBU-10 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-16c.png"
- },
- "F-5E-3": {
- "name": "F-5E-3",
- "coalition": "blue",
- "label": "F-5E Tiger",
- "era": "Mid Cold War",
- "shortLabel": "5",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Fuel 275",
- "quantity": 3
- },
- {
- "name": "AIM-9P5",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9P5*2, Fuel 275*3",
- "name": "Heavy / Fox 2 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Mk-82",
- "quantity": 4
- },
- {
- "name": "AIM-9P5",
- "quantity": 2
- },
- {
- "name": "Fuel 275",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Mk-82LD*4,AIM-9P*2,Fuel 275",
- "name": "Heavy / Fox 2 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-5.png"
- },
- "F-86F Sabre": {
- "name": "F-86F Sabre",
- "coalition": "blue",
- "label": "F-86F Sabre",
- "era": "Early Cold War",
- "shortLabel": "86",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "120gal Fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "120gal Fuel*2",
- "name": "Light / Guns / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "HVAR",
- "quantity": 16
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "HVAR*16",
- "name": "Light / HVAR / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AN-M64",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AN-M64*2",
- "name": "Light / AN-M64 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Light / Guns / Short Range"
- }
- ],
- "filename": "f-5.png"
- },
- "F-14A-135-GR": {
- "name": "F-14A-135-GR",
- "coalition": "blue",
- "label": "F-14A-135-GR Tomcat",
- "era": "Mid Cold War",
- "shortLabel": "14A",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-54A",
- "quantity": 2
- },
- {
- "name": "AIM-7F",
- "quantity": 1
- },
- {
- "name": "AIM-9L",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-54A-MK47*2, AIM-7F*1, AIM-9L*4, XT*2",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-7F",
- "quantity": 4
- },
- {
- "name": "AIM-9L",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-7F*4, AIM-9L*4, XT*2",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-7M",
- "quantity": 1
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "GBU-12",
- "quantity": 2
- },
- {
- "name": "LANTIRN",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AIM-7M*1, AIM-9M*2, XT*2, GBU-12*2, LANTIRN",
- "name": "Heavy / Fox 3, GBU-12 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-14.png"
- },
- "F-14B": {
- "name": "F-14B",
- "coalition": "blue",
- "label": "F-14B Tomcat",
- "era": "Late Cold War",
- "shortLabel": "14B",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-54C",
- "quantity": 2
- },
- {
- "name": "AIM-7M",
- "quantity": 3
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-54C-MK47*2, AIM-7M*3, AIM-9M*2, XT*2",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-7M",
- "quantity": 6
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-7M*6, AIM-9M*2, XT*2",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-7M",
- "quantity": 1
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "GBU-12",
- "quantity": 2
- },
- {
- "name": "LANTIRN",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AIM-7M*1, AIM-9M*2, XT*2, GBU-12*2, LANTIRN",
- "name": "Heavy / Fox 3, GBU-12 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-14.png"
- },
- "FA-18C_hornet": {
- "name": "FA-18C_hornet",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "F/A-18C",
- "shortLabel": "18",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-120C-5",
- "quantity": 6
- },
- {
- "name": "AIM-9X",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9X*2, AIM-120C-5*6, FUEL*3",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-7M",
- "quantity": 4
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9M*2, AIM-7M*4, FUEL*3",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 1
- },
- {
- "name": "AIM-120C-5",
- "quantity": 1
- },
- {
- "name": "AIM-9X",
- "quantity": 2
- },
- {
- "name": "AGM-88C",
- "quantity": 2
- }
- ],
- "roles": [
- "SEAD"
- ],
- "code": "AIM-9X*2, AIM-120C-5*2, AGM-88C*2, FUEL",
- "name": "Heavy / Fox 3, AGM-88C / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 1
- },
- {
- "name": "AIM-120C-5",
- "quantity": 1
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "AGM-84D",
- "quantity": 4
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "AIM-9M*2, AIM-120C-5*1, AGM-84D*4, ATFLIR, FUEL",
- "name": "Heavy / Fox 3, AGM-84D / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 1
- },
- {
- "name": "AIM-120C-5",
- "quantity": 1
- },
- {
- "name": "AIM-9X",
- "quantity": 2
- },
- {
- "name": "GBU-12",
- "quantity": 4
- },
- {
- "name": "GBU-38",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AIM-9X*2, AIM-120C-5*1, GBU-38*4, GBU-12*4, ATFLIR, FUEL",
- "name": "Heavy / Fox 3, GBU-12, GBU-38 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "fa-18c.png"
- },
- "I-16": {
- "name": "I-16",
- "coalition": "",
- "label": "I-16",
- "era": "WW2",
- "shortLabel": "I16",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "i-16.png"
- },
- "L-39ZA": {
- "name": "L-39ZA",
- "coalition": "red",
- "label": "L-39ZA",
- "era": "Mid Cold War",
- "shortLabel": "39",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "S-5KO",
- "quantity": 32
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "S-5KOx32",
- "name": "Heavy / S-5KO / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-100",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-100x4",
- "name": "Heavy / FAB-100 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-60Mx2",
- "name": "Light / Fox 2 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "l-39.png"
- },
- "M-2000C": {
- "name": "M-2000C",
- "coalition": "blue",
- "label": "M-2000C Mirage",
- "era": "Late Cold War",
- "shortLabel": "M2KC",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Matra Magic II",
- "quantity": 2
- },
- {
- "name": "Super 530D",
- "quantity": 2
- },
- {
- "name": "Eclair",
- "quantity": 1
- },
- {
- "name": "fuel",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "Fox / S530D / Magic / Eclair",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Matra Magic II",
- "quantity": 2
- },
- {
- "name": "Mk82",
- "quantity": 4
- },
- {
- "name": "fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Kilo / 4xMk-82 / Magic",
- "name": "Heavy / Mk 82 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Matra Magic II",
- "quantity": 2
- },
- {
- "name": "BAP-100",
- "quantity": 18
- },
- {
- "name": "fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "Runway Strike"
- ],
- "code": "Bravo / BAP-100 / Magic",
- "name": "Heavy / BAP-100 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "m2000.png"
- },
- "MB-339A": {
- "name": "MB-339A",
- "coalition": "blue",
- "label": "MB-339A",
- "era": "Mid Cold War",
- "shortLabel": "339A",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "320L TipTanks",
- "quantity": 2
- },
- {
- "name": "DEFA 553 GunPods",
- "quantity": 2
- },
- {
- "name": "Mk83",
- "quantity": 2
- },
- {
- "name": "Mk81",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "A - 2*320L TipTanks + 2*DEFA-553 GunPods + 2*Mk.83 + 2*Mk.81 ",
- "name": "Heavy / Mk81, Mk83 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "320L TipTanks",
- "quantity": 2
- },
- {
- "name": "DEFA GunPods",
- "quantity": 2
- },
- {
- "name": "LAU-10(Zuni Rockets)",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AA - 2*320L TipTanks + 2*DEFA-553 GunPods + 2*LAU-10(Zuni Rockets) [ARMADA]",
- "name": "Heavy / Mk 82 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "c-101.png"
- },
- "MiG-19P": {
- "name": "MiG-19P",
- "coalition": "red",
- "label": "MiG-19 Farmer",
- "era": "Early Cold War",
- "shortLabel": "19",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "K-13A Atoll",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "K-13A x 2",
- "name": "Light / Fox-2 / Short range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "K-13A Atoll",
- "quantity": 2
- },
- {
- "name": "167 gal tanks",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "K-13A x 2, PTB-760 x 2",
- "name": "Medium / Fox-2 / Medium range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-250",
- "quantity": 2
- },
- {
- "name": "ORO-57K",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-250 x 2, ORO-57K x 2",
- "name": "Medium / FAB250, ORO57K / Short range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Short range"
- }
- ],
- "filename": "mig-19.png"
- },
- "MiG-21Bis": {
- "name": "MiG-21Bis",
- "coalition": "red",
- "label": "MiG-21 Fishbed",
- "era": "Mid Cold War",
- "shortLabel": "21",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-3 Atoll",
- "quantity": 2
- },
- {
- "name": "R-60 Aphid",
- "quantity": 2
- },
- {
- "name": "130 gal tanks",
- "quantity": 1
- },
- {
- "name": "ASO-2 Countermeasures",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "Patrol, short range",
- "name": "Light / Fox-2 / Short range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-3 Atoll",
- "quantity": 2
- },
- {
- "name": "R-60 Aphid",
- "quantity": 2
- },
- {
- "name": "210 gal tanks",
- "quantity": 1
- },
- {
- "name": "ASO-2 Countermeasures",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "Patrol, medium range",
- "name": "Medium / Fox-2 / Medium range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-3R Atoll",
- "quantity": 2
- },
- {
- "name": "210 gal tanks",
- "quantity": 1
- },
- {
- "name": "ASO-2 Countermeasures",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "Patrol, R-3R Only",
- "name": "Medium / Fox-1 / Medium range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "GROM",
- "quantity": 2
- },
- {
- "name": "FAB-250",
- "quantity": 2
- },
- {
- "name": "210 gal tanks",
- "quantity": 1
- },
- {
- "name": "ASO-2 Countermeasures",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Few big targets, GROM + BOMBS",
- "name": "Heavy / GROM, FAB250 / Medium range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-21.png"
- },
- "Mirage-F1EE": {
- "name": "Mirage-F1EE",
- "coalition": "blue",
- "label": "Mirage-F1EE",
- "era": "Mid Cold War",
- "shortLabel": "F1EE",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9JULI",
- "quantity": 2
- },
- {
- "name": "R530EM",
- "quantity": 2
- },
- {
- "name": "1137L Fuel Tank",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "2*AIM9-JULI, 2*R530EM, 1*Fuel Tank",
- "name": "Medium / Fox 1 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9JULI",
- "quantity": 2
- },
- {
- "name": "SAMP 400 LD",
- "quantity": 8
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "2*AIM-9JULI, 8*SAMP 400 LD",
- "name": "Heavy / SAMP400 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-5.png"
- },
- "A-20G": {
- "name": "A-20G",
- "coalition": "",
- "label": "A-20G Havoc",
- "era": "WW2",
- "shortLabel": "A20",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "12.7mm M2 HMG",
- "quantity": 6
- },
- {
- "name": "500lb Bomb LD",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "500 lb GP bomb LD*4",
- "name": "Medium / Bombs / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "a-20.png"
- },
- "Bf-109K-4": {
- "name": "Bf-109K-4",
- "coalition": "",
- "label": "Bf-109K-4 Fritz",
- "era": "WW2",
- "shortLabel": "109",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "30mm MK108 Gun",
- "quantity": 1
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- },
- {
- "name": "SC500",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "500 lb GP bomb LD*4",
- "name": "Medium / Bombs / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "30mm MK108 Gun",
- "quantity": 1
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- },
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Short Range"
- }
- ],
- "filename": "bf109.png"
- },
- "FW-190A8": {
- "name": "FW-190A8",
- "coalition": "",
- "label": "FW-190A8 Bosch",
- "era": "WW2",
- "shortLabel": "190A8",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm MG151 Gun",
- "quantity": 4
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- },
- {
- "name": "SD500",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "SD 500 A",
- "name": "Medium / Bombs / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm MG151 Gun",
- "quantity": 4
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Short Range"
- }
- ],
- "filename": "fw190.png"
- },
- "FW-190D9": {
- "name": "FW-190D9",
- "coalition": "",
- "label": "FW-190D9 Jerry",
- "era": "WW2",
- "shortLabel": "190D9",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm MG151 Gun",
- "quantity": 4
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- },
- {
- "name": "SC500",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "SD 500 A",
- "name": "Medium / Bombs / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm MG151 Gun",
- "quantity": 4
- },
- {
- "name": "13mm MG131 Gun",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Short Range"
- }
- ],
- "filename": "fw190.png"
- },
- "MosquitoFBMkVI": {
- "name": "MosquitoFBMkVI",
- "coalition": "",
- "label": "Mosquito FB MkVI",
- "era": "WW2",
- "shortLabel": "Mosquito",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm Hispano Gun",
- "quantity": 4
- },
- {
- "name": "7.7mm MG",
- "quantity": 4
- },
- {
- "name": "500 lb GP Mk.V",
- "quantity": 2
- },
- {
- "name": "500 lb GP Short tail",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "500 lb GP Mk.V*2, 500 lb GP Short tail*2",
- "name": "Medium / Bombs / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm Hispano Gun",
- "quantity": 4
- },
- {
- "name": "7.7mm MG",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Medium Range"
- }
- ],
- "filename": "mosquito.png"
- },
- "P-47D-40": {
- "name": "P-47D-40",
- "coalition": "",
- "label": "P-47D Thunderbolt",
- "era": "WW2",
- "shortLabel": "P47",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "12.7mm HMG",
- "quantity": 8
- },
- {
- "name": "AN-M65",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AN-M65*2",
- "name": "Medium / Bombs / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "12.7mm HMG",
- "quantity": 8
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Medium Range"
- }
- ],
- "filename": "p-47.png"
- },
- "P-51D-30-NA": {
- "name": "P-51D-30-NA",
- "coalition": "",
- "label": "P-51D Mustang",
- "era": "WW2",
- "shortLabel": "P51",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "12.7mm HMG",
- "quantity": 6
- },
- {
- "name": "HVAR",
- "quantity": 10
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "HVAR*10",
- "name": "Medium / Rockets / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "12.7mm HMG",
- "quantity": 6
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Medium Range"
- }
- ],
- "filename": "p-51.png"
- },
- "A-50": {
- "name": "A-50",
- "coalition": "red",
- "label": "A-50 Mainstay",
- "era": "Late Cold War",
- "shortLabel": "A50",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "AWACS"
- ],
- "code": "",
- "name": "Default AWACS"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "a-50.png"
- },
- "An-26B": {
- "name": "An-26B",
- "coalition": "red",
- "label": "An-26B Curl",
- "era": "Mid Cold War",
- "shortLabel": "26",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Default Transport"
- }
- ],
- "filename": "an-26.png"
- },
- "An-30M": {
- "name": "An-30M",
- "coalition": "red",
- "label": "An-30M Clank",
- "era": "Mid Cold War",
- "shortLabel": "30",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Reconnaissance"
- ],
- "code": "",
- "name": "Default Reconnaissance"
- }
- ],
- "filename": "a-50.png"
- },
- "B-1B": {
- "name": "B-1B",
- "coalition": "blue",
- "label": "B-1B Lancer",
- "era": "Late Cold War",
- "shortLabel": "1",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Mk-84",
- "quantity": 24
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Mk-84*24",
- "name": "Heavy / Mk-84 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "b-1.png"
- },
- "B-52H": {
- "name": "B-52H",
- "coalition": "blue",
- "label": "B-52H Stratofortress",
- "era": "Early Cold War",
- "shortLabel": "52",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Mk-84",
- "quantity": 18
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Mk-84*18",
- "name": "Heavy / Mk-84 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "b-52.png"
- },
- "C-130": {
- "name": "C-130",
- "coalition": "blue",
- "label": "C-130 Hercules",
- "era": "Early Cold War",
- "shortLabel": "130",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "C-130",
- "name": "Default Transport"
- }
- ],
- "filename": "c-130.png"
- },
- "C-17A": {
- "name": "C-17A",
- "coalition": "blue",
- "label": "C-17A Globemaster",
- "era": "Modern",
- "shortLabel": "C17",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Default Transport"
- }
- ],
- "filename": "c-17.png"
- },
- "E-3A": {
- "name": "E-3A",
- "coalition": "blue",
- "label": "E-3A Sentry",
- "era": "Mid Cold War",
- "shortLabel": "E3",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "AWACS"
- ],
- "code": "",
- "name": "Blue Air Force AWACS"
- }
- ],
- "filename": "e-3.png"
- },
- "E-2C": {
- "name": "E-2C",
- "coalition": "blue",
- "label": "E-2C Hawkeye",
- "era": "Mid Cold War",
- "shortLabel": "2C",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "AWACS"
- ],
- "code": "",
- "name": "Blue Navy AWACS"
- }
- ],
- "filename": "e-2.png"
- },
- "F-117A": {
- "name": "F-117A",
- "coalition": "blue",
- "label": "F-117A Nighthawk",
- "era": "Late Cold War",
- "shortLabel": "117",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "GBU-10",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "GBU-10*2",
- "name": "Heavy / GBU-10 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-117.png"
- },
- "F-15C": {
- "name": "F-15C",
- "coalition": "blue",
- "label": "F-15C Eagle",
- "era": "Late Cold War",
- "shortLabel": "15C",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-120B",
- "quantity": 6
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9*2,AIM-120*6,Fuel*3",
- "name": "Heavy / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-7",
- "quantity": 4
- },
- {
- "name": "AIM-9M",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9*4,AIM-7*4,Fuel",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-15.png"
- },
- "F-15E": {
- "name": "F-15E",
- "coalition": "blue",
- "label": "F-15E Strike Eagle",
- "era": "Late Cold War",
- "shortLabel": "15E",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 3
- },
- {
- "name": "AIM-120B",
- "quantity": 2
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "Mk-84",
- "quantity": 8
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AIM-120B*2,AIM-9M*2,FUEL*3,Mk-84*8",
- "name": "Heavy / Fox 3, Mk-84 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 1
- },
- {
- "name": "AIM-120B",
- "quantity": 2
- },
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "GBU-12",
- "quantity": 4
- },
- {
- "name": "GBU-38",
- "quantity": 4
- },
- {
- "name": "AGM-154C",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "AIM-120B*2,AIM-9M*2,FUEL,GBU-12*4,GBU-38*4,AGM-154C*2",
- "name": "Heavy / Fox 3, GBU-12, GBU-38, AGM-154C / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-15.png"
- },
- "F-15ESE": {
- "name": "F-15ESE",
- "coalition": "blue",
- "label": "F-15E Strike Eagle",
- "era": "Late Cold War",
- "shortLabel": "15E",
- "loadouts": [
- ],
- "filename": "f-15.png"
- },
- "F-4E": {
- "name": "F-4E",
- "coalition": "blue",
- "label": "F-4E Phantom II",
- "era": "Mid Cold War",
- "shortLabel": "4",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "AIM-7M",
- "quantity": 4
- },
- {
- "name": "AIM-9M",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "AIM-9*4,AIM-7*4,Fuel*2",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "AIM-7M",
- "quantity": 2
- },
- {
- "name": "Mk-82",
- "quantity": 18
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Mk-82*18,AIM-7*2,ECM",
- "name": "Heavy / Fox 1, Mk-82 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "ECM",
- "quantity": 1
- },
- {
- "name": "AIM-7M",
- "quantity": 2
- },
- {
- "name": "AGM-65K",
- "quantity": 4
- },
- {
- "name": "Fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AGM-65K*4,AIM-7*2,Fuel*2,ECM",
- "name": "Heavy / Fox 1, AGM-65K / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "f-4.png"
- },
- "IL-76MD": {
- "name": "IL-76MD",
- "coalition": "red",
- "label": "IL-76MD Candid",
- "era": "Mid Cold War",
- "shortLabel": "76",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Default Transport"
- }
- ],
- "filename": "il-76.png"
- },
- "IL-78M": {
- "name": "IL-78M",
- "coalition": "red",
- "label": "IL-78M Midas",
- "era": "Late Cold War",
- "shortLabel": "78",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Tanker"
- ],
- "code": "",
- "name": "Default Tanker"
- }
- ],
- "filename": "il-76.png"
- },
- "KC-135": {
- "name": "KC-135",
- "coalition": "blue",
- "label": "KC-135 Stratotanker",
- "era": "Early Cold War",
- "shortLabel": "135",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Tanker"
- ],
- "code": "",
- "name": "Default Tanker"
- }
- ],
- "filename": "kc-135.png"
- },
- "KC135MPRS": {
- "name": "KC135MPRS",
- "coalition": "blue",
- "label": "KC-135 MPRS Stratotanker",
- "era": "Early Cold War",
- "shortLabel": "135M",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Tanker"
- ],
- "code": "",
- "name": "Default Tanker"
- }
- ],
- "filename": "kc-135.png"
- },
- "S-3B Tanker": {
- "name": "S-3B Tanker",
- "coalition": "blue",
- "label": "S-3B Tanker",
- "era": "Early Cold War",
- "shortLabel": "S3B",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Tanker"
- ],
- "code": "",
- "name": "Default Tanker"
- }
- ],
- "filename": "s-3.png"
- },
- "MiG-15bis": {
- "name": "MiG-15bis",
- "coalition": "red",
- "label": "MiG-15 Fagot",
- "era": "Early Cold War",
- "shortLabel": "M15",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "300L Fuel Tanks",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "2*300L",
- "name": "Medium / Guns / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-100M",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "2*FAB-100M",
- "name": "Medium / FAB-100M / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "CAP"
- ],
- "code": "",
- "name": "Light / Guns / Short Range"
- },
- ],
- "filename": "mig-15.png"
- },
- "MiG-23MLD": {
- "name": "MiG-23MLD",
- "coalition": "red",
- "label": "MiG-23 Flogger",
- "era": "Mid Cold War",
- "shortLabel": "23",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Fuel-800",
- "quantity": 1
- },
- {
- "name": "R-60M",
- "quantity": 4
- },
- {
- "name": "R-24R",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-24R*2,R-60M*4,Fuel-800",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Fuel-800",
- "quantity": 1
- },
- {
- "name": "FAB-500",
- "quantity": 2
- },
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500*2,R-60M*2,Fuel-800",
- "name": "Heavy / FAB-500 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-23.png"
- },
- "MiG-25RBT": {
- "name": "MiG-25RBT",
- "coalition": "red",
- "label": "MiG-25RBT Foxbat",
- "era": "Mid Cold War",
- "shortLabel": "25",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "Reconnaissance"
- ],
- "code": "R-60M*2",
- "name": "Heavy / Fox 2 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-500",
- "quantity": 2
- },
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500x2_60x2",
- "name": "Heavy / FAB-500 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-25.png"
- },
- "MiG-25PD": {
- "name": "MiG-25PD",
- "coalition": "red",
- "label": "MiG-25PD Foxbat",
- "era": "Mid Cold War",
- "shortLabel": "25",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-40R",
- "quantity": 2
- },
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-40R*2,R-60M*2",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-25.png"
- },
- "MiG-27K": {
- "name": "MiG-27K",
- "coalition": "red",
- "label": "MiG-27K Flogger-D",
- "era": "Mid Cold War",
- "shortLabel": "27",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "B-8",
- "quantity": 4
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "B-8*4",
- "name": "Heavy / B-8 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-29L",
- "quantity": 2
- },
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Kh-29L*2,R-60M*2,Fuel",
- "name": "Heavy / Fox 2, Kh-29L / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-250",
- "quantity": 6
- },
- {
- "name": "R-60M",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-250*6,R-60M*2,Fuel",
- "name": "Heavy / Fox 2, FAB250 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-23.png"
- },
- "MiG-29A": {
- "name": "MiG-29A",
- "coalition": "red",
- "label": "MiG-29A Fulcrum",
- "era": "Late Cold War",
- "shortLabel": "29A",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 4
- },
- {
- "name": "R-27R",
- "quantity": 2
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*4,R-27R*2,Fuel-1500",
- "name": "Heavy / Fox 1, HOBS Fox 2 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 4
- },
- {
- "name": "R-27R",
- "quantity": 2
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-60M*4,R-27R*2,Fuel-1500",
- "name": "Heavy / Fox 1 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "FAB-500",
- "quantity": 4
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500*4,R-73*2,Fuel",
- "name": "Heavy / Fox 2, FAB500 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-29.png"
- },
- "MiG-29S": {
- "name": "MiG-29S",
- "coalition": "red",
- "label": "MiG-29S Fulcrum",
- "era": "Late Cold War",
- "shortLabel": "29",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 4
- },
- {
- "name": "R-27R",
- "quantity": 2
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-27R*2,Fuel-1500",
- "name": "Heavy / Fox 1, HOBS Fox 2 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 4
- },
- {
- "name": "R-27R",
- "quantity": 2
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-60M*4,R-27R*2",
- "name": "Heavy / Fox 1 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "S-24",
- "quantity": 4
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "S-24*4,R-73*2,Fuel",
- "name": "Heavy / Fox 2, S-24 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "FAB-500",
- "quantity": 4
- },
- {
- "name": "Fuel-1500",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500*4,R-73*2,Fuel",
- "name": "Heavy / Fox 2, FAB500 / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-29.png"
- },
- "MiG-31": {
- "name": "MiG-31",
- "coalition": "red",
- "label": "MiG-31 Foxhound",
- "era": "Late Cold War",
- "shortLabel": "31",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-33",
- "quantity": 4
- },
- {
- "name": "R-40T",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-40T*2,R-33*4",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mig-23.png"
- },
- "MQ-9 Reaper": {
- "name": "MQ-9 Reaper",
- "coalition": "blue",
- "label": "MQ-9 Reaper",
- "era": "Modern",
- "shortLabel": "9",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-114K",
- "quantity": 12
- }
- ],
- "roles": [
- "Drone"
- ],
- "code": "AGM-114K*12",
- "name": "Default Drone"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "i-16.png"
- },
- "Su-17M4": {
- "name": "Su-17M4",
- "coalition": "red",
- "label": "Su-17M4 Fitter",
- "era": "Mid Cold War",
- "shortLabel": "17M4",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- },
- {
- "name": "B-8",
- "quantity": 4
- },
- {
- "name": "fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "B-8*4,R-60M*2,Fuel*2",
- "name": "Heavy / B-8 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-17.png"
- },
- "Su-24M": {
- "name": "Su-24M",
- "coalition": "red",
- "label": "Su-24M Fencer",
- "era": "Mid Cold War",
- "shortLabel": "24",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- },
- {
- "name": "FAB-1500",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-1500*2,R-60M*2",
- "name": "Heavy / FAB-500 / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-24.png"
- },
- "Su-25": {
- "name": "Su-25",
- "coalition": "red",
- "label": "Su-25A Frogfoot",
- "era": "Late Cold War",
- "shortLabel": "S25",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- },
- {
- "name": "UB-13",
- "quantity": 6
- },
- {
- "name": "fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "UB-13*6,R-60M*2,Fuel*2",
- "name": "Heavy / Rockets / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-60M",
- "quantity": 2
- },
- {
- "name": "B-8MI",
- "quantity": 2
- },
- {
- "name": "RBK-500",
- "quantity": 2
- },
- {
- "name": "Kh-25ML",
- "quantity": 2
- },
- {
- "name": "2-25L",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "2-25L*2, KH-25ML*2, RBK-500*2, B-8MI*2, R-60M*2",
- "name": "Heavy / Everything A-G / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-25.png"
- },
- "Su-25T": {
- "name": "Su-25",
- "coalition": "red",
- "label": "Su-25T Frogfoot",
- "era": "Late Cold War",
- "shortLabel": "S25T",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-29L",
- "quantity": 2
- },
- {
- "name": "Kh-25ML",
- "quantity": 4
- },
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "Mercury LLTV Pod",
- "quantity": 1
- },
- {
- "name": "MPS-410",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "Kh-29L*2,Kh-25ML*4,R-73*2,Mercury LLTV Pod,MPS-410",
- "name": "Heavy / Everything A-G / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "APU-8 Vikhr-M",
- "quantity": 2
- },
- {
- "name": "Kh-25ML",
- "quantity": 2
- },
- {
- "name": "SPPU-22*2",
- "quantity": 2
- },
- {
- "name": "Mercury LLTV Pod",
- "quantity": 1
- },
- {
- "name": "MPS-410",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "APU-8 Vikhr-M*2,Kh-25ML,R-73*2,SPPU-22*2,Mercury LLTV Pod,MPS-410",
- "name": "Heavy / Everything A-G / Medium Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-500",
- "quantity": 6
- },
- {
- "name": "R-60M",
- "quantity": 2
- },
- {
- "name": "Fuel",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-500*6,R-60M*2,Fuel*2",
- "name": "Medium / FAB-500 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-25.png"
- },
- "Su-27": {
- "name": "Su-27",
- "coalition": "red",
- "label": "Su-27 Flanker",
- "era": "Late Cold War",
- "shortLabel": "27",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-27ER",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-27ER*2,ECM",
- "name": "Light / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-27ER",
- "quantity": 2
- },
- {
- "name": "R-27ET",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-27ER*2,R-27ET*2,ECM",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-27ET",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-27ET*2,ECM",
- "name": "Heavy / Fox 2 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "S-25",
- "quantity": 4
- },
- {
- "name": "FAB-500",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "S-25*4, FAB-500*4, R-73*2, ECM",
- "name": "Heavy / Fox 2, Bombs, Rockets / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-27.png"
- },
- "Su-30": {
- "name": "Su-30",
- "coalition": "red",
- "label": "Su-30 Super Flanker",
- "era": "Late Cold War",
- "shortLabel": "30",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-77",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-77*2",
- "name": "Light / Fox 3 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-77",
- "quantity": 2
- },
- {
- "name": "R-27ER",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-77*2,R-27ER*2,ECM",
- "name": "Heavy / Fox 3, Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-77",
- "quantity": 2
- },
- {
- "name": "FAB-1500",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-1500*2,R-73*2,R-77*2,ECM",
- "name": "Heavy / Fox 3, Bombs / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-34.png"
- },
- "Su-33": {
- "name": "Su-33",
- "coalition": "red",
- "label": "Su-33 Navy Flanker",
- "era": "Late Cold War",
- "shortLabel": "33",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-27ER",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2, R-27ER*2",
- "name": "Light / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "R-27ER",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 2
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "R-73*2,R-27ET*2,R-27ER*2,ECM",
- "name": "Heavy / Fox 1 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "S-25",
- "quantity": 4
- },
- {
- "name": "FAB-250",
- "quantity": 4
- },
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 2
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "S-25*4,FAB-250*4,R-73*2,ECM",
- "name": "Heavy / Rockets, Bombs / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-34.png"
- },
- "Su-34": {
- "name": "Su-34",
- "coalition": "red",
- "label": "Su-34 Hellduck",
- "era": "Modern",
- "shortLabel": "34",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "R-73",
- "quantity": 2
- },
- {
- "name": "FAB-250",
- "quantity": 4
- },
- {
- "name": "UB-13",
- "quantity": 4
- },
- {
- "name": "ECM",
- "quantity": 1
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "UB-13*4,FAB-250*4,R-73*2,ECM",
- "name": "Heavy / Mixed Ground Ordinance / Short Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "su-34.png"
- },
- "Tornado IDS": {
- "name": "Tornado IDS",
- "coalition": "blue",
- "label": "Tornado IDS",
- "era": "Late Cold War",
- "shortLabel": "IDS",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "Mk-82",
- "quantity": 4
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "Mk-82*4,AIM-9*2,Fuel*2",
- "name": "Heavy / Mk-84 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tornado.png"
- },
- "Tornado GR4": {
- "name": "Tornado GR4",
- "coalition": "blue",
- "label": "Tornado GR4",
- "era": "Late Cold War",
- "shortLabel": "GR4",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "ALARM",
- "quantity": 4
- },
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- }
- ],
- "roles": [
- "SEAD"
- ],
- "code": "ALARM*4, Fuel*2, ECM",
- "name": "Heavy / ALARM / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "GBU-16",
- "quantity": 2
- },
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "GBU-16*2, AIM-9M*2, Fuel*2, ECM",
- "name": "Heavy / GBU-16 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AIM-9M",
- "quantity": 2
- },
- {
- "name": "Sea Eagle",
- "quantity": 2
- },
- {
- "name": "fuel",
- "quantity": 2
- },
- {
- "name": "ECM",
- "quantity": 1
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "Sea Eagle*2, AIM-9M*2, Fuel*2, ECM",
- "name": "Heavy / Sea Eagle / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tornado.png"
- },
- "Tu-142": {
- "name": "Tu-142",
- "coalition": "red",
- "label": "Tu-142 Bear",
- "era": "Mid Cold War",
- "shortLabel": "142",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-35",
- "quantity": 6
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "Kh-35*6",
- "name": "Heavy / Kh-35 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tu-95.png"
- },
- "Tu-160": {
- "name": "Tu-160",
- "coalition": "red",
- "label": "Tu-160 Blackjack",
- "era": "Late Cold War",
- "shortLabel": "160",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-65",
- "quantity": 12
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "Kh-65*12",
- "name": "Heavy / Kh-65 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tu-160.png"
- },
- "Tu-22M3": {
- "name": "Tu-22M3",
- "coalition": "red",
- "label": "Tu-22M3 Backfire",
- "era": "Late Cold War",
- "shortLabel": "T22",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-22n",
- "quantity": 2
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "Kh-22N*2",
- "name": "Heavy / Kh-22N / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "FAB-250",
- "quantity": 69
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "FAB-250*69",
- "name": "Heavy / Kh-22n / Long Range"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tu-22.png"
- },
- "Tu-95MS": {
- "name": "Tu-95MS",
- "coalition": "red",
- "label": "Tu-95MS Bear",
- "era": "Mid Cold War",
- "shortLabel": "95",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Kh-65",
- "quantity": 6
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "Kh-65*6",
- "name": "Heavy / Kh-65 / Long Range"
- },
- {
- "fuel": 1,
- "items": [
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "tu-95.png"
- }
- }
+ super('databases/aircraftdatabase.json');
}
getCategory() {
@@ -3996,6 +16,9 @@ export class AircraftDatabase extends UnitDatabase {
return 0;
const blueprint = this.getByName(name);
+ if (blueprint?.cost != undefined)
+ return blueprint?.cost;
+
if (blueprint?.era == "WW2")
return 20;
else if (blueprint?.era == "Early Cold War")
diff --git a/client/src/unit/groundunitdatabase.ts b/client/src/unit/groundunitdatabase.ts
index ea0baf02..ea17316d 100644
--- a/client/src/unit/groundunitdatabase.ts
+++ b/client/src/unit/groundunitdatabase.ts
@@ -4,1462 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class GroundUnitDatabase extends UnitDatabase {
constructor() {
- super();
-
- this.blueprints = {
- "SA-2 SAM Battery": {
- "name": "SA-2 SAM Battery",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "SA-2 SAM Battery",
- "shortLabel": "SA-2 SAM Battery",
- "range": "Long",
- "filename": "",
- "type": "SAM Site"
- },
- "SA-3 SAM Battery": {
- "name": "SA-3 SAM Battery",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "SA-3 SAM Battery",
- "shortLabel": "SA-3 SAM Battery",
- "range": "Medium",
- "filename": "",
- "type": "SAM Site"
- },
- "SA-6 SAM Battery": {
- "name": "SA-6 SAM Battery",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SA-6 SAM Battery",
- "shortLabel": "SA-6 SAM Battery",
- "range": "Medium",
- "filename": "",
- "type": "SAM Site"
- },
- "SA-10 SAM Battery": {
- "name": "SA-10 SAM Battery",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 SAM Battery",
- "shortLabel": "SA-10 SAM Battery",
- "range": "Long",
- "filename": "",
- "type": "SAM Site"
- },
- "SA-11 SAM Battery": {
- "name": "SA-11 SAM Battery",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-11 SAM Battery",
- "shortLabel": "SA-11 SAM Battery",
- "range": "Medium",
- "filename": "",
- "type": "SAM Site"
- },
- "SA-5 SAM Battery": {
- "name": "SA-5 SAM Battery",
- "coalition": "Red",
- "era": "Mid Cold War",
- "label": "SA-5 SAM Battery",
- "shortLabel": "SA-5 SAM Battery",
- "range": "Long",
- "filename": "",
- "type": "SAM Site"
- },
- "Patriot site": {
- "name": "Patriot site",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Patriot site",
- "shortLabel": "Patriot site",
- "range": "Long",
- "filename": "",
- "type": "SAM Site"
- },
- "Hawk SAM Battery": {
- "name": "Hawk SAM Battery",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "Hawk SAM Battery",
- "shortLabel": "Hawk SAM Battery",
- "range": "Medium",
- "filename": "",
- "type": "SAM Site"
- },
- "SNR_75V": {
- "name": "SNR_75V",
- "coalition": "Red",
- "era": "Early Cold War",
- "label": "SA-2 Fan Song",
- "shortLabel": "SNR 75V",
- "filename": "",
- "type": "SAM Track radar"
- },
- "S_75M_Volhov": {
- "name": "S_75M_Volhov",
- "coalition": "Red",
- "era": "Early Cold War",
- "label": "SA-2 Launcher",
- "shortLabel": "S75M Volhov",
- "filename": "",
- "type": "SAM Launcher"
- },
- "2B11 mortar": {
- "name": "2B11 mortar",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "2B11 mortar",
- "shortLabel": "2B11 mortar",
- "filename": "",
- "type": "Gun Artillery"
- },
- "SAU Gvozdika": {
- "name": "SAU Gvozdika",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SAU Gvozdika",
- "shortLabel": "SAU Gvozdika",
- "filename": "",
- "type": "Gun Artillery"
- },
- "SAU Msta": {
- "name": "SAU Msta",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SAU Msta",
- "shortLabel": "SAU Msta",
- "filename": "",
- "type": "Gun Artillery"
- },
- "SAU Akatsia": {
- "name": "SAU Akatsia",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SAU Akatsia",
- "shortLabel": "SAU Akatsia",
- "filename": "",
- "type": "Gun Artillery"
- },
- "SAU 2-C9": {
- "name": "SAU 2-C9",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SAU Nona",
- "shortLabel": "SAU Nona",
- "filename": "",
- "type": "Gun Artillery"
- },
- "M-109": {
- "name": "M-109",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "M-109 Paladin",
- "shortLabel": "M-109",
- "filename": "",
- "type": "Gun Artillery"
- },
- "AAV7": {
- "name": "AAV7",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "AAV7",
- "shortLabel": "AAV7",
- "filename": "",
- "type": "APC"
- },
- "BMD-1": {
- "name": "BMD-1",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "BMD-1",
- "shortLabel": "BMD-1",
- "filename": "",
- "type": "IFV"
- },
- "BMP-1": {
- "name": "BMP-1",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "BMP-1",
- "shortLabel": "BMP-1",
- "filename": "",
- "type": "IFV"
- },
- "BMP-2": {
- "name": "BMP-2",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "BMP-2",
- "shortLabel": "BMP-2",
- "filename": "",
- "type": "IFV"
- },
- "BMP-3": {
- "name": "BMP-3",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "BMP-3",
- "shortLabel": "BMP-3",
- "filename": "",
- "type": "IFV"
- },
- "Boman": {
- "name": "Boman",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Grad Fire Direction Manager",
- "shortLabel": "Boman",
- "filename": "",
- "type": "Reconnaissance"
- },
- "BRDM-2": {
- "name": "BRDM-2",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "BRDM-2",
- "shortLabel": "BRDM-2",
- "filename": "",
- "type": "Reconnaissance"
- },
- "BTR-80": {
- "name": "BTR-80",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "BTR-80",
- "shortLabel": "BTR-80",
- "filename": "",
- "type": "APC"
- },
- "BTR_D": {
- "name": "BTR_D",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "BTR_D",
- "shortLabel": "BTR_D",
- "filename": "",
- "type": "APC"
- },
- "Bunker": {
- "name": "Bunker",
- "coalition": "",
- "era": "",
- "label": "Bunker",
- "shortLabel": "Bunker",
- "filename": "",
- "type": "Static"
- },
- "Cobra": {
- "name": "Cobra",
- "coalition": "blue",
- "era": "Modern",
- "label": "Otokar Cobra",
- "shortLabel": "Cobra",
- "filename": "",
- "type": "Reconnaissance"
- },
- "LAV-25": {
- "name": "LAV-25",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "LAV-25",
- "shortLabel": "LAV-25",
- "filename": "",
- "type": "IFV"
- },
- "M1043 HMMWV Armament": {
- "name": "M1043 HMMWV Armament",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "HMMWV M2 Browning",
- "shortLabel": "HMMWV M2",
- "filename": "",
- "type": "Reconnaissance"
- },
- "M1045 HMMWV TOW": {
- "name": "M1045 HMMWV TOW",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "HMMWV TOW",
- "shortLabel": "HMMWV TOW",
- "filename": "",
- "type": "Reconnaissance"
- },
- "M1126 Stryker ICV": {
- "name": "M1126 Stryker ICV",
- "coalition": "blue",
- "era": "Modern",
- "label": "Stryker MG",
- "shortLabel": "Stryker MG",
- "filename": "",
- "type": "APC"
- },
- "M-113": {
- "name": "M-113",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "M-113",
- "shortLabel": "M-113",
- "filename": "",
- "type": "APC"
- },
- "M1134 Stryker ATGM": {
- "name": "M1134 Stryker ATGM",
- "coalition": "blue",
- "era": "Modern",
- "label": "Stryker ATGM",
- "shortLabel": "Stryker ATGM",
- "filename": "",
- "type": "IFV"
- },
- "M-2 Bradley": {
- "name": "M-2 Bradley",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "M-2A2 Bradley",
- "shortLabel": "M-2 Bradley",
- "filename": "",
- "type": "IFV"
- },
- "Marder": {
- "name": "Marder",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Marder",
- "shortLabel": "Marder",
- "filename": "",
- "type": "IFV"
- },
- "MCV-80": {
- "name": "MCV-80",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Warrior IFV",
- "shortLabel": "Warrior",
- "filename": "",
- "type": "IFV"
- },
- "MTLB": {
- "name": "MTLB",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "MT-LB",
- "shortLabel": "MT-LB",
- "filename": "",
- "type": "APC"
- },
- "Paratrooper RPG-16": {
- "name": "Paratrooper RPG-16",
- "coalition": "red",
- "era": "Modern",
- "label": "Paratrooper RPG-16",
- "shortLabel": "Paratrooper RPG-16",
- "filename": "",
- "type": "Infantry"
- },
- "Paratrooper AKS-74": {
- "name": "Paratrooper AKS-74",
- "coalition": "red",
- "era": "Modern",
- "label": "Paratrooper AKS-74",
- "shortLabel": "Paratrooper AKS-74",
- "filename": "",
- "type": "Infantry"
- },
- "Sandbox": {
- "name": "Sandbox",
- "coalition": "",
- "era": "",
- "label": "Sandbox",
- "shortLabel": "Sandbox",
- "filename": "",
- "type": "Static"
- },
- "Soldier AK": {
- "name": "Soldier AK",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "Soldier AK",
- "shortLabel": "Soldier AK",
- "filename": "",
- "type": "Infantry"
- },
- "Infantry AK": {
- "name": "Infantry AK",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Infantry AK",
- "shortLabel": "Infantry AK",
- "filename": "",
- "type": "Infantry"
- },
- "Soldier M249": {
- "name": "Soldier M249",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Soldier M249",
- "shortLabel": "Soldier M249",
- "filename": "",
- "type": "Infantry"
- },
- "Soldier M4": {
- "name": "Soldier M4",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "Soldier M4",
- "shortLabel": "Soldier M4",
- "filename": "",
- "type": "Infantry"
- },
- "Soldier M4 GRG": {
- "name": "Soldier M4 GRG",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "Soldier M4 GRG",
- "shortLabel": "Soldier M4 GRG",
- "filename": "",
- "type": "Infantry"
- },
- "Soldier RPG": {
- "name": "Soldier RPG",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Soldier RPG",
- "shortLabel": "Soldier RPG",
- "filename": "",
- "type": "Infantry"
- },
- "TPZ": {
- "name": "TPZ",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "TPz Fuchs",
- "shortLabel": "TPz Fuchs",
- "filename": "",
- "type": "APC"
- },
- "Grad-URAL": {
- "name": "Grad-URAL",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Grad",
- "shortLabel": "Grad",
- "filename": "",
- "type": "Rocket Artillery"
- },
- "Uragan_BM-27": {
- "name": "Uragan_BM-27",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Uragan",
- "shortLabel": "Uragan",
- "filename": "",
- "type": "Rocket Artillery"
- },
- "Smerch": {
- "name": "Smerch",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Smerch",
- "shortLabel": "Smerch",
- "filename": "",
- "type": "Rocket Artillery"
- },
- "MLRS": {
- "name": "MLRS",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "M270",
- "shortLabel": "M270",
- "filename": "",
- "type": "Rocket Artillery"
- },
- "2S6 Tunguska": {
- "name": "2S6 Tunguska",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-19 Tunguska",
- "shortLabel": "SA-19",
- "range": "Short",
- "filename": "",
- "type": "AAA/SAM"
- },
- "Kub 2P25 ln": {
- "name": "Kub 2P25 ln",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-6 Launcher",
- "shortLabel": "Kub 2P25 ln",
- "range": "Medium",
- "filename": "",
- "type": "SAM Launcher"
- },
- "5p73 s-125 ln": {
- "name": "5p73 s-125 ln",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "SA-3 Launcher",
- "shortLabel": "5p73 s-125 ln",
- "range": "Medium",
- "filename": "",
- "type": "SAM Launcher"
- },
- "S-300PS 5P85C ln": {
- "name": "S-300PS 5P85C ln",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Launcher (5P85C)",
- "shortLabel": "S-300PS 5P85C ln",
- "range": "Long",
- "filename": "",
- "type": "SAM Launcher"
- },
- "S-300PS 5P85D ln": {
- "name": "S-300PS 5P85D ln",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Launcher (5P85D)",
- "shortLabel": "S-300PS 5P85D ln",
- "range": "Long",
- "filename": "",
- "type": "SAM Launcher"
- },
- "SA-11 Buk LN 9A310M1": {
- "name": "SA-11 Buk LN 9A310M1",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-11 Launcher",
- "shortLabel": "SA-11 Buk LN 9A310M1",
- "range": "Medium",
- "filename": "",
- "type": "SAM Launcher"
- },
- "Osa 9A33 ln": {
- "name": "Osa 9A33 ln",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SA-8 Launcher",
- "shortLabel": "Osa 9A33 ln",
- "range": "Short",
- "filename": "",
- "type": "SAM Launcher"
- },
- "Tor 9A331": {
- "name": "Tor 9A331",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-15 Tor 9A331",
- "shortLabel": "Tor 9A331",
- "range": "Medium",
- "filename": "",
- "type": "SAM"
- },
- "Strela-10M3": {
- "name": "Strela-10M3",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-13 Strela-10M3",
- "shortLabel": "Strela-10M3",
- "range": "Short",
- "filename": "",
- "type": "SAM"
- },
- "Strela-1 9P31": {
- "name": "Strela-1 9P31",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-9 Strela-1 9P31",
- "shortLabel": "Strela-1 9P31",
- "range": "Short",
- "filename": "",
- "type": "SAM"
- },
- "SA-11 Buk CC 9S470M1": {
- "name": "SA-11 Buk CC 9S470M1",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-11 Command Post",
- "shortLabel": "SA-11 Buk CC 9S470M1",
- "range": "Medium",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "SA-8 Osa LD 9T217": {
- "name": "SA-8 Osa LD 9T217",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-8 Osa LD 9T217",
- "shortLabel": "SA-8 Osa LD 9T217",
- "range": "Short",
- "filename": "",
- "type": "SAM"
- },
- "Patriot AMG": {
- "name": "Patriot AMG",
- "coalition": "blue",
- "era": "Modern",
- "label": "Patriot Antenna Mast Group",
- "shortLabel": "Patriot AMG",
- "range": "Long",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "Patriot ECS": {
- "name": "Patriot ECS",
- "coalition": "blue",
- "era": "Modern",
- "label": "Patriot Engagement Control Station",
- "shortLabel": "Patriot ECS",
- "range": "Long",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "Gepard": {
- "name": "Gepard",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Gepard",
- "shortLabel": "Gepard",
- "filename": "",
- "type": "AAA"
- },
- "Hawk pcp": {
- "name": "Hawk pcp",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Hawk Platoon Command Post",
- "shortLabel": "Hawk pcp",
- "range": "Medium",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "SA-18 Igla manpad": {
- "name": "SA-18 Igla manpad",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-18 Igla manpad",
- "shortLabel": "SA-18 Igla manpad",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "Igla manpad INS": {
- "name": "Igla manpad INS",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-18 Igla manpad INS",
- "shortLabel": "Igla manpad INS",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "SA-18 Igla-S manpad": {
- "name": "SA-18 Igla-S manpad",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-18 Igla-S manpad",
- "shortLabel": "SA-18 Igla-S manpad",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "RPC_5N62V": {
- "name": "RPC_5N62V",
- "coalition": "Red",
- "era": "Mid Cold War",
- "label": "SA-5 Square Pair",
- "shortLabel": "RPC 5N62V",
- "range": "Long",
- "filename": "",
- "type": "SAM Track radar"
- },
- "RLS_19J6": {
- "name": "RLS_19J6",
- "coalition": "Red",
- "era": "Mid Cold War",
- "label": "SA-5 Thin Shield",
- "shortLabel": "RLS 19J6",
- "range": "Long",
- "filename": "",
- "type": "SAM Search radar"
- },
- "S-200_Launcher": {
- "name": "S-200_Launcher",
- "coalition": "Red",
- "era": "Mid Cold War",
- "label": "SA-5 Launcher",
- "shortLabel": "S-200 Launcher",
- "range": "Long",
- "filename": "",
- "type": "SAM Launcher"
- },
- "Vulcan": {
- "name": "Vulcan",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Vulcan",
- "shortLabel": "Vulcan",
- "filename": "",
- "type": "AAA"
- },
- "Hawk ln": {
- "name": "Hawk ln",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Hawk Launcher",
- "shortLabel": "Hawk ln",
- "filename": "",
- "type": "SAM Launcher"
- },
- "M48 Chaparral": {
- "name": "M48 Chaparral",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "M48 Chaparral",
- "shortLabel": "M48 Chaparral",
- "filename": "",
- "type": "SAM"
- },
- "M6 Linebacker": {
- "name": "M6 Linebacker",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "M6 Linebacker",
- "shortLabel": "M6 Linebacker",
- "filename": "",
- "type": "SAM"
- },
- "Patriot ln": {
- "name": "Patriot ln",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Patriot Launcher",
- "shortLabel": "Patriot ln",
- "range": "Long",
- "filename": "",
- "type": "SAM Launcher"
- },
- "M1097 Avenger": {
- "name": "M1097 Avenger",
- "coalition": "blue",
- "era": "Modern",
- "label": "M1097 Avenger",
- "shortLabel": "M1097 Avenger",
- "filename": "",
- "type": "SAM"
- },
- "Patriot EPP": {
- "name": "Patriot EPP",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Patriot Electric Power Plant",
- "shortLabel": "Patriot EPP",
- "range": "Long",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "Patriot cp": {
- "name": "Patriot cp",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Patriot Command Post",
- "shortLabel": "Patriot cp",
- "range": "Long",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "Roland ADS": {
- "name": "Roland ADS",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Roland ADS",
- "shortLabel": "Roland ADS",
- "filename": "",
- "type": "SAM"
- },
- "S-300PS 54K6 cp": {
- "name": "S-300PS 54K6 cp",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Command Post",
- "shortLabel": "S-300PS 54K6 cp",
- "range": "Long",
- "filename": "",
- "type": "SAM Support vehicle"
- },
- "Stinger manpad GRG": {
- "name": "Stinger manpad GRG",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Stinger manpad GRG",
- "shortLabel": "Stinger manpad GRG",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "Stinger manpad dsr": {
- "name": "Stinger manpad dsr",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Stinger manpad dsr",
- "shortLabel": "Stinger manpad dsr",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "Stinger comm dsr": {
- "name": "Stinger comm dsr",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Stinger comm dsr",
- "shortLabel": "Stinger comm dsr",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "Stinger manpad": {
- "name": "Stinger manpad",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Stinger manpad",
- "shortLabel": "Stinger manpad",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "Stinger comm": {
- "name": "Stinger comm",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Stinger comm",
- "shortLabel": "Stinger comm",
- "range": "Short",
- "filename": "",
- "type": "MANPADS"
- },
- "ZSU-23-4 Shilka": {
- "name": "ZSU-23-4 Shilka",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "ZSU-23-4 Shilka",
- "shortLabel": "ZSU-23-4 Shilka",
- "filename": "",
- "type": "AAA"
- },
- "ZU-23 Emplacement Closed": {
- "name": "ZU-23 Emplacement Closed",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZU-23 Emplacement Closed",
- "shortLabel": "ZU-23 Emplacement Closed",
- "filename": "",
- "type": "AAA"
- },
- "ZU-23 Emplacement": {
- "name": "ZU-23 Emplacement",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZU-23 Emplacement",
- "shortLabel": "ZU-23 Emplacement",
- "filename": "",
- "type": "AAA"
- },
- "ZU-23 Closed Insurgent": {
- "name": "ZU-23 Closed Insurgent",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZU-23 Closed Insurgent",
- "shortLabel": "ZU-23 Closed Insurgent",
- "filename": "",
- "type": "AAA"
- },
- "Ural-375 ZU-23 Insurgent": {
- "name": "Ural-375 ZU-23 Insurgent",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "Ural-375 ZU-23 Insurgent",
- "shortLabel": "Ural-375 ZU-23 Insurgent",
- "filename": "",
- "type": "AAA"
- },
- "ZU-23 Insurgent": {
- "name": "ZU-23 Insurgent",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZU-23 Insurgent",
- "shortLabel": "ZU-23 Insurgent",
- "filename": "",
- "type": "AAA"
- },
- "Ural-375 ZU-23": {
- "name": "Ural-375 ZU-23",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "Ural-375 ZU-23",
- "shortLabel": "Ural-375 ZU-23",
- "filename": "",
- "type": "AAA"
- },
- "1L13 EWR": {
- "name": "1L13 EWR",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Box Spring",
- "shortLabel": "1L13 EWR",
- "filename": "",
- "type": "Radar"
- },
- "Kub 1S91 str": {
- "name": "Kub 1S91 str",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SA-6 Straight flush",
- "shortLabel": "Kub 1S91 str",
- "range": "Medium",
- "filename": "",
- "type": "SAM Search/Track radar"
- },
- "S-300PS 40B6M tr": {
- "name": "S-300PS 40B6M tr",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Tin Shield",
- "shortLabel": "S-300PS 40B6M tr",
- "range": "Long",
- "filename": "",
- "type": "SAM Track radar"
- },
- "S-300PS 40B6MD sr": {
- "name": "S-300PS 40B6MD sr",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Clam Shell",
- "shortLabel": "S-300PS 40B6MD sr",
- "range": "Long",
- "filename": "",
- "type": "SAM Search radar"
- },
- "55G6 EWR": {
- "name": "55G6 EWR",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "Tall Rack",
- "shortLabel": "55G6 EWR",
- "filename": "",
- "type": "Radar"
- },
- "S-300PS 64H6E sr": {
- "name": "S-300PS 64H6E sr",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "SA-10 Big Bird",
- "shortLabel": "S-300PS 64H6E sr",
- "range": "Long",
- "filename": "",
- "type": "SAM Search radar"
- },
- "SA-11 Buk SR 9S18M1": {
- "name": "SA-11 Buk SR 9S18M1",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SA-11 Snown Drift",
- "shortLabel": "SA-11 Buk SR 9S18M1",
- "range": "Long",
- "filename": "",
- "type": "SAM Search radar"
- },
- "Dog Ear radar": {
- "name": "Dog Ear radar",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Dog Ear",
- "shortLabel": "Dog Ear radar",
- "filename": "",
- "type": "SAM Search radar"
- },
- "Hawk tr": {
- "name": "Hawk tr",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "Hawk Track radar",
- "shortLabel": "Hawk tr",
- "range": "Medium",
- "filename": "",
- "type": "SAM Track radar"
- },
- "Hawk sr": {
- "name": "Hawk sr",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "Hawk Search radar",
- "shortLabel": "Hawk sr",
- "range": "Long",
- "filename": "",
- "type": "SAM Search radar"
- },
- "Patriot str": {
- "name": "Patriot str",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Patriot Search/Track radar",
- "shortLabel": "Patriot str",
- "range": "Medium",
- "filename": "",
- "type": "SAM Search/Track radar"
- },
- "Hawk cwar": {
- "name": "Hawk cwar",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "Hawk Continous Wave Acquisition Radar",
- "shortLabel": "Hawk cwar",
- "range": "Long",
- "filename": "",
- "type": "SAM Track radar"
- },
- "p-19 s-125 sr": {
- "name": "p-19 s-125 sr",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "SA-3 Flat Face B",
- "shortLabel": "Flat Face B",
- "filename": "",
- "type": "SAM Search radar"
- },
- "Roland Radar": {
- "name": "Roland Radar",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "Roland Search radar",
- "shortLabel": "Roland Radar",
- "filename": "",
- "type": "SAM Search radar"
- },
- "snr s-125 tr": {
- "name": "snr s-125 tr",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "SA-3 Low Blow",
- "shortLabel": "snr s-125 tr",
- "range": "Medium",
- "filename": "",
- "type": "SAM Track radar"
- },
- "house1arm": {
- "name": "house1arm",
- "coalition": "",
- "era": "",
- "label": "house1arm",
- "shortLabel": "house1arm",
- "filename": "",
- "type": "Structure"
- },
- "house2arm": {
- "name": "house2arm",
- "coalition": "",
- "era": "",
- "label": "house2arm",
- "shortLabel": "house2arm",
- "filename": "",
- "type": "Structure"
- },
- "outpost_road": {
- "name": "outpost_road",
- "coalition": "",
- "era": "",
- "label": "outpost_road",
- "shortLabel": "outpost_road",
- "filename": "",
- "type": "Structure"
- },
- "outpost": {
- "name": "outpost",
- "coalition": "",
- "era": "",
- "label": "outpost",
- "shortLabel": "outpost",
- "filename": "",
- "type": "Structure"
- },
- "houseA_arm": {
- "name": "houseA_arm",
- "coalition": "",
- "era": "",
- "label": "houseA_arm",
- "shortLabel": "houseA_arm",
- "filename": "",
- "type": "Structure"
- },
- "Challenger2": {
- "name": "Challenger2",
- "coalition": "blue",
- "era": "Modern",
- "label": "Challenger2",
- "shortLabel": "Challenger2",
- "filename": "",
- "type": "Tank"
- },
- "Leclerc": {
- "name": "Leclerc",
- "coalition": "blue",
- "era": "Modern",
- "label": "Leclerc",
- "shortLabel": "Leclerc",
- "filename": "",
- "type": "Tank"
- },
- "Leopard1A3": {
- "name": "Leopard1A3",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "Leopard1A3",
- "shortLabel": "Leopard1A3",
- "filename": "",
- "type": "Tank"
- },
- "Leopard-2": {
- "name": "Leopard-2",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Leopard-2",
- "shortLabel": "Leopard-2",
- "filename": "",
- "type": "Tank"
- },
- "M-60": {
- "name": "M-60",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "M-60",
- "shortLabel": "M-60",
- "filename": "",
- "type": "Tank"
- },
- "M1128 Stryker MGS": {
- "name": "M1128 Stryker MGS",
- "coalition": "blue",
- "era": "Modern",
- "label": "M1128 Stryker MGS",
- "shortLabel": "M1128 Stryker MGS",
- "filename": "",
- "type": "SPG"
- },
- "M-1 Abrams": {
- "name": "M-1 Abrams",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "M-1 Abrams",
- "shortLabel": "M-1 Abrams",
- "filename": "",
- "type": "Tank"
- },
- "T-55": {
- "name": "T-55",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "T-55",
- "shortLabel": "T-55",
- "filename": "",
- "type": "Tank"
- },
- "T-72B": {
- "name": "T-72B",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "T-72B",
- "shortLabel": "T-72B",
- "filename": "",
- "type": "Tank"
- },
- "T-80UD": {
- "name": "T-80UD",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "T-80UD",
- "shortLabel": "T-80UD",
- "filename": "",
- "type": "Tank"
- },
- "T-90": {
- "name": "T-90",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "T-90",
- "shortLabel": "T-90",
- "filename": "",
- "type": "Tank"
- },
- "Ural-4320 APA-5D": {
- "name": "Ural-4320 APA-5D",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "Ural-4320 APA-5D",
- "shortLabel": "Ural-4320 APA-5D",
- "filename": "",
- "type": "Unarmed"
- },
- "ATMZ-5": {
- "name": "ATMZ-5",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ATMZ-5",
- "shortLabel": "ATMZ-5",
- "filename": "",
- "type": "Unarmed"
- },
- "ATZ-10": {
- "name": "ATZ-10",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ATZ-10",
- "shortLabel": "ATZ-10",
- "filename": "",
- "type": "Unarmed"
- },
- "GAZ-3307": {
- "name": "GAZ-3307",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "GAZ-3307",
- "shortLabel": "GAZ-3307",
- "filename": "",
- "type": "Unarmed"
- },
- "GAZ-3308": {
- "name": "GAZ-3308",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "GAZ-3308",
- "shortLabel": "GAZ-3308",
- "filename": "",
- "type": "Unarmed"
- },
- "GAZ-66": {
- "name": "GAZ-66",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "GAZ-66",
- "shortLabel": "GAZ-66",
- "filename": "",
- "type": "Unarmed"
- },
- "M978 HEMTT Tanker": {
- "name": "M978 HEMTT Tanker",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "M978 HEMTT Tanker",
- "shortLabel": "M978 HEMTT Tanker",
- "filename": "",
- "type": "Unarmed"
- },
- "HEMTT TFFT": {
- "name": "HEMTT TFFT",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "HEMTT TFFT",
- "shortLabel": "HEMTT TFFT",
- "filename": "",
- "type": "Unarmed"
- },
- "IKARUS Bus": {
- "name": "IKARUS Bus",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "IKARUS Bus",
- "shortLabel": "IKARUS Bus",
- "filename": "",
- "type": "Unarmed"
- },
- "KAMAZ Truck": {
- "name": "KAMAZ Truck",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "KAMAZ Truck",
- "shortLabel": "KAMAZ Truck",
- "filename": "",
- "type": "Unarmed"
- },
- "LAZ Bus": {
- "name": "LAZ Bus",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "LAZ Bus",
- "shortLabel": "LAZ Bus",
- "filename": "",
- "type": "Unarmed"
- },
- "Hummer": {
- "name": "Hummer",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "Hummer",
- "shortLabel": "Hummer",
- "filename": "",
- "type": "Unarmed"
- },
- "M 818": {
- "name": "M 818",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "M 818",
- "shortLabel": "M 818",
- "filename": "",
- "type": "Unarmed"
- },
- "MAZ-6303": {
- "name": "MAZ-6303",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "MAZ-6303",
- "shortLabel": "MAZ-6303",
- "filename": "",
- "type": "Unarmed"
- },
- "Predator GCS": {
- "name": "Predator GCS",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Predator GCS",
- "shortLabel": "Predator GCS",
- "filename": "",
- "type": "Unarmed"
- },
- "Predator TrojanSpirit": {
- "name": "Predator TrojanSpirit",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Predator TrojanSpirit",
- "shortLabel": "Predator TrojanSpirit",
- "filename": "",
- "type": "Unarmed"
- },
- "Suidae": {
- "name": "Suidae",
- "coalition": "",
- "era": "Modern",
- "label": "Suidae",
- "shortLabel": "Suidae",
- "filename": "",
- "type": "Unarmed"
- },
- "Tigr_233036": {
- "name": "Tigr_233036",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Tigr_233036",
- "shortLabel": "Tigr_233036",
- "filename": "",
- "type": "Unarmed"
- },
- "Trolley bus": {
- "name": "Trolley bus",
- "coalition": "blue",
- "era": "Late Cold War",
- "label": "Trolley bus",
- "shortLabel": "Trolley bus",
- "filename": "",
- "type": "Unarmed"
- },
- "UAZ-469": {
- "name": "UAZ-469",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "UAZ-469",
- "shortLabel": "UAZ-469",
- "filename": "",
- "type": "Unarmed"
- },
- "Ural ATsP-6": {
- "name": "Ural ATsP-6",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Ural ATsP-6",
- "shortLabel": "Ural ATsP-6",
- "filename": "",
- "type": "Unarmed"
- },
- "Ural-375 PBU": {
- "name": "Ural-375 PBU",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Ural-375 PBU",
- "shortLabel": "Ural-375 PBU",
- "filename": "",
- "type": "Unarmed"
- },
- "Ural-375": {
- "name": "Ural-375",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Ural-375",
- "shortLabel": "Ural-375",
- "filename": "",
- "type": "Unarmed"
- },
- "Ural-4320-31": {
- "name": "Ural-4320-31",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Ural-4320-31",
- "shortLabel": "Ural-4320-31",
- "filename": "",
- "type": "Unarmed"
- },
- "Ural-4320T": {
- "name": "Ural-4320T",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Ural-4320T",
- "shortLabel": "Ural-4320T",
- "filename": "",
- "type": "Unarmed"
- },
- "VAZ Car": {
- "name": "VAZ Car",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "VAZ Car",
- "shortLabel": "VAZ Car",
- "filename": "",
- "type": "Unarmed"
- },
- "ZiL-131 APA-80": {
- "name": "ZiL-131 APA-80",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZiL-131 APA-80",
- "shortLabel": "ZiL-131 APA-80",
- "filename": "",
- "type": "Unarmed"
- },
- "SKP-11": {
- "name": "SKP-11",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "SKP-11",
- "shortLabel": "SKP-11",
- "filename": "",
- "type": "Unarmed"
- },
- "ZIL-131 KUNG": {
- "name": "ZIL-131 KUNG",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZIL-131 KUNG",
- "shortLabel": "ZIL-131 KUNG",
- "filename": "",
- "type": "Unarmed"
- },
- "ZIL-4331": {
- "name": "ZIL-4331",
- "coalition": "red",
- "era": "Early Cold War",
- "label": "ZIL-4331",
- "shortLabel": "ZIL-4331",
- "filename": "",
- "type": "Unarmed"
- }
- }
+ super('databases/groundunitdatabase.json');
}
getSpawnPointsByName(name: string) {
@@ -1467,6 +12,9 @@ export class GroundUnitDatabase extends UnitDatabase {
return 0;
const blueprint = this.getByName(name);
+ if (blueprint?.cost != undefined)
+ return blueprint?.cost;
+
if (blueprint?.era == "WW2")
return 20;
else if (blueprint?.era == "Early Cold War")
diff --git a/client/src/unit/helicopterdatabase.ts b/client/src/unit/helicopterdatabase.ts
index 4b08916f..362de71b 100644
--- a/client/src/unit/helicopterdatabase.ts
+++ b/client/src/unit/helicopterdatabase.ts
@@ -4,594 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class HelicopterDatabase extends UnitDatabase {
constructor() {
- super();
-
- this.blueprints = {
- "AH-64D_BLK_II": {
- "name": "AH-64D_BLK_II",
- "coalition": "blue",
- "era": "Modern",
- "label": "AH-64D Apache",
- "shortLabel": "AH64",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-114k Hellfire",
- "quantity": 8
- },
- {
- "name": "M151 Rocket Pod",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "2 * M261: M151 (6PD), 2 * Hellfire station: 4*AGM-114K",
- "name": "Gun / ATGM / Rocket"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-114K Hellfire",
- "quantity": 16
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "4 * Hellfire station: 4*AGM-114K",
- "name": "Gun / ATGM"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "ah-64.png"
- },
- "Ka-50_3": {
- "name": "Ka-50_3",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Ka-50 Hokum A",
- "shortLabel": "K50",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Igla",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "4xIgla",
- "name": "Gun / Fox 2"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Igla",
- "quantity": 4
- },
- {
- "name": "S-13",
- "quantity": 10
- },
- {
- "name": "Kh-25ML",
- "quantity": 2
- }
- ],
- "roles": [
- "Anti-Ship"
- ],
- "code": "2xKh-25ML, 10xS-13, 4xIgla",
- "name": "Gun / ASM / Rockets / Fox 2"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Igla",
- "quantity": 4
- },
- {
- "name": "S-80FP",
- "quantity": 40
- },
- {
- "name": "Vikhr-M",
- "quantity": 12
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "12x9A4172, 40xS-8OFP, 4xIgla",
- "name": "Gun / ATGM / Rockets / Fox 2"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Igla",
- "quantity": 4
- },
- {
- "name": "S-80FP",
- "quantity": 40
- },
- {
- "name": "Vikhr-M",
- "quantity": 12
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "12x9A4172, 40xS-8OFP, 4xIgla",
- "name": "Gun / ATGM"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Igla",
- "quantity": 4
- },
- {
- "name": "FAB-500",
- "quantity": 2
- },
- {
- "name": "S-13",
- "quantity": 10
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "10xS-13, 2xFAB-500, 4xIgla",
- "name": "Gun / Bombs / Rockets / Fox 2"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "ka-50.png"
- },
- "Mi-24P": {
- "name": "Mi-24P",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Mi-24P Hind",
- "shortLabel": "Mi24",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "S-8KOM",
- "quantity": 40
- },
- {
- "name": "9M114 ATGM",
- "quantity": 8
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "2xB8V20 (S-8KOM)+8xATGM 9M114",
- "name": "Gun / ATGM / Rockets"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "S-24B",
- "quantity": 4
- },
- {
- "name": "9M114 ATGM",
- "quantity": 4
- }
- ],
- "roles": [
- "Strike"
- ],
- "code": "4xS-24B+4xATGM 9M114",
- "name": "Gun / ATGM / Rockets"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "GUV-1 Grenade Launcher",
- "quantity": 4
- },
- {
- "name": "9M114 ATGM",
- "quantity": 4
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "4xGUV-1 AP30+4xATGM 9M114",
- "name": "Gun / ATGM / Grenade Launcher"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mi-24.png"
- },
- "SA342L": {
- "name": "SA342L",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "SA342L Gazelle",
- "shortLabel": "342",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "20mm Cannon",
- "quantity": 1
- },
- {
- "name": "SNEB68",
- "quantity": 8
- }
- ],
- "roles": [
- "Recon"
- ],
- "code": "M621, 8xSNEB68 EAP",
- "name": "Gun / ATGM / Rockets"
- }
- ],
- "filename": "sa-342.png"
- },
- "SA342M": {
- "name": "SA342M",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "SA342M Gazelle",
- "shortLabel": "342",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "HOT3",
- "quantity": 4
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "HOT3x4",
- "name": "ATGM"
- }
- ],
- "filename": "sa-342.png"
- },
- "SA342Mistral": {
- "name": "SA342Mistral",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "SA342Mistral Gazelle",
- "shortLabel": "342",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "Mistral",
- "quantity": 4
- }
- ],
- "roles": [
- "CAP"
- ],
- "code": "Mistral x 4",
- "name": "Fox 2"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "sa-342.png"
- },
- "AH-1W": {
- "name": "AH-1W",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "AH-1W Cobra",
- "shortLabel": "AH1",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "BGM-71 TOW",
- "quantity": 8
- },
- {
- "name": "Hydra-70 WP",
- "quantity": 38
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "8xBGM-71, 38xHYDRA-70 WP",
- "name": "TOW / Hydra"
- },
- {
- "fuel": 1,
- "items": [
- {
- "name": "Hydra-70",
- "quantity": 76
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "76xHYDRA-70",
- "name": "Hydra"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "ah-1.png"
- },
- "Mi-26": {
- "name": "Mi-26",
- "coalition": "red",
- "era": "Late Cold War",
- "label": "Mi-26 Halo",
- "shortLabel": "M26",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mi-26.png"
- },
- "Mi-28N": {
- "name": "Mi-28N",
- "coalition": "red",
- "era": "Modern",
- "label": "Mi-28N Havoc",
- "shortLabel": "M28",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "9M114 Shturm",
- "quantity": 16
- },
- {
- "name": "S-8",
- "quantity": 40
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "16x9M114, 40xS-8",
- "name": "ATGM / S-8"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- ""
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mi-28.png"
- },
- "Mi-8MT": {
- "name": "Mi-8MT",
- "coalition": "red",
- "era": "Mid Cold War",
- "label": "Mi-8MT Hip",
- "shortLabel": "Mi8",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "UPK",
- "quantity": 2
- },
- {
- "name": "B8",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "2 x UPK +2 x B8",
- "name": "Rockets / Gunpods"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "mi-8.png"
- },
- "SH-60B": {
- "name": "SH-60B",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "SH-60B Seahawk",
- "shortLabel": "S60",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "AGM-119 ASM",
- "quantity": 1
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "AGM-119",
- "name": "ASM"
- },
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "uh-60.png"
- },
- "UH-60A": {
- "name": "UH-60A",
- "coalition": "blue",
- "era": "Mid Cold War",
- "label": "UH-60A Blackhawk",
- "shortLabel": "U60",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
-
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "uh-60.png"
- },
- "UH-1H": {
- "name": "UH-1H",
- "coalition": "blue",
- "era": "Early Cold War",
- "label": "UH-1H Huey",
- "shortLabel": "UH1",
- "loadouts": [
- {
- "fuel": 1,
- "items": [
- {
- "name": "M134 Minigun",
- "quantity": 2
- },
- {
- "name": "XM-158",
- "quantity": 2
- }
- ],
- "roles": [
- "CAS"
- ],
- "code": "M134 Minigun*2, XM158*2",
- "name": "Miniguns / XM158"
- },
- {
- "fuel": 1,
- "items": [
- ],
- "roles": [
- "Transport"
- ],
- "code": "",
- "name": "Empty Loadout"
- }
- ],
- "filename": "uh-1.png"
- }
- }
+ super('databases/helicopterdatabase.json');
}
getSpawnPointsByName(name: string) {
@@ -599,6 +12,9 @@ export class HelicopterDatabase extends UnitDatabase {
return 0;
const blueprint = this.getByName(name);
+ if (blueprint?.cost != undefined)
+ return blueprint?.cost;
+
if (blueprint?.era == "WW2")
return 20;
else if (blueprint?.era == "Early Cold War")
diff --git a/client/src/unit/navyunitdatabase.ts b/client/src/unit/navyunitdatabase.ts
index e4c72d1f..5e5f7cde 100644
--- a/client/src/unit/navyunitdatabase.ts
+++ b/client/src/unit/navyunitdatabase.ts
@@ -4,460 +4,7 @@ import { UnitDatabase } from "./unitdatabase"
export class NavyUnitDatabase extends UnitDatabase {
constructor() {
- super();
-
- this.blueprints = {
- "Type_052B": {
- "name": "Type_052B",
- "coalition": "red",
- "type": "Destroyer",
- "era": "Modern",
- "label": "052B DDG-168 Guangzhou",
- "shortLabel": "Type 52B",
- "range": "Short",
- "filename": ""
- },
- "Type_052C": {
- "name": "Type_052C",
- "coalition": "red",
- "type": "Destroyer",
- "era": "Modern",
- "label": "052C DDG-171 Haikou",
- "shortLabel": "Type 52C",
- "range": "Short",
- "filename": ""
- },
- "Type_054A": {
- "name": "",
- "coalition": "red",
- "type": "Frigate",
- "era": "Modern",
- "label": "054A FFG-538 Yantai",
- "shortLabel": "Type 54A",
- "range": "Medium",
- "filename": ""
- },
- "Type_071": {
- "name": "Type_071",
- "coalition": "red",
- "type": "Transport",
- "era": "Modern",
- "label": "Type 071",
- "shortLabel": "Type 071",
- "range": "",
- "filename": ""
- },
- "Type_093": {
- "name": "Type_093",
- "coalition": "red",
- "type": "Submarine",
- "era": "Modern",
- "label": "Type 093",
- "shortLabel": "Type 093",
- "range": "",
- "filename": ""
- },
- "santafe": {
- "name": "santafe",
- "coalition": "",
- "type": "Submarine",
- "era": "Early Cold War",
- "label": "ARA Santa Fe S-21",
- "shortLabel": "ARA Santa",
- "range": "",
- "filename": ""
- },
- "ara_vdm": {
- "name": "ara_vdm",
- "coalition": "",
- "type": "Aircraft Carrier",
- "era": "Mid Cold War",
- "label": "ARA Vienticinco de Mayo",
- "shortLabel": "ARA Vienticinco de Mayo",
- "range": "",
- "filename": ""
- },
- "kuznecow": {
- "name": "kuznecow",
- "coalition": "red",
- "type": "Aircraft Carrier",
- "era": "Late Cold War",
- "label": "Admiral Kuznetsov",
- "shortLabel": "Admiral Kuznetsov",
- "range": "Medium",
- "filename": ""
- },
- "albatros": {
- "name": "albatros",
- "coalition": "red",
- "type": "Aircraft Carrier",
- "era": "Early Cold War",
- "label": "Albatros (Grisha-5)",
- "shortLabel": "Albatros",
- "range": "",
- "filename": ""
- },
- "leander-gun-condell": {
- "name": "leander-gun-condell",
- "coalition": "",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "Almirante Condell PFG-06",
- "shortLabel": "Almirante Condell",
- "range": "",
- "filename": ""
- },
- "Boat Armed Hi-Speed": {
- "name": "Boat Armed Hi-Speed",
- "coalition": "",
- "type": "Fast Attack Craft",
- "era": "Mid Cold War",
- "label": "Boat Armed Hi-Speed",
- "shortLabel": "Boat Armed Hi-Speed",
- "range": "",
- "filename": ""
- },
- "HandyWind": {
- "name": "HandyWind",
- "coalition": "blue",
- "type": "Cargoship",
- "era": "Late Cold War",
- "label": "Bulker Handy Wind",
- "shortLabel": "Bulker Handy Wind",
- "range": "",
- "filename": ""
- },
- "CV_1143_5": {
- "name": "CV_1143_5",
- "coalition": "red",
- "type": "Aircraft Carrier",
- "era": "Modern",
- "label": "CV Admiral Kuznetsov(2017)",
- "shortLabel": "Admiral Kuznetsov(2017)",
- "range": "Medium",
- "filename": ""
- },
- "CV_59": {
- "name": "CV_59",
- "coalition": "blue",
- "type": "Aircraft Carrier",
- "era": "Early Cold War",
- "label": "CV-59 Forrestal",
- "shortLabel": "CV-59",
- "range": "Short",
- "filename": ""
- },
- "CVN_71": {
- "name": "CVN_71",
- "coalition": "blue",
- "type": "Super Aircraft Carrier",
- "era": "Late Cold War",
- "label": "CVN-71 Theodore Roosevelt",
- "shortLabel": "CVN-71",
- "range": "Short",
- "filename": ""
- },
- "CVN_72": {
- "name": "CVN_72",
- "coalition": "blue",
- "type": "Super Aircraft Carrier",
- "era": "Late Cold War",
- "label": "CVN-72 Abraham Lincoln",
- "shortLabel": "CVN-72",
- "range": "Short",
- "filename": ""
- },
- "CVN_73": {
- "name": "CVN_73",
- "coalition": "blue",
- "type": "Super Aircraft Carrier",
- "era": "Late Cold War",
- "label": "CVN-73 George Washington",
- "shortLabel": "CVN-73",
- "range": "Medium",
- "filename": ""
- },
- "Stennis": {
- "name": "Stennis",
- "coalition": "blue",
- "type": "Aircraft Carrier",
- "era": "Late Cold War",
- "label": "CVN-74 John C. Stennis",
- "shortLabel": "CVN-74",
- "range": "Medium",
- "filename": ""
- },
- "CVN_75": {
- "name": "CVN_75",
- "coalition": "blue",
- "type": "Aircraft Carrier",
- "era": "Late Cold War",
- "label": "CVN-75 Harry S. Truman",
- "shortLabel": "CVN-75",
- "range": "Medium",
- "filename": ""
- },
- "CastleClass_01": {
- "name": "CastleClass_01",
- "coalition": "blue",
- "type": "Patrol",
- "era": "Mid Cold War",
- "label": "HMS Leeds Castle (P-258)",
- "shortLabel": "HMS Leeds Castle (P-258)",
- "range": "",
- "filename": ""
- },
- "USS_Arleigh_Burke_IIa": {
- "name": "USS_Arleigh_Burke_IIa",
- "coalition": "blue",
- "type": "Destroyer",
- "era": "Late Cold War",
- "label": "DDG Arleigh Burke lla",
- "shortLabel": "DDG Arleigh Burke",
- "range": "Medium",
- "filename": ""
- },
- "barge-1": {
- "name": "barge-1",
- "coalition": "red",
- "type": "Cargoship",
- "era": "Late Cold War",
- "label": "Dry cargo ship Ivanov",
- "shortLabel": "Dry cargo ship Ivanov",
- "range": "",
- "filename": ""
- },
- "barge-2": {
- "name": "barge-2",
- "coalition": "red",
- "type": "Cargoship",
- "era": "Late Cold War",
- "label": "Dry cargo ship Yakushev",
- "shortLabel": "Dry cargo ship Yakushev",
- "range": "",
- "filename": ""
- },
- "elnya": {
- "name": "elnya",
- "coalition": "red",
- "type": "Tanker",
- "era": "Late Cold War",
- "label": "Elnya tanker",
- "shortLabel": "Elnya tanker",
- "range": "",
- "filename": ""
- },
- "La_Combattante_II": {
- "name": "La_Combattante_II",
- "coalition": "blue",
- "type": "Fast Attack Craft",
- "era": "Mid Cold War",
- "label": "FAC La Combattante lla",
- "shortLabel": "FAC La Combattante",
- "range": "",
- "filename": ""
- },
- "leander-gun-achilles": {
- "name": "leander-gun-achilles",
- "coalition": "blue",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "HMS Achilles (F12)",
- "shortLabel": "HMS Achilles",
- "range": "",
- "filename": ""
- },
- "leander-gun-andromeda": {
- "name": "leander-gun-andromeda",
- "coalition": "blue",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "HMS Andromeda (F57)",
- "shortLabel": "HMS Andromeda",
- "range": "",
- "filename": ""
- },
- "leander-gun-ariadne": {
- "name": "leander-gun-ariadne",
- "coalition": "blue",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "HMS Ariadne (F72)",
- "shortLabel": "HMS Ariadne",
- "range": "",
- "filename": ""
- },
- "leander-gun-lynch": {
- "name": "leander-gun-lynch",
- "coalition": "",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "CNS Almirante Lynch (PFG-07)",
- "shortLabel": "CNS Almirante Lynch",
- "range": "",
- "filename": ""
- },
- "hms_invincible": {
- "name": "hms_invincible",
- "coalition": "blue",
- "type": "Aircraft Carrier",
- "era": "Mid Cold War",
- "label": "HMS Invincible (R05)",
- "shortLabel": "HMS Invincible",
- "range": "",
- "filename": ""
- },
- "HarborTug": {
- "name": "HarborTug",
- "coalition": "",
- "type": "Tug",
- "era": "Mid Cold War",
- "label": "Harbor Tug",
- "shortLabel": "Harbor Tug",
- "range": "",
- "filename": ""
- },
- "kilo_636": {
- "name": "kilo_636",
- "coalition": "red",
- "type": "Submarine",
- "era": "Late Cold War",
- "label": "Project 636 Varshavyanka Improved",
- "shortLabel": "Varshavyanka Improved",
- "range": "Medium",
- "filename": ""
- },
- "kilo": {
- "name": "kilo",
- "coalition": "red",
- "type": "Submarine",
- "era": "Late Cold War",
- "label": "Project 636 Varshavyanka Basic",
- "shortLabel": "Varshavyanka Basic",
- "range": "Medium",
- "filename": ""
- },
- "LHA_Tarawa": {
- "name": "LHA_Tarawa",
- "coalition": "blue",
- "type": "Aircraft Carrier",
- "era": "Mid Cold War",
- "label": "LHA-1 Tarawa",
- "shortLabel": "LHA-1 Tarawa",
- "range": "Short",
- "filename": ""
- },
- "BDK-775": {
- "name": "BDK-775",
- "coalition": "blue",
- "type": "Landing Craft",
- "era": "Mid Cold War",
- "label": "LS Ropucha",
- "shortLabel": "LS Ropucha",
- "range": "",
- "filename": ""
- },
- "molniya": {
- "name": "molniya",
- "coalition": "",
- "type": "Fast Attack Craft",
- "era": "Late Cold War",
- "label": "Molniya (Tarantul-3)",
- "shortLabel": "Molniya",
- "range": "Short",
- "filename": ""
- },
- "moscow": {
- "name": "moscow",
- "coalition": "red",
- "type": "Cruiser",
- "era": "Late Cold War",
- "label": "Moscow",
- "shortLabel": "Moscow",
- "range": "Medium",
- "filename": ""
- },
- "neustrash": {
- "name": "neustrash",
- "coalition": "red",
- "type": "Frigate",
- "era": "Late Cold War",
- "label": "Neustrashimy",
- "shortLabel": "Neustrashimy",
- "range": "Short",
- "filename": ""
- },
- "perry": {
- "name": "perry",
- "coalition": "blue",
- "type": "Frigate",
- "era": "Mid Cold War",
- "label": "Oliver H. Perry",
- "shortLabel": "Oliver H. Perry",
- "range": "Medium",
- "filename": ""
- },
- "piotr_velikiy": {
- "name": "piotr_velikiy",
- "coalition": "red",
- "type": "Cruiser",
- "era": "Late Cold War",
- "label": "Pyotr Velikiy",
- "shortLabel": "Pyotr Velikiy",
- "range": "Medium",
- "filename": ""
- },
- "rezky": {
- "name": "Rezky (Krivak-2)",
- "coalition": "red",
- "type": "Frigate",
- "era": "Early Cold War",
- "label": "Rezky (Krivak-2)",
- "shortLabel": "Rezky",
- "range": "Short",
- "filename": ""
- },
- "Ship_Tilde_Supply": {
- "name": "Ship_Tilde_Supply",
- "coalition": "blue",
- "type": "Transport",
- "era": "Late Cold War",
- "label": "Supply Ship MV Tilde",
- "shortLabel": "Supply Ship Tilde",
- "range": "",
- "filename": ""
- },
- "Seawise_Giant": {
- "name": "Seawise_Giant",
- "coalition": "blue",
- "type": "Tanker",
- "era": "Late Cold War",
- "label": "Tanker Seawise Giant",
- "shortLabel": "Seawise Giant",
- "range": "",
- "filename": ""
- },
- "TICONDEROG": {
- "name": "TICONDEROG",
- "coalition": "blue",
- "type": "Cruiser",
- "era": "Late Cold War",
- "label": "Ticonderoga",
- "shortLabel": "Ticonderoga",
- "range": "Medium",
- "filename": ""
- },
- "zwezdny": {
- "name": "zwezdny",
- "coalition": "",
- "type": "Civilian Boat",
- "era": "Modern",
- "label": "Zwezdny",
- "shortLabel": "Zwezdny",
- "range": "",
- "filename": ""
- }
- }
+ super('databases/navyunitdatabase.json');
}
getSpawnPointsByName(name: string) {
@@ -465,6 +12,9 @@ export class NavyUnitDatabase extends UnitDatabase {
return 0;
const blueprint = this.getByName(name);
+ if (blueprint?.cost != undefined)
+ return blueprint?.cost;
+
if (blueprint?.era == "WW2")
return 20;
else if (blueprint?.era == "Early Cold War")
diff --git a/client/src/unit/unit.ts b/client/src/unit/unit.ts
index c024eb52..12440ddd 100644
--- a/client/src/unit/unit.ts
+++ b/client/src/unit/unit.ts
@@ -312,6 +312,11 @@ export class Unit extends CustomMarker {
}
}
+ getLiveryID(): string {
+ const liveryID = this.getDatabase()?.getByName(this.getName())?.liveryID;
+ return liveryID? liveryID: "";
+ }
+
setAlive(newAlive: boolean) {
if (newAlive != this.#alive)
document.dispatchEvent(new CustomEvent("unitDeath", { detail: this }));
diff --git a/client/src/unit/unitdatabase.ts b/client/src/unit/unitdatabase.ts
index 7f8e61fe..14f9499f 100644
--- a/client/src/unit/unitdatabase.ts
+++ b/client/src/unit/unitdatabase.ts
@@ -5,8 +5,21 @@ import { GAME_MASTER } from "../constants/constants";
export class UnitDatabase {
blueprints: { [key: string]: UnitBlueprint } = {};
- constructor() {
-
+ constructor(url: string = "") {
+ if (url !== "") {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.responseType = 'json';
+ xhr.onload = () => {
+ var status = xhr.status;
+ if (status === 200) {
+ this.blueprints = xhr.response;
+ } else {
+ console.error(`Error retrieving database from ${url}`)
+ }
+ };
+ xhr.send();
+ }
}
getCategory() {
@@ -38,7 +51,7 @@ export class UnitDatabase {
const blueprint = this.blueprints[unit];
if (this.getSpawnPointsByName(blueprint.name) <= getMissionHandler().getAvailableSpawnPoints() &&
getMissionHandler().getCommandModeOptions().eras.includes(blueprint.era) &&
- (!getMissionHandler().getCommandModeOptions().restrictToCoalition || blueprint.coalition === getMissionHandler().getCommandedCoalition())) {
+ (!getMissionHandler().getCommandModeOptions().restrictToCoalition || blueprint.coalition === getMissionHandler().getCommandedCoalition() || blueprint.coalition === undefined)) {
filteredBlueprints[unit] = blueprint;
}
}
diff --git a/client/src/unit/unitsmanager.ts b/client/src/unit/unitsmanager.ts
index f8ec99ab..bfec1c53 100644
--- a/client/src/unit/unitsmanager.ts
+++ b/client/src/unit/unitsmanager.ts
@@ -561,7 +561,7 @@ export class UnitsManager {
var unit = selectedUnits[idx];
coalition = unit.getCoalition();
deleteUnit(unit.ID, false, true);
- units.push({unitType: unit.getName(), location: unit.getPosition()});
+ units.push({unitType: unit.getName(), location: unit.getPosition(), liveryID: unit.getLiveryID()});
}
const category = this.getSelectedUnitsTypes()[0];
this.spawnUnits(category, units, coalition, true);
@@ -599,7 +599,8 @@ export class UnitsManager {
var units = groups[groupName].map((unit: any) => {
var position = new LatLng(getMap().getMouseCoordinates().lat + unit.position.lat - avgLat, getMap().getMouseCoordinates().lng + unit.position.lng - avgLng);
getMap().addTemporaryMarker(position, unit.name, unit.coalition);
- return {unitType: unit.name, location: position};
+ const liveryID = unit.getDatabase()?.getByName(unit.getName())?.liveryID;
+ return {unitType: unit.name, location: position, liveryID: liveryID? liveryID: ""};
});
this.spawnUnits(groups[groupName][0].category, units, groups[groupName][0].coalition, true);
}
@@ -635,7 +636,8 @@ export class UnitsManager {
if (Math.random() < IADSDensities[type]) {
const unitBlueprint = randomUnitBlueprint(groundUnitDatabase, {type: type, eras: activeEras, ranges: activeRanges});
if (unitBlueprint) {
- this.spawnUnits("GroundUnit", [{unitType: unitBlueprint.name, location: latlng}], coalitionArea.getCoalition(), true);
+ const liveryID = unitBlueprint.liveryID;
+ this.spawnUnits("GroundUnit", [{unitType: unitBlueprint.name, location: latlng, liveryID: liveryID? liveryID: ""}], coalitionArea.getCoalition(), true);
getMap().addTemporaryMarker(latlng, unitBlueprint.name, coalitionArea.getCoalition());
}
}
@@ -679,7 +681,10 @@ export class UnitsManager {
for (let groupName in groups) {
if (groupName !== "" && groups[groupName].length > 0 && (groups[groupName].every((unit: any) => {return unit.category == "GroundUnit";}) || groups[groupName].every((unit: any) => {return unit.category == "NavyUnit";}))) {
var aliveUnits = groups[groupName].filter((unit: any) => {return unit.alive});
- var units = aliveUnits.map((unit: any) => {return {unitType: unit.name, location: unit.position}});
+ var units = aliveUnits.map((unit: any) => {
+ const liveryID = unit.getDatabase()?.getByName(unit.getName())?.liveryID;
+ return { unitType: unit.name, location: unit.position, liveryID: liveryID? liveryID: "" }
+ });
getUnitsManager().spawnUnits(groups[groupName][0].category, units, groups[groupName][0].coalition, true);
}
}
diff --git a/scripts/OlympusCommand.lua b/scripts/OlympusCommand.lua
index caf5a4b1..c6de3fde 100644
--- a/scripts/OlympusCommand.lua
+++ b/scripts/OlympusCommand.lua
@@ -451,9 +451,12 @@ function Olympus.generateAirUnitsTable(units)
["payload"] = { ["pylons"] = payload, ["fuel"] = 999999, ["flare"] = 60, ["ammo_type"] = 1, ["chaff"] = 60, ["gun"] = 100, },
["heading"] = unit.heading,
["callsign"] = { [1] = 1, [2] = 1, [3] = 1, ["name"] = "Olympus" .. Olympus.unitCounter.. "-" .. #unitTable + 1 },
- ["name"] = "Olympus-" .. Olympus.unitCounter .. "-" .. #unitTable + 1
+ ["name"] = "Olympus-" .. Olympus.unitCounter .. "-" .. #unitTable + 1,
+ ["livery_id"] = unit.liveryID
}
+ Olympus.debug(unit.liveryID, 5)
+
-- Add the payload to the registry, used for unit cloning
Olympus.payloadRegistry[unitTable[#unitTable].name] = payload
end
@@ -541,7 +544,8 @@ function Olympus.generateGroundUnitsTable(units)
["y"] = spawnLocation.z,
["heading"] = unit.heading,
["skill"] = "High",
- ["name"] = "Olympus-" .. Olympus.unitCounter .. "-" .. #unitTable + 1
+ ["name"] = "Olympus-" .. Olympus.unitCounter .. "-" .. #unitTable + 1,
+ ["livery_id"] = unit.liveryID
}
end
end
@@ -576,7 +580,8 @@ function Olympus.generateNavyUnitsTable(units)
["heading"] = unit.heading,
["skill"] = "High",
["name"] = "Olympus-" .. Olympus.unitCounter .. "-" .. #unitTable + 1,
- ["transportable"] = { ["randomTransportable"] = false }
+ ["transportable"] = { ["randomTransportable"] = false },
+ ["livery_id"] = unit.liveryID
}
end
end
diff --git a/src/core/include/commands.h b/src/core/include/commands.h
index 263de2f0..bd25435d 100644
--- a/src/core/include/commands.h
+++ b/src/core/include/commands.h
@@ -154,10 +154,11 @@ private:
class SpawnGroundUnits : public Command
{
public:
- SpawnGroundUnits(string coalition, vector unitTypes, vector locations, bool immediate) :
+ SpawnGroundUnits(string coalition, vector unitTypes, vector locations, vector liveryIDs, bool immediate) :
coalition(coalition),
unitTypes(unitTypes),
locations(locations),
+ liveryIDs(liveryIDs),
immediate(immediate)
{
priority = immediate? CommandPriority::IMMEDIATE: CommandPriority::LOW;
@@ -169,6 +170,7 @@ private:
const string coalition;
const vector unitTypes;
const vector locations;
+ const vector liveryIDs;
const bool immediate;
};
@@ -176,10 +178,11 @@ private:
class SpawnNavyUnits : public Command
{
public:
- SpawnNavyUnits(string coalition, vector unitTypes, vector locations, bool immediate) :
+ SpawnNavyUnits(string coalition, vector unitTypes, vector locations, vector liveryIDs, bool immediate) :
coalition(coalition),
unitTypes(unitTypes),
locations(locations),
+ liveryIDs(liveryIDs),
immediate(immediate)
{
priority = immediate ? CommandPriority::IMMEDIATE : CommandPriority::LOW;
@@ -191,6 +194,7 @@ private:
const string coalition;
const vector unitTypes;
const vector locations;
+ const vector liveryIDs;
const bool immediate;
};
@@ -198,11 +202,12 @@ private:
class SpawnAircrafts : public Command
{
public:
- SpawnAircrafts(string coalition, vector unitTypes, vector locations, vector loadouts, string airbaseName, bool immediate) :
+ SpawnAircrafts(string coalition, vector unitTypes, vector locations, vector loadouts, vector liveryIDs, string airbaseName, bool immediate) :
coalition(coalition),
unitTypes(unitTypes),
locations(locations),
loadouts(loadouts),
+ liveryIDs(liveryIDs),
airbaseName(airbaseName),
immediate(immediate)
{
@@ -216,6 +221,7 @@ private:
const vector unitTypes;
const vector locations;
const vector loadouts;
+ const vector liveryIDs;
const string airbaseName;
const bool immediate;
};
@@ -225,11 +231,12 @@ private:
class SpawnHelicopters : public Command
{
public:
- SpawnHelicopters(string coalition, vector unitTypes, vector locations, vector loadouts, string airbaseName, bool immediate) :
+ SpawnHelicopters(string coalition, vector unitTypes, vector locations, vector loadouts, vector liveryIDs, string airbaseName, bool immediate) :
coalition(coalition),
unitTypes(unitTypes),
locations(locations),
loadouts(loadouts),
+ liveryIDs(liveryIDs),
airbaseName(airbaseName),
immediate(immediate)
{
@@ -243,6 +250,7 @@ private:
const vector unitTypes;
const vector locations;
const vector loadouts;
+ const vector liveryIDs;
const string airbaseName;
const bool immediate;
};
diff --git a/src/core/src/commands.cpp b/src/core/src/commands.cpp
index 511abcd4..552b6463 100644
--- a/src/core/src/commands.cpp
+++ b/src/core/src/commands.cpp
@@ -48,7 +48,8 @@ string SpawnGroundUnits::getString()
unitsSS << "[" << i + 1 << "] = {"
<< "unitType = " << "\"" << unitTypes[i] << "\"" << ", "
<< "lat = " << locations[i].lat << ", "
- << "lng = " << locations[i].lng << "},";
+ << "lng = " << locations[i].lng << ", "
+ << "liveryID = " << "\"" << liveryIDs[i] << "\"" << " }, ";
}
std::ostringstream commandSS;
@@ -72,7 +73,8 @@ string SpawnNavyUnits::getString()
unitsSS << "[" << i + 1 << "] = {"
<< "unitType = " << "\"" << unitTypes[i] << "\"" << ", "
<< "lat = " << locations[i].lat << ", "
- << "lng = " << locations[i].lng << "},";
+ << "lng = " << locations[i].lng << ", "
+ << "liveryID = " << "\"" << liveryIDs[i] << "\"" << " }, ";
}
std::ostringstream commandSS;
@@ -97,7 +99,8 @@ string SpawnAircrafts::getString()
<< "lat = " << locations[i].lat << ", "
<< "lng = " << locations[i].lng << ", "
<< "alt = " << locations[i].alt << ", "
- << "loadout = \"" << loadouts[i] << "\"" << "},";
+ << "loadout = \"" << loadouts[i] << "\"" << ", "
+ << "liveryID = " << "\"" << liveryIDs[i] << "\"" << " }, ";
}
std::ostringstream commandSS;
@@ -124,7 +127,8 @@ string SpawnHelicopters::getString()
<< "lat = " << locations[i].lat << ", "
<< "lng = " << locations[i].lng << ", "
<< "alt = " << locations[i].alt << ", "
- << "loadout = \"" << loadouts[i] << "\"" << "},";
+ << "loadout = \"" << loadouts[i] << "\"" << ", "
+ << "liveryID = " << "\"" << liveryIDs[i] << "\"" << " }, ";
}
std::ostringstream commandSS;
diff --git a/src/core/src/scheduler.cpp b/src/core/src/scheduler.cpp
index d9227ddc..98009e15 100644
--- a/src/core/src/scheduler.cpp
+++ b/src/core/src/scheduler.cpp
@@ -186,6 +186,7 @@ void Scheduler::handleRequest(string key, json::value value, string username)
vector unitTypes;
vector locations;
vector loadouts;
+ vector liveryIDs;
for (auto unit : value[L"units"].as_array()) {
string unitType = to_string(unit[L"unitType"]);
double lat = unit[L"location"][L"lat"].as_double();
@@ -193,14 +194,16 @@ void Scheduler::handleRequest(string key, json::value value, string username)
double alt = unit[L"altitude"].as_double();
Coords location; location.lat = lat; location.lng = lng; location.alt = alt;
string loadout = to_string(unit[L"loadout"]);
+ string liveryID = to_string(unit[L"liveryID"]);
unitTypes.push_back(unitType);
locations.push_back(location);
loadouts.push_back(loadout);
+ liveryIDs.push_back(liveryID);
log(username + " spawned a " + coalition + " " + unitType, true);
}
- command = dynamic_cast(new SpawnAircrafts(coalition, unitTypes, locations, loadouts, airbaseName, immediate));
+ command = dynamic_cast(new SpawnAircrafts(coalition, unitTypes, locations, loadouts, liveryIDs, airbaseName, immediate));
}
else if (key.compare("spawnHelicopters") == 0)
{
@@ -214,6 +217,7 @@ void Scheduler::handleRequest(string key, json::value value, string username)
vector unitTypes;
vector locations;
vector loadouts;
+ vector liveryIDs;
for (auto unit : value[L"units"].as_array()) {
string unitType = to_string(unit[L"unitType"]);
double lat = unit[L"location"][L"lat"].as_double();
@@ -221,14 +225,16 @@ void Scheduler::handleRequest(string key, json::value value, string username)
double alt = unit[L"altitude"].as_double();
Coords location; location.lat = lat; location.lng = lng; location.alt = alt;
string loadout = to_string(unit[L"loadout"]);
+ string liveryID = to_string(unit[L"liveryID"]);
unitTypes.push_back(unitType);
locations.push_back(location);
loadouts.push_back(loadout);
+ liveryIDs.push_back(liveryID);
log(username + " spawned a " + coalition + " " + unitType, true);
}
- command = dynamic_cast(new SpawnHelicopters(coalition, unitTypes, locations, loadouts, airbaseName, immediate));
+ command = dynamic_cast(new SpawnHelicopters(coalition, unitTypes, locations, loadouts, liveryIDs, airbaseName, immediate));
}
else if (key.compare("spawnGroundUnits") == 0)
{
@@ -240,18 +246,21 @@ void Scheduler::handleRequest(string key, json::value value, string username)
vector unitTypes;
vector locations;
+ vector liveryIDs;
for (auto unit : value[L"units"].as_array()) {
string unitType = to_string(unit[L"unitType"]);
double lat = unit[L"location"][L"lat"].as_double();
double lng = unit[L"location"][L"lng"].as_double();
Coords location; location.lat = lat; location.lng = lng;
+ string liveryID = to_string(unit[L"liveryID"]);
unitTypes.push_back(unitType);
locations.push_back(location);
+ liveryIDs.push_back(liveryID);
log(username + " spawned a " + coalition + " " + unitType, true);
}
- command = dynamic_cast(new SpawnGroundUnits(coalition, unitTypes, locations, immediate));
+ command = dynamic_cast(new SpawnGroundUnits(coalition, unitTypes, locations, liveryIDs, immediate));
}
else if (key.compare("spawnNavyUnits") == 0)
{
@@ -263,18 +272,21 @@ void Scheduler::handleRequest(string key, json::value value, string username)
vector unitTypes;
vector locations;
+ vector liveryIDs;
for (auto unit : value[L"units"].as_array()) {
string unitType = to_string(unit[L"unitType"]);
double lat = unit[L"location"][L"lat"].as_double();
double lng = unit[L"location"][L"lng"].as_double();
Coords location; location.lat = lat; location.lng = lng;
+ string liveryID = to_string(unit[L"liveryID"]);
unitTypes.push_back(unitType);
locations.push_back(location);
+ liveryIDs.push_back(liveryID);
log(username + " spawned a " + coalition + " " + unitType, true);
}
- command = dynamic_cast(new SpawnNavyUnits(coalition, unitTypes, locations, immediate));
+ command = dynamic_cast(new SpawnNavyUnits(coalition, unitTypes, locations, liveryIDs, immediate));
}
else if (key.compare("attackUnit") == 0)
{