From 2dad717a42498fb514f73c4922839ad8c49ea921 Mon Sep 17 00:00:00 2001 From: Shredmetal <131475927+Shredmetal@users.noreply.github.com> Date: Mon, 1 May 2023 15:54:36 +0800 Subject: [PATCH 1/3] Updated GroundUnitsDatabase This will cause the current build to crash as it does not recognise the "effective_target" key: value pair. Do not merge into main until this has been addressed. --- client/src/units/groundunitsdatabase.ts | 6174 +++++++++++++---------- 1 file changed, 3409 insertions(+), 2765 deletions(-) diff --git a/client/src/units/groundunitsdatabase.ts b/client/src/units/groundunitsdatabase.ts index 3fba1615..b4b3e0e6 100644 --- a/client/src/units/groundunitsdatabase.ts +++ b/client/src/units/groundunitsdatabase.ts @@ -1,2766 +1,3410 @@ -import { UnitDatabase } from "./unitdatabase" - -export class GroundUnitsDatabase extends UnitDatabase { - constructor() { - super(); - this.blueprints = { - "2B11 mortar": { - "name": "2B11 mortar", - "label": "2B11 mortar", - "shortLabel": "2B11 mortar", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SAU Gvozdika": { - "name": "SAU Gvozdika", - "label": "SAU Gvozdika", - "shortLabel": "SAU Gvozdika", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SAU Msta": { - "name": "SAU Msta", - "label": "SAU Msta", - "shortLabel": "SAU Msta", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SAU Akatsia": { - "name": "SAU Akatsia", - "label": "SAU Akatsia", - "shortLabel": "SAU Akatsia", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SAU 2-C9": { - "name": "SAU 2-C9", - "label": "SAU 2-C9", - "shortLabel": "SAU 2-C9", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M-109": { - "name": "M-109", - "label": "M-109", - "shortLabel": "M-109", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Howitzer" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "AAV7": { - "name": "AAV7", - "label": "AAV7", - "shortLabel": "AAV7", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BMD-1": { - "name": "BMD-1", - "label": "BMD-1", - "shortLabel": "BMD-1", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BMP-1": { - "name": "BMP-1", - "label": "BMP-1", - "shortLabel": "BMP-1", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BMP-2": { - "name": "BMP-2", - "label": "BMP-2", - "shortLabel": "BMP-2", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BMP-3": { - "name": "BMP-3", - "label": "BMP-3", - "shortLabel": "BMP-3", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Boman": { - "name": "Boman", - "label": "Boman", - "shortLabel": "Boman", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BRDM-2": { - "name": "BRDM-2", - "label": "BRDM-2", - "shortLabel": "BRDM-2", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BTR-80": { - "name": "BTR-80", - "label": "BTR-80", - "shortLabel": "BTR-80", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "BTR_D": { - "name": "BTR_D", - "label": "BTR_D", - "shortLabel": "BTR_D", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Bunker": { - "name": "Bunker", - "label": "Bunker", - "shortLabel": "Bunker", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Cobra": { - "name": "Cobra", - "label": "Cobra", - "shortLabel": "Cobra", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "LAV-25": { - "name": "LAV-25", - "label": "LAV-25", - "shortLabel": "LAV-25", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1043 HMMWV Armament": { - "name": "M1043 HMMWV Armament", - "label": "M1043 HMMWV Armament", - "shortLabel": "M1043 HMMWV Armament", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1045 HMMWV TOW": { - "name": "M1045 HMMWV TOW", - "label": "M1045 HMMWV TOW", - "shortLabel": "M1045 HMMWV TOW", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1126 Stryker ICV": { - "name": "M1126 Stryker ICV", - "label": "M1126 Stryker ICV", - "shortLabel": "M1126 Stryker ICV", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M-113": { - "name": "M-113", - "label": "M-113", - "shortLabel": "M-113", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1134 Stryker ATGM": { - "name": "M1134 Stryker ATGM", - "label": "M1134 Stryker ATGM", - "shortLabel": "M1134 Stryker ATGM", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M-2 Bradley": { - "name": "M-2 Bradley", - "label": "M-2 Bradley", - "shortLabel": "M-2 Bradley", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Marder": { - "name": "Marder", - "label": "Marder", - "shortLabel": "Marder", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "MCV-80": { - "name": "MCV-80", - "label": "MCV-80", - "shortLabel": "MCV-80", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "MTLB": { - "name": "MTLB", - "label": "MTLB", - "shortLabel": "MTLB", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Paratrooper RPG-16": { - "name": "Paratrooper RPG-16", - "label": "Paratrooper RPG-16", - "shortLabel": "Paratrooper RPG-16", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Paratrooper AKS-74": { - "name": "Paratrooper AKS-74", - "label": "Paratrooper AKS-74", - "shortLabel": "Paratrooper AKS-74", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Sandbox": { - "name": "Sandbox", - "label": "Sandbox", - "shortLabel": "Sandbox", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Soldier AK": { - "name": "Soldier AK", - "label": "Soldier AK", - "shortLabel": "Soldier AK", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Infantry AK": { - "name": "Infantry AK", - "label": "Infantry AK", - "shortLabel": "Infantry AK", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Soldier M249": { - "name": "Soldier M249", - "label": "Soldier M249", - "shortLabel": "Soldier M249", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Soldier M4": { - "name": "Soldier M4", - "label": "Soldier M4", - "shortLabel": "Soldier M4", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Soldier M4 GRG": { - "name": "Soldier M4 GRG", - "label": "Soldier M4 GRG", - "shortLabel": "Soldier M4 GRG", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Soldier RPG": { - "name": "Soldier RPG", - "label": "Soldier RPG", - "shortLabel": "Soldier RPG", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "TPZ": { - "name": "TPZ", - "label": "TPZ", - "shortLabel": "TPZ", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "IFV" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Grad-URAL": { - "name": "Grad-URAL", - "label": "Grad-URAL", - "shortLabel": "Grad-URAL", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "MLRS" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Uragan_BM-27": { - "name": "Uragan_BM-27", - "label": "Uragan_BM-27", - "shortLabel": "Uragan_BM-27", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "MLRS" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Smerch": { - "name": "Smerch", - "label": "Smerch", - "shortLabel": "Smerch", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "MLRS" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "MLRS": { - "name": "MLRS", - "label": "MLRS", - "shortLabel": "MLRS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "MLRS" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "2S6 Tunguska": { - "name": "2S6 Tunguska", - "label": "2S6 Tunguska", - "shortLabel": "2S6 Tunguska", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Kub 2P25 ln": { - "name": "Kub 2P25 ln", - "label": "Kub 2P25 ln", - "shortLabel": "Kub 2P25 ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "5p73 s-125 ln": { - "name": "5p73 s-125 ln", - "label": "5p73 s-125 ln", - "shortLabel": "5p73 s-125 ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 5P85C ln": { - "name": "S-300PS 5P85C ln", - "label": "S-300PS 5P85C ln", - "shortLabel": "S-300PS 5P85C ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 5P85D ln": { - "name": "S-300PS 5P85D ln", - "label": "S-300PS 5P85D ln", - "shortLabel": "S-300PS 5P85D ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-11 Buk LN 9A310M1": { - "name": "SA-11 Buk LN 9A310M1", - "label": "SA-11 Buk LN 9A310M1", - "shortLabel": "SA-11 Buk LN 9A310M1", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Osa 9A33 ln": { - "name": "Osa 9A33 ln", - "label": "Osa 9A33 ln", - "shortLabel": "Osa 9A33 ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Tor 9A331": { - "name": "Tor 9A331", - "label": "Tor 9A331", - "shortLabel": "Tor 9A331", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Strela-10M3": { - "name": "Strela-10M3", - "label": "Strela-10M3", - "shortLabel": "Strela-10M3", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Strela-1 9P31": { - "name": "Strela-1 9P31", - "label": "Strela-1 9P31", - "shortLabel": "Strela-1 9P31", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-11 Buk CC 9S470M1": { - "name": "SA-11 Buk CC 9S470M1", - "label": "SA-11 Buk CC 9S470M1", - "shortLabel": "SA-11 Buk CC 9S470M1", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-8 Osa LD 9T217": { - "name": "SA-8 Osa LD 9T217", - "label": "SA-8 Osa LD 9T217", - "shortLabel": "SA-8 Osa LD 9T217", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot AMG": { - "name": "Patriot AMG", - "label": "Patriot AMG", - "shortLabel": "Patriot AMG", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot ECS": { - "name": "Patriot ECS", - "label": "Patriot ECS", - "shortLabel": "Patriot ECS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Gepard": { - "name": "Gepard", - "label": "Gepard", - "shortLabel": "Gepard", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hawk pcp": { - "name": "Hawk pcp", - "label": "Hawk pcp", - "shortLabel": "Hawk pcp", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-18 Igla manpad": { - "name": "SA-18 Igla manpad", - "label": "SA-18 Igla manpad", - "shortLabel": "SA-18 Igla manpad", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-18 Igla comm": { - "name": "SA-18 Igla comm", - "label": "SA-18 Igla comm", - "shortLabel": "SA-18 Igla comm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Igla manpad INS": { - "name": "Igla manpad INS", - "label": "Igla manpad INS", - "shortLabel": "Igla manpad INS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-18 Igla-S manpad": { - "name": "SA-18 Igla-S manpad", - "label": "SA-18 Igla-S manpad", - "shortLabel": "SA-18 Igla-S manpad", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-18 Igla-S comm": { - "name": "SA-18 Igla-S comm", - "label": "SA-18 Igla-S comm", - "shortLabel": "SA-18 Igla-S comm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Vulcan": { - "name": "Vulcan", - "label": "Vulcan", - "shortLabel": "Vulcan", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hawk ln": { - "name": "Hawk ln", - "label": "Hawk ln", - "shortLabel": "Hawk ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M48 Chaparral": { - "name": "M48 Chaparral", - "label": "M48 Chaparral", - "shortLabel": "M48 Chaparral", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M6 Linebacker": { - "name": "M6 Linebacker", - "label": "M6 Linebacker", - "shortLabel": "M6 Linebacker", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot ln": { - "name": "Patriot ln", - "label": "Patriot ln", - "shortLabel": "Patriot ln", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1097 Avenger": { - "name": "M1097 Avenger", - "label": "M1097 Avenger", - "shortLabel": "M1097 Avenger", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot EPP": { - "name": "Patriot EPP", - "label": "Patriot EPP", - "shortLabel": "Patriot EPP", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot cp": { - "name": "Patriot cp", - "label": "Patriot cp", - "shortLabel": "Patriot cp", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Roland ADS": { - "name": "Roland ADS", - "label": "Roland ADS", - "shortLabel": "Roland ADS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 54K6 cp": { - "name": "S-300PS 54K6 cp", - "label": "S-300PS 54K6 cp", - "shortLabel": "S-300PS 54K6 cp", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Stinger manpad GRG": { - "name": "Stinger manpad GRG", - "label": "Stinger manpad GRG", - "shortLabel": "Stinger manpad GRG", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Stinger manpad dsr": { - "name": "Stinger manpad dsr", - "label": "Stinger manpad dsr", - "shortLabel": "Stinger manpad dsr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Stinger comm dsr": { - "name": "Stinger comm dsr", - "label": "Stinger comm dsr", - "shortLabel": "Stinger comm dsr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Stinger manpad": { - "name": "Stinger manpad", - "label": "Stinger manpad", - "shortLabel": "Stinger manpad", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Stinger comm": { - "name": "Stinger comm", - "label": "Stinger comm", - "shortLabel": "Stinger comm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZSU-23-4 Shilka": { - "name": "ZSU-23-4 Shilka", - "label": "ZSU-23-4 Shilka", - "shortLabel": "ZSU-23-4 Shilka", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZU-23 Emplacement Closed": { - "name": "ZU-23 Emplacement Closed", - "label": "ZU-23 Emplacement Closed", - "shortLabel": "ZU-23 Emplacement Closed", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZU-23 Emplacement": { - "name": "ZU-23 Emplacement", - "label": "ZU-23 Emplacement", - "shortLabel": "ZU-23 Emplacement", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZU-23 Closed Insurgent": { - "name": "ZU-23 Closed Insurgent", - "label": "ZU-23 Closed Insurgent", - "shortLabel": "ZU-23 Closed Insurgent", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-375 ZU-23 Insurgent": { - "name": "Ural-375 ZU-23 Insurgent", - "label": "Ural-375 ZU-23 Insurgent", - "shortLabel": "Ural-375 ZU-23 Insurgent", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZU-23 Insurgent": { - "name": "ZU-23 Insurgent", - "label": "ZU-23 Insurgent", - "shortLabel": "ZU-23 Insurgent", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-375 ZU-23": { - "name": "Ural-375 ZU-23", - "label": "Ural-375 ZU-23", - "shortLabel": "Ural-375 ZU-23", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "SAM" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "1L13 EWR": { - "name": "1L13 EWR", - "label": "1L13 EWR", - "shortLabel": "1L13 EWR", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Kub 1S91 str": { - "name": "Kub 1S91 str", - "label": "Kub 1S91 str", - "shortLabel": "Kub 1S91 str", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 40B6M tr": { - "name": "S-300PS 40B6M tr", - "label": "S-300PS 40B6M tr", - "shortLabel": "S-300PS 40B6M tr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 40B6MD sr": { - "name": "S-300PS 40B6MD sr", - "label": "S-300PS 40B6MD sr", - "shortLabel": "S-300PS 40B6MD sr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "55G6 EWR": { - "name": "55G6 EWR", - "label": "55G6 EWR", - "shortLabel": "55G6 EWR", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "S-300PS 64H6E sr": { - "name": "S-300PS 64H6E sr", - "label": "S-300PS 64H6E sr", - "shortLabel": "S-300PS 64H6E sr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SA-11 Buk SR 9S18M1": { - "name": "SA-11 Buk SR 9S18M1", - "label": "SA-11 Buk SR 9S18M1", - "shortLabel": "SA-11 Buk SR 9S18M1", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Dog Ear radar": { - "name": "Dog Ear radar", - "label": "Dog Ear radar", - "shortLabel": "Dog Ear radar", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hawk tr": { - "name": "Hawk tr", - "label": "Hawk tr", - "shortLabel": "Hawk tr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hawk sr": { - "name": "Hawk sr", - "label": "Hawk sr", - "shortLabel": "Hawk sr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Patriot str": { - "name": "Patriot str", - "label": "Patriot str", - "shortLabel": "Patriot str", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hawk cwar": { - "name": "Hawk cwar", - "label": "Hawk cwar", - "shortLabel": "Hawk cwar", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "p-19 s-125 sr": { - "name": "p-19 s-125 sr", - "label": "p-19 s-125 sr", - "shortLabel": "p-19 s-125 sr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Roland Radar": { - "name": "Roland Radar", - "label": "Roland Radar", - "shortLabel": "Roland Radar", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "snr s-125 tr": { - "name": "snr s-125 tr", - "label": "snr s-125 tr", - "shortLabel": "snr s-125 tr", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Radar" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "house1arm": { - "name": "house1arm", - "label": "house1arm", - "shortLabel": "house1arm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Structure" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "house2arm": { - "name": "house2arm", - "label": "house2arm", - "shortLabel": "house2arm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Structure" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "outpost_road": { - "name": "outpost_road", - "label": "outpost_road", - "shortLabel": "outpost_road", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Structure" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "outpost": { - "name": "outpost", - "label": "outpost", - "shortLabel": "outpost", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Structure" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "houseA_arm": { - "name": "houseA_arm", - "label": "houseA_arm", - "shortLabel": "houseA_arm", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Structure" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Challenger2": { - "name": "Challenger2", - "label": "Challenger2", - "shortLabel": "Challenger2", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Leclerc": { - "name": "Leclerc", - "label": "Leclerc", - "shortLabel": "Leclerc", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Leopard1A3": { - "name": "Leopard1A3", - "label": "Leopard1A3", - "shortLabel": "Leopard1A3", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Leopard-2": { - "name": "Leopard-2", - "label": "Leopard-2", - "shortLabel": "Leopard-2", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M-60": { - "name": "M-60", - "label": "M-60", - "shortLabel": "M-60", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M1128 Stryker MGS": { - "name": "M1128 Stryker MGS", - "label": "M1128 Stryker MGS", - "shortLabel": "M1128 Stryker MGS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M-1 Abrams": { - "name": "M-1 Abrams", - "label": "M-1 Abrams", - "shortLabel": "M-1 Abrams", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "T-55": { - "name": "T-55", - "label": "T-55", - "shortLabel": "T-55", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "T-72B": { - "name": "T-72B", - "label": "T-72B", - "shortLabel": "T-72B", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "T-80UD": { - "name": "T-80UD", - "label": "T-80UD", - "shortLabel": "T-80UD", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "T-90": { - "name": "T-90", - "label": "T-90", - "shortLabel": "T-90", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tank" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-4320 APA-5D": { - "name": "Ural-4320 APA-5D", - "label": "Ural-4320 APA-5D", - "shortLabel": "Ural-4320 APA-5D", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ATMZ-5": { - "name": "ATMZ-5", - "label": "ATMZ-5", - "shortLabel": "ATMZ-5", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ATZ-10": { - "name": "ATZ-10", - "label": "ATZ-10", - "shortLabel": "ATZ-10", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "GAZ-3307": { - "name": "GAZ-3307", - "label": "GAZ-3307", - "shortLabel": "GAZ-3307", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "GAZ-3308": { - "name": "GAZ-3308", - "label": "GAZ-3308", - "shortLabel": "GAZ-3308", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "GAZ-66": { - "name": "GAZ-66", - "label": "GAZ-66", - "shortLabel": "GAZ-66", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M978 HEMTT Tanker": { - "name": "M978 HEMTT Tanker", - "label": "M978 HEMTT Tanker", - "shortLabel": "M978 HEMTT Tanker", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "HEMTT TFFT": { - "name": "HEMTT TFFT", - "label": "HEMTT TFFT", - "shortLabel": "HEMTT TFFT", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "IKARUS Bus": { - "name": "IKARUS Bus", - "label": "IKARUS Bus", - "shortLabel": "IKARUS Bus", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "KAMAZ Truck": { - "name": "KAMAZ Truck", - "label": "KAMAZ Truck", - "shortLabel": "KAMAZ Truck", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "LAZ Bus": { - "name": "LAZ Bus", - "label": "LAZ Bus", - "shortLabel": "LAZ Bus", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Hummer": { - "name": "Hummer", - "label": "Hummer", - "shortLabel": "Hummer", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "M 818": { - "name": "M 818", - "label": "M 818", - "shortLabel": "M 818", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "MAZ-6303": { - "name": "MAZ-6303", - "label": "MAZ-6303", - "shortLabel": "MAZ-6303", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Predator GCS": { - "name": "Predator GCS", - "label": "Predator GCS", - "shortLabel": "Predator GCS", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Predator TrojanSpirit": { - "name": "Predator TrojanSpirit", - "label": "Predator TrojanSpirit", - "shortLabel": "Predator TrojanSpirit", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Suidae": { - "name": "Suidae", - "label": "Suidae", - "shortLabel": "Suidae", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Tigr_233036": { - "name": "Tigr_233036", - "label": "Tigr_233036", - "shortLabel": "Tigr_233036", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Trolley bus": { - "name": "Trolley bus", - "label": "Trolley bus", - "shortLabel": "Trolley bus", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "UAZ-469": { - "name": "UAZ-469", - "label": "UAZ-469", - "shortLabel": "UAZ-469", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural ATsP-6": { - "name": "Ural ATsP-6", - "label": "Ural ATsP-6", - "shortLabel": "Ural ATsP-6", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-375 PBU": { - "name": "Ural-375 PBU", - "label": "Ural-375 PBU", - "shortLabel": "Ural-375 PBU", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-375": { - "name": "Ural-375", - "label": "Ural-375", - "shortLabel": "Ural-375", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-4320-31": { - "name": "Ural-4320-31", - "label": "Ural-4320-31", - "shortLabel": "Ural-4320-31", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "Ural-4320T": { - "name": "Ural-4320T", - "label": "Ural-4320T", - "shortLabel": "Ural-4320T", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "VAZ Car": { - "name": "VAZ Car", - "label": "VAZ Car", - "shortLabel": "VAZ Car", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZiL-131 APA-80": { - "name": "ZiL-131 APA-80", - "label": "ZiL-131 APA-80", - "shortLabel": "ZiL-131 APA-80", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "SKP-11": { - "name": "SKP-11", - "label": "SKP-11", - "shortLabel": "SKP-11", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZIL-131 KUNG": { - "name": "ZIL-131 KUNG", - "label": "ZIL-131 KUNG", - "shortLabel": "ZIL-131 KUNG", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - }, - "ZIL-4331": { - "name": "ZIL-4331", - "label": "ZIL-4331", - "shortLabel": "ZIL-4331", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Unarmed" - ], - "code": "", - "name": "Default" - } - ], - "filename": "" - } - } - } -} - +import { UnitDatabase } from "./unitdatabase" + +export class GroundUnitsDatabase extends UnitDatabase { + constructor() { + super(); + this.blueprints = { + "2B11 mortar": { + "name": "2B11 mortar", + "label": "2B11 mortar", + "shortLabel": "2B11 mortar", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm Mortar Tube", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SAU Gvozdika": { + "name": "SAU Gvozdika", + "label": "SAU Gvozdika", + "shortLabel": "SAU Gvozdika", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "122mm Howitzer", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SAU Msta": { + "name": "SAU Msta", + "label": "SAU Msta", + "shortLabel": "SAU Msta", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "152mm Howitzer", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SAU Akatsia": { + "name": "SAU Akatsia", + "label": "SAU Akatsia", + "shortLabel": "SAU Akatsia", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "152mm Howitzer", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SAU 2-C9": { + "name": "SAU 2-C9", + "label": "SAU Nona", + "shortLabel": "SAU Nona", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm Mortar", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M-109": { + "name": "M-109", + "label": "M-109 Paladin", + "shortLabel": "M-109", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "155mm Howitzer", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Gun Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "AAV7": { + "name": "AAV7", + "label": "AAV7", + "shortLabel": "AAV7", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BMD-1": { + "name": "BMD-1", + "label": "BMD-1", + "shortLabel": "BMD-1", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "73mm Gun", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 3, + "effective_against": "Surface (Soft)" + }, + { + "name": "AT-3 Sagger ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BMP-1": { + "name": "BMP-1", + "label": "BMP-1", + "shortLabel": "BMP-1", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "73mm Gun", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 3, + "effective_against": "Surface (Soft)" + }, + { + "name": "AT-3 Sagger ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BMP-2": { + "name": "BMP-2", + "label": "BMP-2", + "shortLabel": "BMP-2", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "30mm Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 3, + "effective_against": "Surface (Soft)" + }, + { + "name": "AT-5 Konkurs ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BMP-3": { + "name": "BMP-3", + "label": "BMP-3", + "shortLabel": "BMP-3", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "100mm Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "30mm Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 3, + "effective_against": "Surface (Soft)" + }, + { + "name": "AT-10 Stabber ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Boman": { + "name": "Boman", + "label": "Grad Fire Direction Manager", + "shortLabel": "Boman", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "7.62mm PKMB GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "RPG-7", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Reconnaissance" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BRDM-2": { + "name": "BRDM-2", + "label": "BRDM-2", + "shortLabel": "BRDM-2", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "14.5mm KPVT HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Reconnaissance" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BTR-80": { + "name": "BTR-80", + "label": "BTR-80", + "shortLabel": "BTR-80", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "14.5mm KPVT HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "BTR_D": { + "name": "BTR_D", + "label": "BTR_D", + "shortLabel": "BTR_D", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "7.62mm PKT GPMG", + "quantity": 2, + "effective_against": "Surface (Soft)" + }, + { + "name": "AT-5 Konkurs ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Bunker": { + "name": "Bunker", + "label": "Bunker", + "shortLabel": "Bunker", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Static" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Cobra": { + "name": "Cobra", + "label": "Otokar Cobra", + "shortLabel": "Cobra", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Reconnaissance" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "LAV-25": { + "name": "LAV-25", + "label": "LAV-25", + "shortLabel": "LAV-25", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "25mm M242 Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm M240 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1043 HMMWV Armament": { + "name": "M1043 HMMWV Armament", + "label": "HMMWV M2 Browning", + "shortLabel": "HMMWV M2", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Reconnaissance" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1045 HMMWV TOW": { + "name": "M1045 HMMWV TOW", + "label": "HMMWV TOW", + "shortLabel": "HMMWV TOW", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "BGM-71 TOW ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Reconnaissance" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1126 Stryker ICV": { + "name": "M1126 Stryker ICV", + "label": "Stryker MG", + "shortLabel": "Stryker MG", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M-113": { + "name": "M-113", + "label": "M-113", + "shortLabel": "M-113", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1134 Stryker ATGM": { + "name": "M1134 Stryker ATGM", + "label": "Stryker ATGM", + "shortLabel": "Stryker ATGM", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "BGM-71 TOW", + "quantity": 2, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M-2 Bradley": { + "name": "M-2 Bradley", + "label": "M-2A2 Bradley", + "shortLabel": "M-2 Bradley", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "25mm M242 Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "BGM-71 TOW", + "quantity": 2, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm M240 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Marder": { + "name": "Marder", + "label": "Marder", + "shortLabel": "Marder", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "20mm MK 20 Rh 202 Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm MG3 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "MCV-80": { + "name": "MCV-80", + "label": "Warrior IFV", + "shortLabel": "Warrior", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "30mm L21A1 Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm L94A1 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "IFV" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "MTLB": { + "name": "MTLB", + "label": "MT-LB", + "shortLabel": "MT-LB", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Paratrooper RPG-16": { + "name": "Paratrooper RPG-16", + "label": "Paratrooper RPG-16", + "shortLabel": "Paratrooper RPG-16", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "RPG-16", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Paratrooper AKS-74": { + "name": "Paratrooper AKS-74", + "label": "Paratrooper AKS-74", + "shortLabel": "Paratrooper AKS-74", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.45mm AKS-74", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Sandbox": { + "name": "Sandbox", + "label": "Sandbox", + "shortLabel": "Sandbox", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Static" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Soldier AK": { + "name": "Soldier AK", + "label": "Soldier AK", + "shortLabel": "Soldier AK", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.45mm AK-74", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Infantry AK": { + "name": "Infantry AK", + "label": "Infantry AK", + "shortLabel": "Infantry AK", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.45mm AK-74", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Soldier M249": { + "name": "Soldier M249", + "label": "Soldier M249", + "shortLabel": "Soldier M249", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.56mm M249 SAW", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Soldier M4": { + "name": "Soldier M4", + "label": "Soldier M4", + "shortLabel": "Soldier M4", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.56mm M4", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Soldier M4 GRG": { + "name": "Soldier M4 GRG", + "label": "Soldier M4 GRG", + "shortLabel": "Soldier M4 GRG", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "5.56mm M4", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Soldier RPG": { + "name": "Soldier RPG", + "label": "Soldier RPG", + "shortLabel": "Soldier RPG", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "RPG-16", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Infantry" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "TPZ": { + "name": "TPZ", + "label": "TPz Fuchs", + "shortLabel": "TPz Fuchs", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "7.62mm M3 GPMG", + "quantity": 1, + "effective_against": "Surface (soft)" + } + ], + "roles": [ + "APC" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Grad-URAL": { + "name": "Grad-URAL", + "label": "Grad", + "shortLabel": "Grad", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "122mm Grad 9M21 Rocket", + "quantity": 40, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Rocket Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Uragan_BM-27": { + "name": "Uragan_BM-27", + "label": "Uragan", + "shortLabel": "Uragan", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "220mm Uragan 9M27 Rocket", + "quantity": 16, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Rocket Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Smerch": { + "name": "Smerch", + "label": "Smerch", + "shortLabel": "Smerch", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "300mm Smerch 9M55 Rocket", + "quantity": 12, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Rocket Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "MLRS": { + "name": "MLRS", + "label": "M270", + "shortLabel": "M270", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "227mm with 644 DPICM Submunitions", + "quantity": 12, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Rocket Artillery" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "2S6 Tunguska": { + "name": "2S6 Tunguska", + "label": "SA-19 Tunguska", + "shortLabel": "SA-19", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Twin Barrel 30mm 2A38M Autocannons", + "quantity": 2, + "effective_against": "Surface (Soft), Aircraft" + }, + { + "name": "9M311 SAM (Radio Command Guidance)", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA/SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Kub 2P25 ln": { + "name": "Kub 2P25 ln", + "label": "SA-6 Kub 2P25 ln", + "shortLabel": "Kub 2P25 ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "3M9M SAM (SARH)", + "quantity": 3, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "5p73 s-125 ln": { + "name": "5p73 s-125 ln", + "label": "SA-3 5p73 s-125 ln", + "shortLabel": "5p73 s-125 ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "SA-3 3M9M SAM (RF CLOS)", + "quantity": 3, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 5P85C ln": { + "name": "S-300PS 5P85C ln", + "label": "SA-10 S-300PS 5P85C ln", + "shortLabel": "S-300PS 5P85C ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "48N6 SAM (SARH)", + "quantity": 2, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 5P85D ln": { + "name": "S-300PS 5P85D ln", + "label": "SA-10 S-300PS 5P85D ln", + "shortLabel": "S-300PS 5P85D ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "48N6 SAM (SARH)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-11 Buk LN 9A310M1": { + "name": "SA-11 Buk LN 9A310M1", + "label": "SA-11 Buk LN 9A310M1", + "shortLabel": "SA-11 Buk LN 9A310M1", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9M38M1 SAM (SARH)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Osa 9A33 ln": { + "name": "Osa 9A33 ln", + "label": "SA-8 Osa 9A33 ln", + "shortLabel": "Osa 9A33 ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9M33 SAM (SARH)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Tor 9A331": { + "name": "Tor 9A331", + "label": "SA-15 Tor 9A331", + "shortLabel": "Tor 9A331", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9M330 SAM (Radio Command Guidance)", + "quantity": 8, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Strela-10M3": { + "name": "Strela-10M3", + "label": "SA-13 Strela-10M3", + "shortLabel": "Strela-10M3", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9M333 SAM (IR)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Strela-1 9P31": { + "name": "Strela-1 9P31", + "label": "SA-9 Strela-1 9P31", + "shortLabel": "Strela-1 9P31", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9M31 SAM (IR)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-11 Buk CC 9S470M1": { + "name": "SA-11 Buk CC 9S470M1", + "label": "SA-11 Buk CC 9S470M1", + "shortLabel": "SA-11 Buk CC 9S470M1", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Command Post", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-8 Osa LD 9T217": { + "name": "SA-8 Osa LD 9T217", + "label": "SA-8 Osa LD 9T217", + "shortLabel": "SA-8 Osa LD 9T217", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Transloader", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot AMG": { + "name": "Patriot AMG", + "label": "Patriot AMG", + "shortLabel": "Patriot AMG", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Antenna Mast Group", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot ECS": { + "name": "Patriot ECS", + "label": "Patriot ECS", + "shortLabel": "Patriot ECS", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Engagement Control Station", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Gepard": { + "name": "Gepard", + "label": "Gepard", + "shortLabel": "Gepard", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "35mm KDA Autocannon", + "quantity": 2, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hawk pcp": { + "name": "Hawk pcp", + "label": "Hawk pcp", + "shortLabel": "Hawk pcp", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Command Post", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-18 Igla manpad": { + "name": "SA-18 Igla manpad", + "label": "SA-18 Igla manpad", + "shortLabel": "SA-18 Igla manpad", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9K38 SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-18 Igla comm": { + "name": "SA-18 Igla comm", + "label": "SA-18 Igla comm", + "shortLabel": "SA-18 Igla comm", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Commander", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Igla manpad INS": { + "name": "Igla manpad INS", + "label": "SA-18 Igla manpad INS", + "shortLabel": "Igla manpad INS", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9K38 SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-18 Igla-S manpad": { + "name": "SA-18 Igla-S manpad", + "label": "SA-18 Igla-S manpad", + "shortLabel": "SA-18 Igla-S manpad", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "9K338 SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-18 Igla-S comm": { + "name": "SA-18 Igla-S comm", + "label": "SA-18 Igla-S comm", + "shortLabel": "SA-18 Igla-S comm", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Commander", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Vulcan": { + "name": "Vulcan", + "label": "Vulcan", + "shortLabel": "Vulcan", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "M168 20mm Vulcan", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hawk ln": { + "name": "Hawk ln", + "label": "Hawk ln", + "shortLabel": "Hawk ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "MIM 23B SAM (SARH)", + "quantity": 3, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M48 Chaparral": { + "name": "M48 Chaparral", + "label": "M48 Chaparral", + "shortLabel": "M48 Chaparral", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "MIM-72G SAM (IR)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M6 Linebacker": { + "name": "M6 Linebacker", + "label": "M6 Linebacker", + "shortLabel": "M6 Linebacker", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "M242 25mm Autocannon", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm M240C GPMG", + "quantity": 4, + "effective_against": "Surface (Soft)" + }, + { + "name": "Stinger SAM (IR)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot ln": { + "name": "Patriot ln", + "label": "Patriot ln", + "shortLabel": "Patriot ln", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "MIM-104 SAM (SARH)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1097 Avenger": { + "name": "M1097 Avenger", + "label": "M1097 Avenger", + "shortLabel": "M1097 Avenger", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "12.7mm M2 HMG", + "quantity": 2, + "effective_against": "Surface (Soft)" + }, + { + "name": "Stinger SAM (IR)", + "quantity": 4, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot EPP": { + "name": "Patriot EPP", + "label": "Patriot EPP", + "shortLabel": "Patriot EPP", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Diesel-Electric Generator", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot cp": { + "name": "Patriot cp", + "label": "Patriot cp", + "shortLabel": "Patriot cp", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Command Post", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Roland ADS": { + "name": "Roland ADS", + "label": "Roland ADS", + "shortLabel": "Roland ADS", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "MIM-115 SAM (Radio Command Guidance)", + "quantity": 2, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 54K6 cp": { + "name": "S-300PS 54K6 cp", + "label": "SA-10 S-300PS 54K6 cp", + "shortLabel": "S-300PS 54K6 cp", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Command Post", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Stinger manpad GRG": { + "name": "Stinger manpad GRG", + "label": "Stinger manpad GRG", + "shortLabel": "Stinger manpad GRG", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Stinger SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Stinger manpad dsr": { + "name": "Stinger manpad dsr", + "label": "Stinger manpad dsr", + "shortLabel": "Stinger manpad dsr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Stinger SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Stinger comm dsr": { + "name": "Stinger comm dsr", + "label": "Stinger comm dsr", + "shortLabel": "Stinger comm dsr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Commander", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Stinger manpad": { + "name": "Stinger manpad", + "label": "Stinger manpad", + "shortLabel": "Stinger manpad", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Stinger SAM (IR)", + "quantity": 1, + "effective_against": "Aircraft" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Stinger comm": { + "name": "Stinger comm", + "label": "Stinger comm", + "shortLabel": "Stinger comm", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Commander", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZSU-23-4 Shilka": { + "name": "ZSU-23-4 Shilka", + "label": "ZSU-23-4 Shilka", + "shortLabel": "ZSU-23-4 Shilka", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm AZP-23M Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZU-23 Emplacement Closed": { + "name": "ZU-23 Emplacement Closed", + "label": "ZU-23 Emplacement Closed", + "shortLabel": "ZU-23 Emplacement Closed", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZU-23 Emplacement": { + "name": "ZU-23 Emplacement", + "label": "ZU-23 Emplacement", + "shortLabel": "ZU-23 Emplacement", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZU-23 Closed Insurgent": { + "name": "ZU-23 Closed Insurgent", + "label": "ZU-23 Closed Insurgent", + "shortLabel": "ZU-23 Closed Insurgent", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-375 ZU-23 Insurgent": { + "name": "Ural-375 ZU-23 Insurgent", + "label": "Ural-375 ZU-23 Insurgent", + "shortLabel": "Ural-375 ZU-23 Insurgent", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZU-23 Insurgent": { + "name": "ZU-23 Insurgent", + "label": "ZU-23 Insurgent", + "shortLabel": "ZU-23 Insurgent", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-375 ZU-23": { + "name": "Ural-375 ZU-23", + "label": "Ural-375 ZU-23", + "shortLabel": "Ural-375 ZU-23", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "23mm 2A14 Autocannon", + "quantity": 4, + "effective_against": "Surface (Soft), Aircraft" + } + ], + "roles": [ + "AAA" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "1L13 EWR": { + "name": "1L13 EWR", + "label": "1L13 EWR", + "shortLabel": "1L13 EWR", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Early Warning Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "Radar" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Kub 1S91 str": { + "name": "Kub 1S91 str", + "label": "SA-6 Kub 1S91 str", + "shortLabel": "Kub 1S91 str", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search and Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 40B6M tr": { + "name": "S-300PS 40B6M tr", + "label": "SA-10 S-300PS 40B6M tr", + "shortLabel": "S-300PS 40B6M tr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 40B6MD sr": { + "name": "S-300PS 40B6MD sr", + "label": "SA-10 S-300PS 40B6MD sr", + "shortLabel": "S-300PS 40B6MD sr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "55G6 EWR": { + "name": "55G6 EWR", + "label": "55G6 EWR", + "shortLabel": "55G6 EWR", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Early Warning Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "Radar" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "S-300PS 64H6E sr": { + "name": "S-300PS 64H6E sr", + "label": "SA-10 S-300PS 64H6E sr", + "shortLabel": "S-300PS 64H6E sr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SA-11 Buk SR 9S18M1": { + "name": "SA-11 Buk SR 9S18M1", + "label": "SA-11 Buk SR 9S18M1", + "shortLabel": "SA-11 Buk SR 9S18M1", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Dog Ear radar": { + "name": "Dog Ear radar", + "label": "Dog Ear radar", + "shortLabel": "Dog Ear radar", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hawk tr": { + "name": "Hawk tr", + "label": "Hawk tr", + "shortLabel": "Hawk tr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hawk sr": { + "name": "Hawk sr", + "label": "Hawk sr", + "shortLabel": "Hawk sr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Patriot str": { + "name": "Patriot str", + "label": "Patriot str", + "shortLabel": "Patriot str", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search and Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hawk cwar": { + "name": "Hawk cwar", + "label": "Hawk cwar", + "shortLabel": "Hawk cwar", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search and Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "p-19 s-125 sr": { + "name": "p-19 s-125 sr", + "label": "SA-3 p-19 s-125 sr", + "shortLabel": "p-19 s-125 sr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Roland Radar": { + "name": "Roland Radar", + "label": "Roland Radar", + "shortLabel": "Roland Radar", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Search Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "snr s-125 tr": { + "name": "snr s-125 tr", + "label": "SA-3 snr s-125 tr", + "shortLabel": "snr s-125 tr", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "Track Radar", + "quantity": 1, + "effective_against": "None" + } + ], + "roles": [ + "SAM" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "house1arm": { + "name": "house1arm", + "label": "house1arm", + "shortLabel": "house1arm", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Structure" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "house2arm": { + "name": "house2arm", + "label": "house2arm", + "shortLabel": "house2arm", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Structure" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "outpost_road": { + "name": "outpost_road", + "label": "outpost_road", + "shortLabel": "outpost_road", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Structure" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "outpost": { + "name": "outpost", + "label": "outpost", + "shortLabel": "outpost", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Structure" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "houseA_arm": { + "name": "houseA_arm", + "label": "houseA_arm", + "shortLabel": "houseA_arm", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Structure" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Challenger2": { + "name": "Challenger2", + "label": "Challenger2", + "shortLabel": "Challenger2", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm L30A1 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm L94A1 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "7.62mm L37A2 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Leclerc": { + "name": "Leclerc", + "label": "Leclerc", + "shortLabel": "Leclerc", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm F1 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "12.7mm M2HB HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Leopard1A3": { + "name": "Leopard1A3", + "label": "Leopard1A3", + "shortLabel": "Leopard1A3", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "105mm L7A3 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm MG3 GPMG", + "quantity": 2, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Leopard-2": { + "name": "Leopard-2", + "label": "Leopard-2", + "shortLabel": "Leopard-2", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm Rh L/44 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm MG3 GPMG", + "quantity": 2, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M-60": { + "name": "M-60", + "label": "M-60", + "shortLabel": "M-60", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "105mm M68 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm M73 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm M85 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M1128 Stryker MGS": { + "name": "M1128 Stryker MGS", + "label": "M1128 Stryker MGS", + "shortLabel": "M1128 Stryker MGS", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "105mm M68 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm M240 GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "SPG" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M-1 Abrams": { + "name": "M-1 Abrams", + "label": "M-1 Abrams", + "shortLabel": "M-1 Abrams", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "120mm Rh L/44 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm M240 GPMG", + "quantity": 2, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm M2 HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "T-55": { + "name": "T-55", + "label": "T-55", + "shortLabel": "T-55", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "100mm D-10T Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm SGMT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm DShK HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "T-72B": { + "name": "T-72B", + "label": "T-72B", + "shortLabel": "T-72B", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "125mm 2A46M Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm NSVT HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "T-80UD": { + "name": "T-80UD", + "label": "T-80UD", + "shortLabel": "T-80UD", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "125mm 2A46M Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm NSVT HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "T-90": { + "name": "T-90", + "label": "T-90", + "shortLabel": "T-90", + "loadouts": [ + { + "fuel": 1, + "items": [ + { + "name": "125mm 2A46M-5 Gun", + "quantity": 1, + "effective_against": "Surface (Hard)" + }, + { + "name": "7.62mm PKT GPMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "12.7mm NSVT HMG", + "quantity": 1, + "effective_against": "Surface (Soft)" + }, + { + "name": "9K119M ATGM", + "quantity": 1, + "effective_against": "Surface (Hard)" + } + ], + "roles": [ + "Tank" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-4320 APA-5D": { + "name": "Ural-4320 APA-5D", + "label": "Ural-4320 APA-5D", + "shortLabel": "Ural-4320 APA-5D", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ATMZ-5": { + "name": "ATMZ-5", + "label": "ATMZ-5", + "shortLabel": "ATMZ-5", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ATZ-10": { + "name": "ATZ-10", + "label": "ATZ-10", + "shortLabel": "ATZ-10", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "GAZ-3307": { + "name": "GAZ-3307", + "label": "GAZ-3307", + "shortLabel": "GAZ-3307", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "GAZ-3308": { + "name": "GAZ-3308", + "label": "GAZ-3308", + "shortLabel": "GAZ-3308", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "GAZ-66": { + "name": "GAZ-66", + "label": "GAZ-66", + "shortLabel": "GAZ-66", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M978 HEMTT Tanker": { + "name": "M978 HEMTT Tanker", + "label": "M978 HEMTT Tanker", + "shortLabel": "M978 HEMTT Tanker", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "HEMTT TFFT": { + "name": "HEMTT TFFT", + "label": "HEMTT TFFT", + "shortLabel": "HEMTT TFFT", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "IKARUS Bus": { + "name": "IKARUS Bus", + "label": "IKARUS Bus", + "shortLabel": "IKARUS Bus", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "KAMAZ Truck": { + "name": "KAMAZ Truck", + "label": "KAMAZ Truck", + "shortLabel": "KAMAZ Truck", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "LAZ Bus": { + "name": "LAZ Bus", + "label": "LAZ Bus", + "shortLabel": "LAZ Bus", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Hummer": { + "name": "Hummer", + "label": "Hummer", + "shortLabel": "Hummer", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "M 818": { + "name": "M 818", + "label": "M 818", + "shortLabel": "M 818", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "MAZ-6303": { + "name": "MAZ-6303", + "label": "MAZ-6303", + "shortLabel": "MAZ-6303", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Predator GCS": { + "name": "Predator GCS", + "label": "Predator GCS", + "shortLabel": "Predator GCS", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Predator TrojanSpirit": { + "name": "Predator TrojanSpirit", + "label": "Predator TrojanSpirit", + "shortLabel": "Predator TrojanSpirit", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Suidae": { + "name": "Suidae", + "label": "Suidae", + "shortLabel": "Suidae", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Tigr_233036": { + "name": "Tigr_233036", + "label": "Tigr_233036", + "shortLabel": "Tigr_233036", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Trolley bus": { + "name": "Trolley bus", + "label": "Trolley bus", + "shortLabel": "Trolley bus", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "UAZ-469": { + "name": "UAZ-469", + "label": "UAZ-469", + "shortLabel": "UAZ-469", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural ATsP-6": { + "name": "Ural ATsP-6", + "label": "Ural ATsP-6", + "shortLabel": "Ural ATsP-6", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-375 PBU": { + "name": "Ural-375 PBU", + "label": "Ural-375 PBU", + "shortLabel": "Ural-375 PBU", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-375": { + "name": "Ural-375", + "label": "Ural-375", + "shortLabel": "Ural-375", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-4320-31": { + "name": "Ural-4320-31", + "label": "Ural-4320-31", + "shortLabel": "Ural-4320-31", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "Ural-4320T": { + "name": "Ural-4320T", + "label": "Ural-4320T", + "shortLabel": "Ural-4320T", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "VAZ Car": { + "name": "VAZ Car", + "label": "VAZ Car", + "shortLabel": "VAZ Car", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZiL-131 APA-80": { + "name": "ZiL-131 APA-80", + "label": "ZiL-131 APA-80", + "shortLabel": "ZiL-131 APA-80", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "SKP-11": { + "name": "SKP-11", + "label": "SKP-11", + "shortLabel": "SKP-11", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZIL-131 KUNG": { + "name": "ZIL-131 KUNG", + "label": "ZIL-131 KUNG", + "shortLabel": "ZIL-131 KUNG", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + }, + "ZIL-4331": { + "name": "ZIL-4331", + "label": "ZIL-4331", + "shortLabel": "ZIL-4331", + "loadouts": [ + { + "fuel": 1, + "items": [ + + ], + "roles": [ + "Unarmed" + ], + "code": "", + "name": "Default" + } + ], + "filename": "" + } + } + } +} + export var groundUnitsDatabase = new GroundUnitsDatabase(); \ No newline at end of file From d32923ffe80848341f7c63e3a3fbb73cb96380a1 Mon Sep 17 00:00:00 2001 From: Shredmetal <131475927+Shredmetal@users.noreply.github.com> Date: Mon, 1 May 2023 17:05:16 +0800 Subject: [PATCH 2/3] Added AircraftDatabase with era DO NOT MERGE WITHOUT TESTING. This will break olympus as of the date of upload. --- client/src/units/aircraftdatabase.ts | 517 ++++++++++++++++++++++++--- 1 file changed, 474 insertions(+), 43 deletions(-) diff --git a/client/src/units/aircraftdatabase.ts b/client/src/units/aircraftdatabase.ts index de0d5528..4b42016b 100644 --- a/client/src/units/aircraftdatabase.ts +++ b/client/src/units/aircraftdatabase.ts @@ -6,6 +6,7 @@ export class AircraftDatabase extends UnitDatabase { this.blueprints = { "A-10C_2": { "name": "A-10C_2", + "era": ["Late Cold War", "Modern"], "label": "A-10C Warthog", "shortLabel": "10", "loadouts": [ @@ -108,6 +109,7 @@ export class AircraftDatabase extends UnitDatabase { "AJS37": { "name": "AJS37", "label": "AJS37 Viggen", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "37", "loadouts": [ { @@ -189,6 +191,7 @@ export class AircraftDatabase extends UnitDatabase { "AV8BNA": { "name": "AV8BNA", "label": "AV8BNA Harrier", + "era": ["Late Cold War", "Modern"], "shortLabel": "8", "loadouts": [ { @@ -256,6 +259,7 @@ export class AircraftDatabase extends UnitDatabase { "C-101CC": { "name": "C-101CC", "label": "C-101CC", + "era": ["Late Cold War", "Modern"], "shortLabel": "101", "loadouts": [ { @@ -316,9 +320,47 @@ export class AircraftDatabase extends UnitDatabase { ], "filename": "c-101.png" }, + "H-6J": { + "name": "H-6J", + "label": "H-6J (the other) Copyright Infringement", + "era": ["Mid Cold War, Late Cold War", "Modern"], + "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", "label": "J-11A Copyright Infringement", + "era": ["Modern"], "shortLabel": "11", "loadouts": [ { @@ -392,6 +434,7 @@ export class AircraftDatabase extends UnitDatabase { "JF-17": { "name": "JF-17", "label": "JF-17 Thunder", + "era": ["Modern"], "shortLabel": "17", "loadouts": [ { @@ -485,6 +528,7 @@ export class AircraftDatabase extends UnitDatabase { "F-16C_50": { "name": "F-16C_50", "label": "F-16C Viper", + "era": ["Late Cold War", "Modern"], "shortLabel": "16", "loadouts": [ { @@ -594,6 +638,7 @@ export class AircraftDatabase extends UnitDatabase { "F-5E-3": { "name": "F-5E-3", "label": "F-5E Tiger", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "5", "loadouts": [ { @@ -653,6 +698,7 @@ export class AircraftDatabase extends UnitDatabase { "F-86F Sabre": { "name": "F-86F Sabre", "label": "F-86F Sabre", + "era": ["Early Cold War, Mid Cold War"], "shortLabel": "86", "loadouts": [ { @@ -714,6 +760,7 @@ export class AircraftDatabase extends UnitDatabase { "F-14A-135-GR": { "name": "F-14A-135-GR", "label": "F-14A-135-GR Tomcat", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "14A", "loadouts": [ { @@ -811,6 +858,7 @@ export class AircraftDatabase extends UnitDatabase { "F-14B": { "name": "F-14B", "label": "F-14B Tomcat", + "era": ["Late Cold War", "Modern"], "shortLabel": "14B", "loadouts": [ { @@ -907,6 +955,7 @@ export class AircraftDatabase extends UnitDatabase { }, "FA-18C_hornet": { "name": "FA-18C_hornet", + "era": ["Late Cold War", "Modern"], "label": "F/A-18C", "shortLabel": "18", "loadouts": [ @@ -1053,6 +1102,7 @@ export class AircraftDatabase extends UnitDatabase { "I-16": { "name": "I-16", "label": "I-16", + "era": ["WW2"], "shortLabel": "I16", "loadouts": [ { @@ -1072,6 +1122,7 @@ export class AircraftDatabase extends UnitDatabase { "L-39ZA": { "name": "L-39ZA", "label": "L-39ZA", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "39", "loadouts": [ { @@ -1133,6 +1184,7 @@ export class AircraftDatabase extends UnitDatabase { "M-2000C": { "name": "M-2000C", "label": "M-2000C Baguette", + "era": ["Late Cold War", "Modern"], "shortLabel": "M2KC", "loadouts": [ { @@ -1222,6 +1274,7 @@ export class AircraftDatabase extends UnitDatabase { "MB-339A": { "name": "MB-339A", "label": "MB-339A", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "339A", "loadouts": [ { @@ -1289,6 +1342,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-19P": { "name": "MiG-19P", "label": "MiG-19 Farmer", + "era": ["Early Cold War", "Mid Cold War"], "shortLabel": "19", "loadouts": [ { @@ -1358,6 +1412,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-21Bis": { "name": "MiG-21Bis", "label": "MiG-21 Fishbed", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "21", "loadouts": [ { @@ -1477,6 +1532,7 @@ export class AircraftDatabase extends UnitDatabase { "Mirage-F1EE": { "name": "Mirage-F1EE", "label": "Mirage-F1EE", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "F1EE", "loadouts": [ { @@ -1533,10 +1589,384 @@ export class AircraftDatabase extends UnitDatabase { ], "filename": "f-5.png" }, + "A-20G": { + "name": "A-20G", + "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", + "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", + "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", + "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", + "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" + }, + "MosquitoFBMkVI": { + "name": "MosquitoFBMkVI", + "label": "Mosquito FB MkVI", + "era": ["WW2", "Early Cold War"], + "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", + "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", + "label": "P-51D Mustang", + "era": ["WW2", "Early Cold War"], + "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", "label": "A-50 Mainstay", - "shortLabel": "50", + "era": ["Late Cold War", "Modern"], + "shortLabel": "A50", "loadouts": [ { "fuel": 1, @@ -1566,6 +1996,7 @@ export class AircraftDatabase extends UnitDatabase { "An-26B": { "name": "An-26B", "label": "An-26B Curl", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "26", "loadouts": [ { @@ -1585,6 +2016,7 @@ export class AircraftDatabase extends UnitDatabase { "An-30M": { "name": "An-30M", "label": "An-30M Clank", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "30", "loadouts": [ { @@ -1604,6 +2036,7 @@ export class AircraftDatabase extends UnitDatabase { "B-1B": { "name": "B-1B", "label": "B-1B Lancer", + "era": ["Late Cold War", "Modern"], "shortLabel": "1", "loadouts": [ { @@ -1637,6 +2070,7 @@ export class AircraftDatabase extends UnitDatabase { "B-52H": { "name": "B-52H", "label": "B-52H Stratofortress", + "era": ["Early Cold War", "Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "52", "loadouts": [ { @@ -1670,6 +2104,7 @@ export class AircraftDatabase extends UnitDatabase { "C-130": { "name": "C-130", "label": "C-130 Hercules", + "era": ["Early Cold War", "Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "130", "loadouts": [ { @@ -1689,6 +2124,7 @@ export class AircraftDatabase extends UnitDatabase { "C-17A": { "name": "C-17A", "label": "C-17A Globemaster", + "era": ["Modern"], "shortLabel": "C17", "loadouts": [ { @@ -1708,6 +2144,7 @@ export class AircraftDatabase extends UnitDatabase { "E-3A": { "name": "E-3A", "label": "E-3A Sentry", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "E3", "loadouts": [ { @@ -1727,6 +2164,7 @@ export class AircraftDatabase extends UnitDatabase { "E-2C": { "name": "E-2C", "label": "E-2C Hawkeye", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "2C", "loadouts": [ { @@ -1746,6 +2184,7 @@ export class AircraftDatabase extends UnitDatabase { "F-117A": { "name": "F-117A", "label": "F-117A Nighthawk", + "era": ["Late Cold War", "Modern"], "shortLabel": "117", "loadouts": [ { @@ -1779,6 +2218,7 @@ export class AircraftDatabase extends UnitDatabase { "F-15C": { "name": "F-15C", "label": "F-15C Eagle", + "era": ["Late Cold War", "Modern"], "shortLabel": "15", "loadouts": [ { @@ -1842,6 +2282,7 @@ export class AircraftDatabase extends UnitDatabase { "F-15E": { "name": "F-15E", "label": "F-15E Strike Eagle", + "era": ["Late Cold War", "Modern"], "shortLabel": "15", "loadouts": [ { @@ -1921,6 +2362,7 @@ export class AircraftDatabase extends UnitDatabase { "F-4E": { "name": "F-4E", "label": "F-4E Phantom II", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "4", "loadouts": [ { @@ -2010,6 +2452,7 @@ export class AircraftDatabase extends UnitDatabase { "IL-76MD": { "name": "IL-76MD", "label": "IL-76MD Candid", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "76", "loadouts": [ { @@ -2029,6 +2472,7 @@ export class AircraftDatabase extends UnitDatabase { "IL-78M": { "name": "IL-78M", "label": "IL-78M Midas", + "era": ["Late Cold War", "Modern"], "shortLabel": "78", "loadouts": [ { @@ -2048,6 +2492,7 @@ export class AircraftDatabase extends UnitDatabase { "KC-135": { "name": "KC-135", "label": "KC-135 Stratotanker", + "era": ["Early Cold War", "Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "135", "loadouts": [ { @@ -2064,9 +2509,10 @@ export class AircraftDatabase extends UnitDatabase { ], "filename": "kc-135.png" }, - "KC135MPRS": { - "name": "KC135MPRS", + "KC-135MPRS": { + "name": "KC-135MPRS", "label": "KC-135 MPRS Stratotanker", + "era": ["Early Cold War", "Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "135M", "loadouts": [ { @@ -2083,47 +2529,10 @@ export class AircraftDatabase extends UnitDatabase { ], "filename": "kc-135.png" }, - "KC_10_Extender": { - "name": "KC_10_Extender", - "label": "KC-10 Extender", - "shortLabel": "KC10", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tanker" - ], - "code": "", - "name": "Default Tanker" - } - ], - "filename": "kc-10.png" - }, - "KC_10_Extender_D": { - "name": "KC_10_Extender_D", - "label": "KC-10 Extender (Drogue)", - "shortLabel": "KC10", - "loadouts": [ - { - "fuel": 1, - "items": [ - - ], - "roles": [ - "Tanker" - ], - "code": "", - "name": "Default Tanker" - } - ], - "filename": "kc-10.png" - }, "MiG-15bis": { "name": "MiG-15bis", "label": "MiG-15 Fagot", + "era": ["Early Cold War", "Mid Cold War"], "shortLabel": "M15", "loadouts": [ { @@ -2171,6 +2580,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-23MLD": { "name": "MiG-23MLD", "label": "MiG-23 Flogger", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "23", "loadouts": [ { @@ -2234,6 +2644,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-25RBT": { "name": "MiG-25RBT", "label": "MiG-25RBT Foxbat", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "25", "loadouts": [ { @@ -2285,6 +2696,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-25PD": { "name": "MiG-25PD", "label": "MiG-25PD Foxbat", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "25", "loadouts": [ { @@ -2322,6 +2734,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-27K": { "name": "MiG-27K", "label": "MiG-27K Flogger-D", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "27", "loadouts": [ { @@ -2391,6 +2804,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-29A": { "name": "MiG-29A", "label": "MiG-29A Fulcrum", + "era": ["Late Cold War", "Modern"], "shortLabel": "29A", "loadouts": [ { @@ -2476,6 +2890,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-29S": { "name": "MiG-29S", "label": "MiG-29S Fulcrum", + "era": ["Late Cold War", "Modern"], "shortLabel": "29", "loadouts": [ { @@ -2583,6 +2998,7 @@ export class AircraftDatabase extends UnitDatabase { "MiG-31": { "name": "MiG-31", "label": "MiG-31 Foxhound", + "era": ["Late Cold War", "Modern"], "shortLabel": "31", "loadouts": [ { @@ -2620,6 +3036,7 @@ export class AircraftDatabase extends UnitDatabase { "MQ-9 Reaper": { "name": "MQ-9 Reaper", "label": "MQ-9 Reaper", + "era": ["Modern"], "shortLabel": "9", "loadouts": [ { @@ -2653,6 +3070,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-17M4": { "name": "Su-17M4", "label": "Su-17M4 Fitter", + "era": ["Mid Cold War", "Late Cold War"], "shortLabel": "17M4", "loadouts": [ { @@ -2694,6 +3112,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-24M": { "name": "Su-24M", "label": "Su-24M Fencer", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "24", "loadouts": [ { @@ -2730,7 +3149,8 @@ export class AircraftDatabase extends UnitDatabase { }, "Su-25": { "name": "Su-25", - "label": "Su-25 Frogfoot", + "label": "Su-25A Frogfoot", + "era": ["Late Cold War"], "shortLabel": "S25", "loadouts": [ { @@ -2801,7 +3221,8 @@ export class AircraftDatabase extends UnitDatabase { }, "Su-25T": { "name": "Su-25", - "label": "Su-25 Frogfoot", + "label": "Su-25T Frogfoot", + "era": ["Late Cold War", "Modern"], "shortLabel": "S25T", "loadouts": [ { @@ -2907,6 +3328,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-27": { "name": "Su-27", "label": "Su-27 Flanker", + "era": ["Late Cold War", "Modern"], "shortLabel": "27", "loadouts": [ { @@ -3006,6 +3428,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-30": { "name": "Su-30", "label": "Su-30 Super Flanker", + "era": ["Modern"], "shortLabel": "30", "loadouts": [ { @@ -3095,6 +3518,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-33": { "name": "Su-33", "label": "Su-33 Naval Flanker", + "era": ["Late Cold War", "Modern"], "shortLabel": "33", "loadouts": [ { @@ -3184,6 +3608,7 @@ export class AircraftDatabase extends UnitDatabase { "Su-34": { "name": "Su-34", "label": "Su-34 Hellduck", + "era": ["Modern"], "shortLabel": "34", "loadouts": [ { @@ -3229,6 +3654,7 @@ export class AircraftDatabase extends UnitDatabase { "Tornado IDS": { "name": "Tornado IDS", "label": "Tornado IDS", + "era": ["Late Cold War", "Modern"], "shortLabel": "IDS", "loadouts": [ { @@ -3270,6 +3696,7 @@ export class AircraftDatabase extends UnitDatabase { "Tornado GR4": { "name": "Tornado GR4", "label": "Tornado GR4", + "era": ["Late Cold War", "Modern"], "shortLabel": "GR4", "loadouts": [ { @@ -3363,6 +3790,7 @@ export class AircraftDatabase extends UnitDatabase { "Tu-142": { "name": "Tu-142", "label": "Tu-142 Bear", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "142", "loadouts": [ { @@ -3396,6 +3824,7 @@ export class AircraftDatabase extends UnitDatabase { "Tu-160": { "name": "Tu-160", "label": "Tu-160 Blackjack", + "era": ["Late Cold War", "Modern"], "shortLabel": "160", "loadouts": [ { @@ -3429,6 +3858,7 @@ export class AircraftDatabase extends UnitDatabase { "Tu-22M3": { "name": "Tu-22M3", "label": "Tu-22M3 Backfire", + "era": ["Late Cold War", "Modern"], "shortLabel": "T22", "loadouts": [ { @@ -3476,6 +3906,7 @@ export class AircraftDatabase extends UnitDatabase { "Tu-95MS": { "name": "Tu-95MS", "label": "Tu-95MS Bear", + "era": ["Mid Cold War", "Late Cold War", "Modern"], "shortLabel": "95", "loadouts": [ { From 7427c7059cf315f8b5e6df6fb3320ed4bcf2375e Mon Sep 17 00:00:00 2001 From: Pax1601 Date: Mon, 1 May 2023 11:12:21 +0200 Subject: [PATCH 3/3] Fixed error due to missing declarations --- client/src/@types/unitdatabase.d.ts | 2 + client/src/units/aircraftdatabase.ts | 55 +---- client/src/units/groundunitsdatabase.ts | 300 ++++++++++++------------ 3 files changed, 153 insertions(+), 204 deletions(-) diff --git a/client/src/@types/unitdatabase.d.ts b/client/src/@types/unitdatabase.d.ts index e82536a2..4348e35e 100644 --- a/client/src/@types/unitdatabase.d.ts +++ b/client/src/@types/unitdatabase.d.ts @@ -1,6 +1,7 @@ interface LoadoutItemBlueprint { name: string; quantity: number; + effectiveAgainst?: string; } interface LoadoutBlueprint { @@ -13,6 +14,7 @@ interface LoadoutBlueprint { interface UnitBlueprint { name: string; + era?: string[]; label: string; shortLabel: string; loadouts: LoadoutBlueprint[]; diff --git a/client/src/units/aircraftdatabase.ts b/client/src/units/aircraftdatabase.ts index 4b42016b..fda4334a 100644 --- a/client/src/units/aircraftdatabase.ts +++ b/client/src/units/aircraftdatabase.ts @@ -1827,59 +1827,6 @@ export class AircraftDatabase extends UnitDatabase { ], "filename": "mosquito.png" }, - "MosquitoFBMkVI": { - "name": "MosquitoFBMkVI", - "label": "Mosquito FB MkVI", - "era": ["WW2", "Early Cold War"], - "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", "label": "P-47D Thunderbolt", @@ -1961,7 +1908,7 @@ export class AircraftDatabase extends UnitDatabase { } ], "filename": "p-51.png" - } + }, "A-50": { "name": "A-50", "label": "A-50 Mainstay", diff --git a/client/src/units/groundunitsdatabase.ts b/client/src/units/groundunitsdatabase.ts index b4b3e0e6..8610bf91 100644 --- a/client/src/units/groundunitsdatabase.ts +++ b/client/src/units/groundunitsdatabase.ts @@ -15,7 +15,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm Mortar Tube", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], @@ -39,7 +39,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "122mm Howitzer", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], @@ -63,7 +63,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "152mm Howitzer", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -86,7 +86,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "152mm Howitzer", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -109,7 +109,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm Mortar", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -132,7 +132,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "155mm Howitzer", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -155,7 +155,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -178,17 +178,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "73mm Gun", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 3, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "AT-3 Sagger ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -211,17 +211,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "73mm Gun", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 3, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "AT-3 Sagger ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -244,17 +244,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "30mm Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 3, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "AT-5 Konkurs ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -277,22 +277,22 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "100mm Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "30mm Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 3, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "AT-10 Stabber ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -315,12 +315,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "7.62mm PKMB GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "RPG-7", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -343,12 +343,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "14.5mm KPVT HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -371,12 +371,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "14.5mm KPVT HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -399,12 +399,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "7.62mm PKT GPMG", "quantity": 2, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "AT-5 Konkurs ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -446,7 +446,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -469,12 +469,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "25mm M242 Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm M240 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -497,7 +497,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -520,7 +520,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "BGM-71 TOW ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -543,7 +543,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -566,7 +566,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -589,12 +589,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "BGM-71 TOW", "quantity": 2, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -617,17 +617,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "25mm M242 Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "BGM-71 TOW", "quantity": 2, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm M240 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -650,12 +650,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "20mm MK 20 Rh 202 Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm MG3 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -678,12 +678,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "30mm L21A1 Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm L94A1 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -706,7 +706,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -729,7 +729,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "RPG-16", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -752,7 +752,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.45mm AKS-74", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -794,7 +794,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.45mm AK-74", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -817,7 +817,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.45mm AK-74", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -840,7 +840,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.56mm M249 SAW", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -863,7 +863,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.56mm M4", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -886,7 +886,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "5.56mm M4", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -909,7 +909,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "RPG-16", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -932,7 +932,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "7.62mm M3 GPMG", "quantity": 1, - "effective_against": "Surface (soft)" + "effectiveAgainst": "Surface (soft)" } ], "roles": [ @@ -955,7 +955,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "122mm Grad 9M21 Rocket", "quantity": 40, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -978,7 +978,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "220mm Uragan 9M27 Rocket", "quantity": 16, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -1001,7 +1001,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "300mm Smerch 9M55 Rocket", "quantity": 12, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -1024,7 +1024,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "227mm with 644 DPICM Submunitions", "quantity": 12, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [ @@ -1047,12 +1047,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Twin Barrel 30mm 2A38M Autocannons", "quantity": 2, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" }, { "name": "9M311 SAM (Radio Command Guidance)", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1075,7 +1075,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "3M9M SAM (SARH)", "quantity": 3, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1098,7 +1098,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "SA-3 3M9M SAM (RF CLOS)", "quantity": 3, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1121,7 +1121,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "48N6 SAM (SARH)", "quantity": 2, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1144,7 +1144,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "48N6 SAM (SARH)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1167,7 +1167,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9M38M1 SAM (SARH)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1190,7 +1190,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9M33 SAM (SARH)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1213,7 +1213,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9M330 SAM (Radio Command Guidance)", "quantity": 8, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1236,7 +1236,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9M333 SAM (IR)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1259,7 +1259,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9M31 SAM (IR)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1282,7 +1282,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Command Post", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1305,7 +1305,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Transloader", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1328,7 +1328,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Antenna Mast Group", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1351,7 +1351,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Engagement Control Station", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1374,7 +1374,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "35mm KDA Autocannon", "quantity": 2, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1397,7 +1397,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Command Post", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1420,7 +1420,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9K38 SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1443,7 +1443,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Commander", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1466,7 +1466,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9K38 SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1489,7 +1489,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "9K338 SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1512,7 +1512,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Commander", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1535,7 +1535,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "M168 20mm Vulcan", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1558,7 +1558,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "MIM 23B SAM (SARH)", "quantity": 3, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1581,7 +1581,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "MIM-72G SAM (IR)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1604,17 +1604,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "M242 25mm Autocannon", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm M240C GPMG", "quantity": 4, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "Stinger SAM (IR)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1637,7 +1637,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "MIM-104 SAM (SARH)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1660,12 +1660,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "12.7mm M2 HMG", "quantity": 2, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "Stinger SAM (IR)", "quantity": 4, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1688,7 +1688,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Diesel-Electric Generator", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1711,7 +1711,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Command Post", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1734,7 +1734,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "MIM-115 SAM (Radio Command Guidance)", "quantity": 2, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1757,7 +1757,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Command Post", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1780,7 +1780,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Stinger SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1803,7 +1803,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Stinger SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1826,7 +1826,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Commander", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1849,7 +1849,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Stinger SAM (IR)", "quantity": 1, - "effective_against": "Aircraft" + "effectiveAgainst": "Aircraft" } ], "roles": [ @@ -1872,7 +1872,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Commander", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -1895,7 +1895,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm AZP-23M Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1918,7 +1918,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1941,7 +1941,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1964,7 +1964,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -1987,7 +1987,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -2010,7 +2010,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -2033,7 +2033,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "23mm 2A14 Autocannon", "quantity": 4, - "effective_against": "Surface (Soft), Aircraft" + "effectiveAgainst": "Surface (Soft), Aircraft" } ], "roles": [ @@ -2056,7 +2056,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Early Warning Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2079,7 +2079,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search and Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2102,7 +2102,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2125,7 +2125,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2148,7 +2148,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Early Warning Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2171,7 +2171,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2194,7 +2194,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2217,7 +2217,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2240,7 +2240,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2263,7 +2263,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2286,7 +2286,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search and Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2309,7 +2309,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search and Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2332,7 +2332,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2355,7 +2355,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Search Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2378,7 +2378,7 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "Track Radar", "quantity": 1, - "effective_against": "None" + "effectiveAgainst": "None" } ], "roles": [ @@ -2496,17 +2496,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm L30A1 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm L94A1 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "7.62mm L37A2 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2529,12 +2529,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm F1 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "12.7mm M2HB HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2557,12 +2557,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "105mm L7A3 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm MG3 GPMG", "quantity": 2, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2585,12 +2585,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm Rh L/44 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm MG3 GPMG", "quantity": 2, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2613,17 +2613,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "105mm M68 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm M73 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm M85 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2646,12 +2646,12 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "105mm M68 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm M240 GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2674,17 +2674,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "120mm Rh L/44 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm M240 GPMG", "quantity": 2, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm M2 HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2707,17 +2707,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "100mm D-10T Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm SGMT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm DShK HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2740,17 +2740,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "125mm 2A46M Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm NSVT HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2773,17 +2773,17 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "125mm 2A46M Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm NSVT HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" } ], "roles": [ @@ -2806,22 +2806,22 @@ export class GroundUnitsDatabase extends UnitDatabase { { "name": "125mm 2A46M-5 Gun", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" }, { "name": "7.62mm PKT GPMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "12.7mm NSVT HMG", "quantity": 1, - "effective_against": "Surface (Soft)" + "effectiveAgainst": "Surface (Soft)" }, { "name": "9K119M ATGM", "quantity": 1, - "effective_against": "Surface (Hard)" + "effectiveAgainst": "Surface (Hard)" } ], "roles": [