Author SHA1 Message Date
Jylpah 342b90bcf9 SSL -> TLS 2022-06-09 20:48:50 +03:00
Jylpah a9845b6fbb Update 9.0 2022-06-08 17:25:06 +03:00
Jylpah ee36e9192f Update 8.10 2022-04-30 21:43:24 +03:00
Jylpah 5d5821564e update 8.9 2022-03-24 15:44:48 +02:00
Jylpah 3c6f9dcae3 Merge branch 'master' of https://github.com/Jylpah/blitz-tools 2022-03-24 15:41:26 +02:00
Jylpah 433e2295c2 Update 8.9 2022-03-24 15:41:22 +02:00
Jylpah 3dc9533c6a Update maps.json 2022-03-24 15:41:15 +02:00
Jylpah 83456ae150 Add updates 8.5 - 8.8 2022-02-16 17:48:01 +02:00
Jylpah 0c25c781a9 Update 8.8 2022-02-16 17:41:50 +02:00
Jylpah 244ae314d8 Update 8.8 2022-02-16 17:40:17 +02:00
Jylpah 33b0efb48d Update 8.6 2022-01-22 22:27:34 +02:00
Jylpah 574fb95f00 Update 8.6 2021-12-20 10:15:47 +02:00
Jylpah fdc5db966e Update installation and usage instructions 2021-11-24 10:28:32 +02:00
Jylpah 65e4fd83d8 Update installation instructions 2021-11-24 09:48:39 +02:00
Jylpah e9451c7f5d Merge pull request #34 from Jylpah/stable-filters-update2
Fix --filters and improve performance when filtering
2021-11-23 21:42:45 +02:00
5 changed files with 453 additions and 56 deletions

No files matched your search

+25 -23
View File
@@ -1,5 +1,5 @@
# blitz-tools
Python scripts to analyze WoT Blitz replays and stats. All the scripts require [Python 3.7](https://www.python.org/downloads/) or higher. I am using 3.8 myself so you may have to change the Python interpreter version in the scripts' first line.
Python scripts to analyze WoT Blitz replays and stats. All the scripts require [Python 3.7](https://www.python.org/downloads/) or later.
### Replays
* [upload_wotb_replays.py](upload_wotb_replays.py): An asynchronous replay uploader.
@@ -13,46 +13,48 @@ Python scripts to analyze WoT Blitz replays and stats. All the scripts require [
* [blitzutils.py](blitzutils.py): A utils class for various Blitz related to functions. *Other scripts use this*, so you need to place it to the same folder with the other scripts
### Data
* [tanks.json](tanks.json): Tankopedia in WG JSON format extracted from the Blitz app files with [extract_tankopedia.py]](extractTankopedia.py]). Contains only limited information required by the scripts.
* [maps.json](maps.json): Blitz map names extracted from the Blitz app files with [extract_tankopedia.py]](extract_tankopedia.py]).
* [tanks.json](tanks.json): Tankopedia in WG JSON format extracted from the Blitz app files with [extract_tankopedia.py](extractTankopedia.py). Contains only limited information required by the scripts.
* [maps.json](maps.json): Blitz map names extracted from the Blitz app files with [extract_tankopedia.py](extract_tankopedia.py).
### Quick instructions
1. Install [Python 3.8](https://www.python.org/downloads/) on to your computer/laptop
2. Install the required Python modules: motor, aiohttp, aioconsole, aiofiles, aiosqlite, beautifulsoup4, lxml, xmltodict, progress
1. Install [Python 3.8](https://www.python.org/downloads/) or later to your computer/laptop
2. Install the required Python modules (see [requirements.txt](requirements.txt): motor, aiohttp, aioconsole, aiofiles, aiosqlite, beautifulsoup4, lxml, xmltodict, progress
```
# Remember to run the command with a Python interpreter >= 3.7
python -m pip install motor aiohttp aioconsole aiofiles aiosqlite beautifulsoup4 lxml xmltodict progress
python -m pip install -r requirements.txt
```
3. Download all the files including the [maps.json](maps.json) and [tanks.json](tanks.json) files. **The recommened way** is to install the scipts via `git clone`: [GitHub Desktop](https://desktop.github.com/) is an excellent GUI for git. This makes it easy to receive the updates via `git pull`.
4. Upload your replays.
3. Clone the repository. [GitHub Desktop](https://desktop.github.com/) is an excellent GUI for `git`. This makes it easy to receive the updates via `git pull`.
```
# Windows, run directly from Command Prompt or Powershell
# Check the options
git clone https://github.com/Jylpah/blitz-tools.git
```
4. Upload your replays with `upload_wotb_replays.py`
```
## Check the options
# Windows Command Prompt or Powershell
python.exe .\upload_wotb_replays.py --help
# Syntax
python.exe .\upload_wotb_replays.py REPLAY_FILE.wotbreplay
# Linux or Windows Subsystem for Linux (WSL)
./upload_wotb_replays.py --help
# Upload replays (Windows)
python.exe .\upload_wotb_replays.py REPLAY_FILE.wotbreplay DIR_WITH_REPLAYS
# example
python.exe .\upload_wotb_replays.py 20200223_0122__jylpah_T-54_grossberg.wotbreplay
# Linux
./upload_wotb_replays.py --help
```
5. Analyze replays.
5. Analyze replays with `analyze_wotb_replays.py`
```
# Windows, run directly from Command Prompt or Powershell
## Check options
# Windows Command Prompt or Powershell
python.exe .\analyze_wotb_replays.py --help
# Syntax
python.exe .\analyze_wotb_replays.py REPLAY_FILE.wotbreplay.json
# Syntax (Windows)
python.exe .\analyze_wotb_replays.py REPLAY_FILE.wotbreplay.json [DIR_WITH_REPLAYS ...]
# Example
# Example (Windows)
python.exe .\analyze_wotb_replays.py 20200223_0122__jylpah_T-54_grossberg.wotbreplay.json
# Linux
# Linux or Windows Subsystem for Linux (WSL)
./analyze_wotb_replays.py --help
```
+11 -11
View File
@@ -1446,8 +1446,8 @@ async def main(argv):
## VERY unlikely you have a DB set up
DB_SERVER = 'localhost'
DB_PORT = 27017
DB_SSL = False
DB_CERT_REQ = ssl.CERT_NONE
DB_TLS = False
DB_CERT_REQ = False
DB_AUTH = 'admin'
DB_NAME = 'BlitzStats'
DB_USER = 'mongouser'
@@ -1499,14 +1499,14 @@ async def main(argv):
OPT_DB = configDB.getboolean('opt_DB', OPT_DB)
DB_SERVER = configDB.get('db_server', DB_SERVER)
DB_PORT = configDB.getint('db_port', DB_PORT)
DB_SSL = configDB.getboolean('db_ssl', DB_SSL)
DB_CERT_REQ = configDB.getint('db_ssl_req', DB_CERT_REQ)
DB_TLS = configDB.getboolean('db_tls', DB_TLS)
DB_CERT_REQ = configDB.getboolean('db_tls_req', DB_CERT_REQ)
DB_AUTH = configDB.get('db_auth', DB_AUTH)
DB_NAME = configDB.get('db_name', DB_NAME)
DB_USER = configDB.get('db_user', DB_USER)
DB_PASSWD = configDB.get('db_password', DB_PASSWD)
DB_CERT = configDB.get('db_ssl_cert_file', DB_CERT)
DB_CA = configDB.get('db_ssl_ca_file', DB_CA)
DB_CERT = configDB.get('db_tls_cert_file', DB_CERT)
DB_CA = configDB.get('db_tls_ca_file', DB_CA)
except (KeyError, configparser.NoSectionError) as err:
bu.error(exception=err)
@@ -1552,7 +1552,7 @@ async def main(argv):
#### Connect to MongoDB. You are unlikely to have this set up...
bu.debug('DB_SERVER: ' + DB_SERVER)
bu.debug('DB_PORT: ' + str(DB_PORT))
bu.debug('DB_SSL: ' + "True" if DB_SSL else "False")
bu.debug('DB_TLS: ' + "True" if DB_TLS else "False")
bu.debug('DB_AUTH: ' + DB_AUTH)
bu.debug('DB_NAME: ' + DB_NAME)
@@ -1560,7 +1560,7 @@ async def main(argv):
db = None
if args.db:
try:
client = motor.motor_asyncio.AsyncIOMotorClient(DB_SERVER,DB_PORT, authSource=DB_AUTH, username=DB_USER, password=DB_PASSWD, ssl=DB_SSL, ssl_cert_reqs=DB_CERT_REQ, ssl_certfile=DB_CERT, tlsCAFile=DB_CA)
client = motor.motor_asyncio.AsyncIOMotorClient(DB_SERVER,DB_PORT, authSource=DB_AUTH, username=DB_USER, password=DB_PASSWD, tls=DB_TLS, tlsAllowInvalidCertificates=DB_CERT_REQ, tlsCertificateKeyFile=DB_CERT, tlsCAFile=DB_CA)
db = client[DB_NAME]
bu.debug('Database connection initiated')
except Exception as err:
@@ -2021,9 +2021,9 @@ async def process_player_stats(players, N_workers: int, args : argparse.Namespac
def remap_stat_id(stat_id_map: dict, stat_id_remap: dict):
bu.debug('Remapping stat_ids: stat_id_map: ' + str(len(stat_id_map)) + ' remap needed: ' + str(len(stat_id_remap)))
for stat_id in stat_id_map:
# bu.debug(stat_id)
if stat_id_map[stat_id] in stat_id_remap.keys():
stat_id_map[stat_id] = stat_id_remap[stat_id_map[stat_id]]
# bu.debug(stat_id)
if stat_id_map[stat_id] in stat_id_remap.keys():
stat_id_map[stat_id] = stat_id_remap[stat_id_map[stat_id]]
return stat_id_map
+1
View File
@@ -18,6 +18,7 @@
"fort": "Fort Despair",
"grossberg": "Dynasty's Pearl",
"himmelsdorf": "Himmelsdorf",
"holland": "Molendijk",
"holmeisk": "Wasteland",
"iceworld": "Everfrost",
"idle": "Yukon",
+5
View File
@@ -2,6 +2,11 @@
| Release | Date | Notes | Inaccurate? |
|:-------:|:--------:|-------------|-----|
| 8.9 | 2022-03-23 | "Free" camo resupply, VK 72.01 supplies | |
| 8.8 | 2022-02-16 | Molendijk map | |
| 8.7 | 2022-01-19 | Soviet Light Tanks | |
| 8.6 | 2021-12-15 | Joining Light and Medium Tank classes in MM | |
| 8.5 | 2021-11-17 | New national crew voices, economy update | |
| 8.4 | 2021-10-20 | Polish heavy tanks | |
| 8.3 | 2021-09-16 | FV4005, FV4022, VK 91.01 (P) and WZ-121 legendary camos, -5 deg gun depression to WZ-120 | |
| 8.2 | 2021-08-18 | Ghost Factory map, XP/credits nerf for inactive players, new store UI | |
+411 -22
View File
@@ -1,7 +1,7 @@
{
"status": "ok",
"meta": {
"count": 520
"count": 550
},
"data": {
"1": {
@@ -1252,6 +1252,14 @@
"tier": 7,
"type": "mediumTank"
},
"5473": {
"is_premium": false,
"name": "Mitsu 108",
"nation": "japan",
"tank_id": 5473,
"tier": 5,
"type": "heavyTank"
},
"5489": {
"is_premium": true,
"name": "Y5 T-34",
@@ -1292,6 +1300,14 @@
"tier": 9,
"type": "mediumTank"
},
"5729": {
"is_premium": false,
"name": "Ju-Nu",
"nation": "japan",
"tank_id": 5729,
"tier": 6,
"type": "heavyTank"
},
"5745": {
"is_premium": true,
"name": "Y5 Firefly",
@@ -1348,6 +1364,14 @@
"tier": 8,
"type": "mediumTank"
},
"5985": {
"is_premium": false,
"name": "Ju-To",
"nation": "japan",
"tank_id": 5985,
"tier": 7,
"type": "heavyTank"
},
"6001": {
"is_premium": true,
"name": "Y5 ELC bis",
@@ -1412,6 +1436,14 @@
"tier": 10,
"type": "heavyTank"
},
"6241": {
"is_premium": false,
"name": "Chi-Se",
"nation": "japan",
"tank_id": 6241,
"tier": 8,
"type": "heavyTank"
},
"6257": {
"is_premium": true,
"name": "M4/FL10",
@@ -1476,6 +1508,14 @@
"tier": 4,
"type": "lightTank"
},
"6497": {
"is_premium": false,
"name": "Type 68",
"nation": "japan",
"tank_id": 6497,
"tier": 9,
"type": "heavyTank"
},
"6529": {
"is_premium": false,
"name": "Škoda T 25",
@@ -1524,6 +1564,14 @@
"tier": 5,
"type": "heavyTank"
},
"6753": {
"is_premium": false,
"name": "Type 71",
"nation": "japan",
"tank_id": 6753,
"tier": 10,
"type": "heavyTank"
},
"6785": {
"is_premium": true,
"name": "Škoda T 27",
@@ -1580,6 +1628,14 @@
"tier": 1,
"type": "lightTank"
},
"7009": {
"is_premium": true,
"name": "Type 57",
"nation": "japan",
"tank_id": 7009,
"tier": 8,
"type": "heavyTank"
},
"7025": {
"is_premium": true,
"name": "Vulcan",
@@ -1862,7 +1918,7 @@
},
"8305": {
"is_premium": true,
"name": "Titan H-N",
"name": "Titan H-Nd",
"nation": "other",
"tank_id": 8305,
"tier": 7,
@@ -1996,6 +2052,22 @@
"tier": 4,
"type": "AT-SPG"
},
"9073": {
"is_premium": true,
"name": "Titan-54d",
"nation": "other",
"tank_id": 9073,
"tier": 8,
"type": "mediumTank"
},
"9089": {
"is_premium": true,
"name": "Škoda T 56",
"nation": "european",
"tank_id": 9089,
"tier": 8,
"type": "heavyTank"
},
"9217": {
"is_premium": true,
"name": "IS-6",
@@ -2028,6 +2100,22 @@
"tier": 10,
"type": "AT-SPG"
},
"9329": {
"is_premium": true,
"name": "Titan-150",
"nation": "other",
"tank_id": 9329,
"tier": 6,
"type": "heavyTank"
},
"9345": {
"is_premium": true,
"name": "Svear",
"nation": "european",
"tank_id": 9345,
"tier": 7,
"type": "mediumTank"
},
"9489": {
"is_premium": false,
"name": "E 100",
@@ -2044,6 +2132,14 @@
"tier": 9,
"type": "heavyTank"
},
"9521": {
"is_premium": true,
"name": "WZ-122 TM",
"nation": "china",
"tank_id": 9521,
"tier": 8,
"type": "mediumTank"
},
"9553": {
"is_premium": false,
"name": "AT 8",
@@ -2052,6 +2148,14 @@
"tier": 6,
"type": "AT-SPG"
},
"9601": {
"is_premium": true,
"name": "CS-52 LIS",
"nation": "european",
"tank_id": 9601,
"tier": 7,
"type": "mediumTank"
},
"9745": {
"is_premium": false,
"name": "E 75",
@@ -2084,6 +2188,14 @@
"tier": 6,
"type": "AT-SPG"
},
"9857": {
"is_premium": true,
"name": "Škoda T 45",
"nation": "european",
"tank_id": 9857,
"tier": 7,
"type": "heavyTank"
},
"9985": {
"is_premium": false,
"name": "SU-101",
@@ -2124,6 +2236,14 @@
"tier": 7,
"type": "AT-SPG"
},
"10113": {
"is_premium": true,
"name": "Carro da Combattimento 45t",
"nation": "european",
"tank_id": 10113,
"tier": 10,
"type": "mediumTank"
},
"10241": {
"is_premium": false,
"name": "SU-100M1",
@@ -2246,7 +2366,7 @@
},
"11281": {
"is_premium": true,
"name": "KpfPz 70",
"name": "Kampfpanzer 70",
"nation": "germany",
"tank_id": 11281,
"tier": 9,
@@ -2550,7 +2670,7 @@
},
"15697": {
"is_premium": true,
"name": "Chieftain Mk.6",
"name": "Chieftain Mk. 6",
"nation": "uk",
"tank_id": 15697,
"tier": 10,
@@ -2932,6 +3052,14 @@
"tier": 8,
"type": "heavyTank"
},
"19265": {
"is_premium": true,
"name": "Charles",
"nation": "france",
"tank_id": 19265,
"tier": 6,
"type": "AT-SPG"
},
"19281": {
"is_premium": true,
"name": "Super Conqueror",
@@ -3180,6 +3308,14 @@
"tier": 6,
"type": "mediumTank"
},
"21329": {
"is_premium": true,
"name": "GSOR 1008",
"nation": "uk",
"tank_id": 21329,
"tier": 8,
"type": "AT-SPG"
},
"21505": {
"is_premium": true,
"name": "T-44-85",
@@ -3204,6 +3340,14 @@
"tier": 6,
"type": "mediumTank"
},
"21585": {
"is_premium": true,
"name": "Blasteroid",
"nation": "uk",
"tank_id": 21585,
"tier": 6,
"type": "heavyTank"
},
"21761": {
"is_premium": true,
"name": "STG",
@@ -3228,6 +3372,14 @@
"tier": 10,
"type": "lightTank"
},
"21841": {
"is_premium": true,
"name": "Caliban",
"nation": "uk",
"tank_id": 21841,
"tier": 8,
"type": "heavyTank"
},
"22017": {
"is_premium": true,
"name": "T-34-85",
@@ -3396,6 +3548,14 @@
"tier": 7,
"type": "heavyTank"
},
"23809": {
"is_premium": false,
"name": "Object 84",
"nation": "ussr",
"tank_id": 23809,
"tier": 9,
"type": "lightTank"
},
"23825": {
"is_premium": true,
"name": "Krupp-Steyr Waffenträger",
@@ -3412,6 +3572,14 @@
"tier": 7,
"type": "AT-SPG"
},
"24065": {
"is_premium": false,
"name": "LTG",
"nation": "ussr",
"tank_id": 24065,
"tier": 7,
"type": "lightTank"
},
"24081": {
"is_premium": true,
"name": "U-Panzer",
@@ -3429,7 +3597,7 @@
"type": "mediumTank"
},
"24321": {
"is_premium": true,
"is_premium": false,
"name": "T-100 LT",
"nation": "ussr",
"tank_id": 24321,
@@ -3452,14 +3620,86 @@
"tier": 10,
"type": "AT-SPG"
},
"24593": {
"is_premium": true,
"name": "Keiler",
"nation": "germany",
"tank_id": 24593,
"tier": 8,
"type": "heavyTank"
},
"24609": {
"is_premium": false,
"is_premium": true,
"name": "Concept 1B",
"nation": "usa",
"tank_id": 24609,
"tier": 10,
"type": "heavyTank"
},
"24849": {
"is_premium": true,
"name": "Kryos",
"nation": "germany",
"tank_id": 24849,
"tier": 6,
"type": "AT-SPG"
},
"24865": {
"is_premium": true,
"name": "Scepter",
"nation": "usa",
"tank_id": 24865,
"tier": 8,
"type": "heavyTank"
},
"25089": {
"is_premium": true,
"name": "Object 752",
"nation": "ussr",
"tank_id": 25089,
"tier": 9,
"type": "heavyTank"
},
"25105": {
"is_premium": true,
"name": "Barkhan",
"nation": "germany",
"tank_id": 25105,
"tier": 6,
"type": "heavyTank"
},
"25345": {
"is_premium": true,
"name": "Object 274a",
"nation": "ussr",
"tank_id": 25345,
"tier": 8,
"type": "mediumTank"
},
"25377": {
"is_premium": true,
"name": "T77",
"nation": "usa",
"tank_id": 25377,
"tier": 8,
"type": "heavyTank"
},
"25889": {
"is_premium": true,
"name": "Ranger",
"nation": "usa",
"tank_id": 25889,
"tier": 6,
"type": "lightTank"
},
"26145": {
"is_premium": true,
"name": "High Score",
"nation": "usa",
"tank_id": 26145,
"tier": 5,
"type": "mediumTank"
},
"51201": {
"is_premium": true,
"name": "KV-220 Beta-Test",
@@ -4175,6 +4415,8 @@
"A-20bis": "SP-3",
"A-32": "A-32",
"A-32_mod_1939": "A-32",
"A05_M4_105BD": "High Score",
"A05_M4_105BD_short": "High Score",
"A100_T49": "T49",
"A100_T49_Custom": "T49 Hornet",
"A100_T49_Custom_short": "T49 Hornet",
@@ -4217,11 +4459,17 @@
"A125_AEP_1": "AE Phase I",
"A125_AEP_1_short": "AE Phase I",
"A128_Concept_1b": "Concept 1B",
"A128_Concept_1b_Custom": "Concept 1B Thunderbird",
"A128_Concept_1b_Custom_short": "Concept 1B Thunderbird",
"A128_Concept_1b_short": "Concept 1B",
"A130_Super_Hellcat": "Super Hellcat",
"A130_Super_Hellcat_Custom": "Super Hellcat Delta",
"A130_Super_Hellcat_Custom_short": "Super Hellcat Delta",
"A130_Super_Hellcat_short": "Super Hellcat",
"A132_T77": "T77",
"A132_T77_Custom": "T77 Cannonball",
"A132_T77_Custom_short": "T77 Cannonball",
"A132_T77_short": "T77",
"A68_T28D": "T28 Defender",
"A68_T28D_short": "T28 Defender",
"A77_T6M": "T6E1 Grizzly",
@@ -4303,6 +4551,10 @@
"AVS_1195": "AVS-1195",
"AV_1195": "AV-1195",
"AV_1790": "AV 1790",
"Achilles_FR": "Charles",
"Achilles_FR_Custom": "Charles the Gallant",
"Achilles_FR_Custom_short": "Charles the Gallant",
"Achilles_FR_short": "Charles",
"Aether_W-20": "Aether W-20",
"Akawara": "O-47",
"Akawara_Custom": "O-47 Phoenix",
@@ -4353,6 +4605,7 @@
"CH38_WZ113G-FT_short": "WZ-113G FT",
"CH38_WZ113G_FT_Custom": "WZ-113G FT Lucky",
"CH38_WZ113G_FT_Custom_short": "WZ-113G FT Lucky",
"CKD_AXK": "ČKD AXK",
"Cadillac_V8": "3xCadillacV8",
"Cannone_da_105_51_M68": "Cannone da 105/51 M68",
"Cannone_da_105_51_M68_short": "Cannone da 105/51 M68",
@@ -4374,6 +4627,8 @@
"Canon_de_105_mle_1930_Schneider_AC_short": "105 mm AC\\nmle. 1930 S",
"Canon_de_90mm_Vo_930_m_s": "Canon de 90 mm Vo 930 m/s",
"Ch01_Type59": "Type 59",
"Ch01_Type59_Custom": "Type 59 Qinglong",
"Ch01_Type59_Custom_short": "Type 59 Qinglong",
"Ch02_Type62": "Type 62",
"Ch02_Type62_Dragon": "Type 62 Dragon",
"Ch03_WZ-111": "WZ-111",
@@ -4422,6 +4677,8 @@
"Ch39_WZ120_1G_FT": "WZ-120-1G FT",
"Ch39_WZ120_1G_FT_Custom": "WZ-120-1 FT Enraged",
"Ch39_WZ120_1G_FT_Custom_short": "WZ-120-1 FT Enraged",
"Ch39_WZ120_1G_FT_Custom_short_v2": "WZ-120-1 FT Gongbi",
"Ch39_WZ120_1G_FT_Custom_v2": "WZ-120-1 FT Gongbi",
"Ch39_WZ120_1G_FT_short": "WZ-120-1G FT",
"Ch41_WZ_111_5A": "WZ-111 model 5A",
"Ch41_WZ_111_5A_Custom": "WZ-111 5A Serpent",
@@ -4431,6 +4688,8 @@
"Ch42_M41D_Custom": "M41D Jade",
"Ch42_M41D_Custom_short": "M41D Jade",
"Ch42_M41D_short": "M41D",
"Ch43_WZ-122_2": "WZ-122 TM",
"Ch43_WZ-122_2_short": "WZ-122 TM",
"Ch_LT_vz38": "LT vz. 38",
"Ch_LT_vz38_short": "LT vz. 38",
"Ch_WZ-112v2": "WZ-112-2",
@@ -4473,6 +4732,7 @@
"Continental_AOS-895-3": "AN/GRC-8",
"Continental_AOS-895-3_short": "AN/GRC-8",
"Continental_AOSI-1195-1": "Continental AOSI 1195-1",
"Continental_AOSI-1195-1A": "Continental AOSI-1195-1A",
"Continental_AOSI-1195-5": "Continental AOSI-1195-5",
"Continental_AOSI-895-5": "Continental AOSI-895-5",
"Continental_AOSI-895-5_short": "Continental\\nAOSI-895-5",
@@ -4496,6 +4756,7 @@
"Continental_AVDS-1790-2": "Continental AVDS-1790-2",
"Continental_AVDS-1790-2_short": "Continental\\nAVDS-1790-2",
"Continental_AVI_1790_8": "Continental AVI-1790-8",
"Continental_AV_1790_5B": "Continental AV-1790-5B",
"Continental_AV_1790_5C": "Continental AV-1790-5C",
"Continental_AV_1790_5C_short": "Continental\\nAV-1790-5C",
"Continental_R-670-5": "Continental R-670-5",
@@ -4545,6 +4806,12 @@
"Cz13_T-27_Custom": "Škoda T 27 Rampant",
"Cz13_T-27_Custom_short": "Škoda T 27 Rampant",
"Cz13_T-27_short": "Škoda T 27",
"Cz14_Skoda_T-56": "Škoda T 56",
"Cz14_Skoda_T-56_Custom": "Škoda T 56 Golem",
"Cz14_Skoda_T-56_Custom_short": "Škoda T 56 Golem",
"Cz14_Skoda_T-56_short": "Škoda T 56",
"Cz15_Skoda_T-45": "Škoda T 45",
"Cz15_Skoda_T-45_short": "Škoda T 45",
"D-744": "D-744",
"D1": "D1",
"D1_short": "D1",
@@ -4557,6 +4824,8 @@
"D51072": "D51072",
"D51080": "D51080",
"DB_605": "DB 605",
"DB_605NY": "DB 605 A",
"DG": "DG",
"DMA-RD-620C2": "DMA RD-620C2",
"DW_II": "Durchbruchswagen 2",
"DW_II_short": "D.W. 2",
@@ -4616,6 +4885,8 @@
"F69_AMX_13_57GF": "AMX 13 57",
"F69_AMX_13_57GF_short": "AMX 13 57",
"F71_AMX_30_prototype": "AMX 30 1er prototype",
"F71_AMX_30_prototype_Custom": "AMX 30 Win Peaks",
"F71_AMX_30_prototype_Custom_short": "AMX 30 Win Peaks",
"F71_AMX_30_prototype_short": "AMX 30 1er prot.",
"F72_AMX_30": "AMX 30 B",
"F72_AMX_30_Custom": "AMX 30 B Corsica",
@@ -4636,6 +4907,8 @@
"F84_Somua_SM_Custom_short": "Somua Grenadier",
"F84_Somua_SM_short": "Somua SM",
"F89_Canon_dassaut_105": "AMX Canon d'assaut 105",
"F89_Canon_dassaut_105_Custom": "CDA 105 Égalité",
"F89_Canon_dassaut_105_Custom_short": "CDA 105 Égalité",
"F89_Canon_dassaut_105_short": "AMX CDA 105",
"FCM50t_fwhite": "FCM 50 t Titi",
"FCM50t_fwhite_short": "FCM 50 t Titi",
@@ -4663,6 +4936,7 @@
"Ford_GAA-3": "Christmas Spirit",
"Ford_GAA-4": "Ford GAA",
"Ford_GAA_2": "Ford GAA",
"Ford_GAA_FR": "Ford GAA",
"Ford_GAC": "Ford GAZ",
"Ford_GAC_1": "None",
"Ford_GAF": "Ford GAF",
@@ -4672,6 +4946,7 @@
"Ford_GAF_500": "Ford GAF (500)",
"Ford_GAF_V8": "Ford GAF V8",
"Ford_GAN": "Ford GAN",
"Ford_GAN_BP": "Ford GAN",
"Ford_GAN_T": "Ford GAN No. 17",
"Ford_GAN_T23": "None",
"Ford_V8-221": "Ford V8-221",
@@ -4686,6 +4961,8 @@
"G106_PzKpfwPanther_AusfF": "Panther mit 8,8 cm L/71",
"G106_PzKpfwPanther_AusfF_short": "Panther 8,8",
"G109_Steyr_WT": "Krupp-Steyr Waffenträger",
"G109_Steyr_WT_Custom": "Steyr WT Snakebite",
"G109_Steyr_WT_Custom_short": "Steyr WT Snakebite",
"G109_Steyr_WT_short": "Steyr WT",
"G110_Mauschen": "Mäuschen",
"G110_Mauschen_short": "Mäuschen",
@@ -4717,11 +4994,13 @@
"G138_VK16801P": "VK 168.01 (P)",
"G138_VK16801P_short": "VK 168.01 (P)",
"G142_M48RPz": "M48A2 Räumpanzer",
"G142_M48RPz_Custom": "Räumpanzer Rhino",
"G142_M48RPz_Custom_short": "Räumpanzer Rhino",
"G142_M48RPz_short": "M48A2 Räumpanzer",
"G144_Kpz_50t": "Kampfpanzer 50 t",
"G144_Kpz_50t_Custom": "Kampfpanzer 50 t König",
"G144_Kpz_50t_Custom": "Kpz 50 t König",
"G144_Kpz_50t_Custom_short": "Kpz 50 t König",
"G144_Kpz_50t_short": "Kampfpanzer 50 t",
"G144_Kpz_50t_short": "Kpz 50 t",
"G147_mPanzer_64": "Kunze Panzer",
"G147_mPanzer_64_Custom": "Kunze Pz. Daredevil",
"G147_mPanzer_64_Custom_short": "Kunze Pz. Daredevil",
@@ -4736,6 +5015,8 @@
"GAZ-74b": "SU-85B",
"GAZ-M1": "GAZ-M1",
"GAZ_M1": "GAZ-M1",
"GAZ_O": "GAZ-O",
"GAZ_OU": "GAZ-OU",
"GB01_Medium_Mark_I": "Vickers Medium Mk. I",
"GB01_Medium_Mark_I_short": "Medium I",
"GB03_Cruiser_Mk_I": "Cruiser Mk. I",
@@ -4755,8 +5036,12 @@
"GB08_Churchill_I": "Churchill I",
"GB08_Churchill_I_short": "Churchill I",
"GB09_Churchill_VII": "Churchill VII",
"GB109_GSOR_1008": "GSOR 1008",
"GB109_GSOR_1008_short": "GSOR 1008",
"GB10_Black_Prince": "Black Prince",
"GB10_Black_Prince_short": "Black Prince",
"GB112_Caliban": "Caliban",
"GB112_Caliban_short": "Caliban",
"GB11_Caernarvon": "Caernarvon",
"GB11_Caernarvon_short": "Caernarvon",
"GB12_Conqueror": "Conqueror",
@@ -4810,6 +5095,10 @@
"GB60_Covenanter": "Covenanter",
"GB60_Covenanter_short": "Covenanter",
"GB63_TOG_II": "TOG II*",
"GB63_TOG_II_BP": "Blasteroid",
"GB63_TOG_II_BP_Custom": "Blasteroid Neo",
"GB63_TOG_II_BP_Custom_short": "Blasteroid Neo",
"GB63_TOG_II_BP_short": "Blasteroid",
"GB68_Matilda_Black_Prince": "Matilda Black Prince",
"GB68_Matilda_Black_Prince_short": "Matilda BP",
"GB69_Cruiser_Mk_II": "Cruiser Mk. II",
@@ -4833,10 +5122,10 @@
"GB83_4005_Custom": "FV4005 Overkill",
"GB83_4005_Custom_short": "FV4005 Overkill",
"GB83_4005_short": "FV4005",
"GB84_Chieftain_Mk6": "Chieftain Mk.6",
"GB84_Chieftain_Mk6_Custom": "Chieftain Mk.6 Royal",
"GB84_Chieftain_Mk6_Custom_short": "Chieftain Mk.6 Royal",
"GB84_Chieftain_Mk6_short": "Chieftain Mk.6",
"GB84_Chieftain_Mk6": "Chieftain Mk. 6",
"GB84_Chieftain_Mk6_Custom": "Chieftain Mk. 6 Royal",
"GB84_Chieftain_Mk6_Custom_short": "Chieftain Mk. 6 Royal",
"GB84_Chieftain_Mk6_short": "Chieftain Mk. 6",
"GB85_Cromwell_Berlin": "Cromwell B",
"GB85_Cromwell_Berlin_Custom": "Cromwell B Berlin",
"GB85_Cromwell_Berlin_Custom_short": "Cromwell B Berlin",
@@ -4899,20 +5188,28 @@
"GM_6-71_M": "GM 6062 6-71M",
"GM_X-11": "GM X-11",
"GM_X-12": "GM X-12",
"GTD": "GTD",
"GT_101": "GT 101",
"G_E": "G.W. E 100",
"G_E-75RT": "Keiler",
"G_E-75RT_short": "Keiler",
"G_E-75TS": "E 75 TS",
"G_E-75TS_short": "E 75 TS",
"G_E_75TS_Custom": "E 75 TS Eagle",
"G_E_75TS_Custom_short": "E 75 TS Eagle",
"G_E_short": "G.W. E 100",
"G_KpfPz_70": "KpfPz 70",
"G_KpfPz_70_Custom": "KpfPz 70 Cavalry",
"G_KpfPz_70_Custom_short": "KpfPz 70 Cavalry",
"G_KpfPz_70_short": "KpfPz 70",
"G_KpfPz_70": "Kampfpanzer 70",
"G_KpfPz_70_Custom": "Kpz 70 Cavalry",
"G_KpfPz_70_Custom_short": "Kpz 70 Cavalry",
"G_KpfPz_70_short": "Kpz 70",
"G_Panther": "G.W. Panther",
"G_Panther_short": "G.W. Panther",
"G_Tiger": "G.W. Tiger",
"G_Tiger_short": "G.W. Tiger",
"G_VK3502_BP": "Barkhan",
"G_VK3502_BP_Custom": "Barkhan Expedition",
"G_VK3502_BP_Custom_short": "Barkhan Expedition",
"G_VK3502_BP_short": "Barkhan",
"G_VK9001P": "VK 90.01 (P)",
"G_VK9001P_Custom": "VK 90.01 (P) Blade",
"G_VK9001P_Custom_short": "VK 90.01 (P) Blade",
@@ -5021,6 +5318,8 @@
"It14_P44_Pantera_Custom": "P.44 Pantera Furious",
"It14_P44_Pantera_Custom_short": "P.44 Pantera Furious",
"It14_P44_Pantera_short": "P.44 Pantera",
"It20_Car_Comb_45t": "Carro da Combattimento 45t",
"It20_Car_Comb_45t_short": "Carro 45t",
"J12_Shinobi": "Shinobi",
"J12_Shinobi_short": "Shinobi",
"J20_Ho_Ri_type3": "Ho-Ri Type III",
@@ -5033,6 +5332,24 @@
"J22_Ho_Ri_type96_short": "Ho-Ri T.I",
"J23_Chi_To_SPG": "Chi-To SPG",
"J23_Chi_To_SPG_short": "Chi-To SPG",
"J24_Type_57": "Type 57",
"J24_Type_57_Custom": "Type 57 Mechacamo",
"J24_Type_57_Custom_short": "Type 57 Mechacamo",
"J24_Type_57_short": "Type 57",
"J25_Type71": "Type 71",
"J25_Type71_Custom": "Type 71 Sankai",
"J25_Type71_Custom_short": "Type 71 Sankai",
"J25_Type71_short": "Type 71",
"J26_Type_68": "Type 68",
"J26_Type_68_short": "Type 68",
"J27_Chi_Se": "Chi-Se",
"J27_Chi_Se_short": "Chi-Se",
"J28_Ju_To": "Ju-To",
"J28_Ju_To_short": "Ju-To",
"J29_Ju_Nu": "Ju-Nu",
"J29_Ju_Nu_short": "Ju-Nu",
"J30_Mitsu_108": "Mitsu 108",
"J30_Mitsu_108_short": "Mitsu 108",
"J_V12_M": "American la France “J” V-12",
"JagdPanther": "Jagdpanther",
"JagdPantherII": "Jagdpanther II",
@@ -5040,6 +5357,10 @@
"JagdPanther_short": "JPanther",
"JagdPzIV": "Jagdpanzer IV",
"JagdPzIV_0": "Jagdpanzer IV",
"JagdPzIV_AusfBP": "Kryos",
"JagdPzIV_AusfBP_Custom": "Kryos Survivor",
"JagdPzIV_AusfBP_Custom_short": "Kryos Survivor",
"JagdPzIV_AusfBP_short": "Kryos",
"JagdPzIV_Ausf_1940": "Jagdpanzer IV 0-Serie",
"JagdPzIV_Ausf_1943": "Jagdpanzer IV",
"JagdPzIV_short": "Jg.Pz. IV",
@@ -5059,6 +5380,8 @@
"JgPzV_Standardketten": "Jagdpanther",
"JgPzV_Vetstaerktketten": "Jagdpanther verstärkteketten",
"K-91": "K-91",
"K-91_Custom": "K-91 Burn",
"K-91_Custom_short": "K-91 Burn",
"K-91_short": "K-91",
"KV": "KV",
"KV-13": "KV-13",
@@ -5090,6 +5413,11 @@
"KV_1_Custom_short": "KV-1 Warrior",
"KV_2": "KV-2",
"KZ-V8": "KZ V8",
"Kawasaki_Ha60_IB": "Kawasaki Ha60 IB",
"Kawasaki_Ha60_Ic": "Kawasaki Ha60 Ic",
"Kawasaki_Ha8": "Kawasaki Ha8",
"Kawasaki_Ha9_IIC": "Kawasaki Ha9 IIC",
"Kawasaki_Ha9_IID": "Kawasaki Ha9 IID",
"Ke_Ho": "Type 5 Ke-Ho",
"Ke_Ho_short": "Ke-Ho",
"Ke_Ni": "Type 98 Ke-Ni",
@@ -5133,6 +5461,10 @@
"M-17L": "M-17L",
"M-17T": "M-17T",
"M-3-Y": "M-III-Yoh",
"M-3-Y-Midas": "Scepter",
"M-3-Y-Midas_Custom": "Scepter Impeccable",
"M-3-Y-Midas_Custom_short": "Scepter Impeccable",
"M-3-Y-Midas_short": "Scepter",
"M-3-Y_short": "M-III-Yoh",
"M-5-400": "M-5-400",
"M-5-400F": "M-5-400F",
@@ -5240,6 +5572,7 @@
"MB-838_CAM-500_short": "MB 838 CaM 500",
"MB507": "DB 603 A2",
"MB517": "MB 517",
"MB_822_Ka_500": "MB 822 Ka-500",
"MB_837_Aa": "MB 837 Aa",
"MB_837_Ea": "MB 837 Ea",
"MB_837_F": "MB 837 F",
@@ -5285,6 +5618,7 @@
"Maybach_HL_116": "Maybach HL 116",
"Maybach_HL_116_S": "Maybach HL 116 S",
"Maybach_HL_120": "Maybach HL 120",
"Maybach_HL_120BP": "Maybach HL 120",
"Maybach_HL_120_TR": "Maybach HL 120 TR",
"Maybach_HL_120_TRM": "Maybach HL 120 TRM",
"Maybach_HL_120_TRMB": "Maybach HL 120 TRM Ausf. A",
@@ -5297,6 +5631,7 @@
"Maybach_HL_120_TR_R": "Maybach HL 120 TR R",
"Maybach_HL_120_WH": "Dark Soul",
"Maybach_HL_150": "Maybach HL 150",
"Maybach_HL_150BP": "Maybach HL 150 B",
"Maybach_HL_157": "Maybach HL 157",
"Maybach_HL_157P": "Maybach HL 157 P",
"Maybach_HL_157_P": "Maybach HL 157 P",
@@ -5359,9 +5694,14 @@
"Meadows_HOP_OC": "Meadows H.O.P. O.C.",
"Medous_MAT": "Meadows MAT",
"Meteor_Mark_IV_Mod_271": "Meteor Mark IV Mod 271",
"Meteorite_Mk_202": "Meteorite Mk. 202",
"Minkovsky_engine": "Minkovsky engine",
"Mitsubishi": "Mitsubishi A475VD",
"Mitsubishi_10ZF": "Mitsubishi 10ZF",
"Mitsubishi_12ZF": "Mitsubishi 12ZF",
"Mitsubishi_12ZM": "Mitsubishi 12ZM",
"Mitsubishi_12ZT": "Mitsubishi 12ZT",
"Mitsubishi_MT11": "Mitsubishi MT11",
"Mk.II_CS": "57mm Common Shell",
"Mod_T-10": "IS-3",
"Moteur_moderne_3M_27_1_01": "Moteur moderne 3M.27.1.01",
@@ -5369,8 +5709,8 @@
"NC27": "Renault Otsu",
"NC27_short": "R. Otsu",
"NORINCO_12150L7": "NORINCO 12150L",
"NVSS_T66": "NVSS T66",
"NVSS_T80": "NVSS T80",
"NVSS_T66": "HVSS T66",
"NVSS_T80": "HVSS T80",
"Nashorn": "Nashorn",
"Nashorn_short": "Nashorn",
"Nuffield_liberty_MKII": "Nuffield Liberty Mk. II",
@@ -5384,6 +5724,8 @@
"OQF_17pdr_Gun_Mk_VIIG_short": "OQF 17-pdr Gun Mk. VII G",
"OQF_17pdr_Gun_Mk_VIII": "OQF 17-pdr Gun Mk. VIII",
"OQF_17pdr_Gun_Mk_VIII_short": "OQF 17-pdr Gun Mk. VIII",
"OQF_17pdr_Gun_Mk_VII_BP": "OQF 17-pdr Gun Mk. VII",
"OQF_17pdr_Gun_Mk_VII_BP_short": "OQF 17-pdr Gun Mk. VII",
"OQF_3pdr_Gun": "OQF 3-pdr Gun Mk. II",
"OQF_55_pdr_AT_Gun": "OQF 55-pdr AT Gun",
"OQF_55_pdr_AT_Gun_short": "OQF 55-pdr AT Gun",
@@ -5471,10 +5813,16 @@
"Oth27_M24_AMX_Custom": "Titan Flare",
"Oth27_M24_AMX_Custom_short": "Titan Flare",
"Oth27_M24_AMX_short": "Titan T24 57",
"Oth28_Sturmfeur_HW": "Titan H-N",
"Oth28_Sturmfeur_HW_short": "Titan H-N",
"Oth28_Sturmfeur_HW": "Titan H-Nd",
"Oth28_Sturmfeur_HW_short": "Titan H-Nd",
"Oth29_A15HW": "Titan Mk. I",
"Oth29_A15HW_short": "Titan Mk. I",
"Oth30_T54MS": "Titan-54d",
"Oth30_T54MS_short": "Titan-54d",
"Oth31_T150BP": "Titan-150",
"Oth31_T150BP_Custom": "Titan-150 Trailblazer",
"Oth31_T150BP_Custom_short": "Titan-150 Trailblazer",
"Oth31_T150BP_short": "Titan-150",
"PLInz_RWA": "PLInz R.W.A.",
"PLT_27": "PLT-27",
"Paccar_120_325HT": "Gas Boiler",
@@ -5487,6 +5835,7 @@
"PanzerJager_I": "Panzerjäger I",
"PanzerJager_I_short": "Pz.Jäg. I",
"Paxman_Ricardo": "Paxman 12TP",
"Paxman_Ricardo_BP": "Paxman 12TP",
"Pershing": "M26 Pershing",
"Pershing_short": "Pershing",
"Pershingchassis1": "M26T80E1",
@@ -5500,14 +5849,20 @@
"Pl07_14TP": "14TP",
"Pl07_14TP_short": "14TP",
"Pl08_50TP_prot": "50TP prototyp",
"Pl08_50TP_prot_Custom": "50TP prototyp Hussar",
"Pl08_50TP_prot_Custom_short": "50TP prot. Hussar",
"Pl08_50TP_prot_short": "50TP prototyp",
"Pl10_40TP_Habicha": "40TP Habicha",
"Pl10_40TP_Habicha_short": "40TP Habicha",
"Pl119_CS_52_LIS": "CS-52 LIS",
"Pl119_CS_52_LIS_short": "CS-52 LIS",
"Pl11_45TP_Habicha": "45TP Habicha",
"Pl11_45TP_Habicha_short": "45TP Habicha",
"Pl13_53TP_Markowskiego": "53TP Markowskiego",
"Pl13_53TP_Markowskiego_short": "53TP Markowskiego",
"Pl15_60TP": "60TP Lewandowskiego",
"Pl15_60TP_Custom": "60TP Krzemień",
"Pl15_60TP_Custom_short": "60TP Krzemień",
"Pl15_60TP_short": "60TP Lewandowskiego",
"Porsche_16_Cyl_Y1": "Porsche 16 Cyl. Y",
"Porsche_16_Cyl_Y2": "Porsche Typ 212 NL",
@@ -5722,9 +6077,15 @@
"R120_T22SR_short": "T-22 medium",
"R127_T44_100_P": "T-44-100",
"R127_T44_100_P_short": "T-44-100",
"R131_LTG": "LTG",
"R131_LTG_short": "LTG",
"R132_T100LT": "T-100 LT",
"R132_T100LT_Custom": "T-100 LT Interceptor",
"R132_T100LT_Custom_short": "T-100 LT Interceptor",
"R132_T100LT_short": "T-100 LT",
"R134_Object_252U": "Object 252U",
"R134_Object_252U_Custom": "Object 252U Vigilant",
"R134_Object_252U_Custom_short": "Object 252U Vigilant",
"R134_Object_252U_short": "Obj. 252U",
"R140_M4A2_Loza": "Loza's M4-A2 Sherman",
"R140_M4A2_Loza_short": "Loza's Sherman",
@@ -5744,6 +6105,14 @@
"R159_SU_130PM_short": "SU-130PM",
"R160_object_244": "Object 244",
"R160_object_244_short": "Object 244",
"R172_Object_752": "Object 752",
"R172_Object_752_Custom": "Object 752 Stargazer",
"R172_Object_752_Custom_short": "Obj. 752 Stargazer",
"R172_Object_752_short": "Object 752",
"R180_Object_274A": "Object 274a",
"R180_Object_274A_Custom": "Object 274a Leshy",
"R180_Object_274A_Custom_short": "Object 274a Leshy",
"R180_Object_274A_short": "Object 274a",
"R43_T-70_57": "T-70/57",
"R43_T-70_57_short": "T-70/57",
"R63_ST_IBD": "T-2020",
@@ -5754,11 +6123,13 @@
"R98_T44_85": "T-44-85",
"R98_T44_85_Custom": "T-44-85 Bravery",
"R98_T44_85_Custom_short": "T-44-85 Bravery",
"R98_T44_85_Custom_short_v2": "T-44-85 Space",
"R98_T44_85_Custom_v2": "T-44-85 Space",
"R98_T44_85_Custom_short_v2": "T-44-85 Cosmic",
"R98_T44_85_Custom_v2": "T-44-85 Cosmic",
"R98_T44_85_short": "T-44-85",
"RX_20_1_chassis": "RX-20-1",
"RX_20_1_turret": "RX-20-1",
"R_Object_84": "Object 84",
"R_Object_84_short": "Object 84",
"Ram-II": "Ram II",
"Ram_II_D1": "Ram II D1",
"Redcell_Mk1": "Redcell Mk. 1",
@@ -5791,6 +6162,7 @@
"Rolls_Royce_Griffon-Mk2": "Rolls-Royce Griffon A",
"Rolls_Royce_Griffon_B": "Rolls-Royce Griffon B",
"Rolls_Royce_Meteor_Mark_IVB_900": "Rolls-Royce Meteor Mk. IVB (900)",
"Rolls_Royce_Meteor_MkIV_B12": "Rolls-Royce Meteor Mk. IVB/12",
"Rolls_Royce_Meteor_P": "Rolls-Royce Meteor P",
"Rolls_Royse_Meteor": "Rolls-Royce Meteor",
"Rolls_Royse_Meteor_M120": "Rolls-Royce Meteor M120",
@@ -5821,6 +6193,8 @@
"S07_Strv_74": "Strv 74",
"S07_Strv_74_short": "Strv 74",
"S13_Leo": "Leo",
"S13_Leo_NY": "Svear",
"S13_Leo_NY_short": "Svear",
"S13_Leo_short": "Leo",
"S16_Kranvagn": "Kranvagn",
"S16_Kranvagn_Custom": "Kranvagn Nidhögg",
@@ -5837,6 +6211,8 @@
"S25_EMIL_51_Custom_short": "EMIL 1951 Viking",
"S25_EMIL_51_short": "EMIL 1951",
"S26_Lancen_C": "Lansen C",
"S26_Lancen_C_Custom": "Lansen Moose",
"S26_Lancen_C_Custom_short": "Lansen Moose",
"S26_Lancen_C_short": "Lansen C",
"S35_captured": "Pz.Kpfw. S35 739 (f)",
"S35_captured_short": "Pz. S35",
@@ -5915,6 +6291,7 @@
"Sgr_m38": "Sgr m/38",
"Sherman_Jumbo": "M4A3E2 Sherman Jumbo",
"Sherman_Jumbo_short": "M4A3E2",
"Skoda_16_ADH_134": "Škoda 16 ADH 134",
"Skoda_16_ADH_140_A": "Škoda 16 ADH 140",
"Skoda_16_AH_145": "Škoda 16 AH 145",
"Skoda_16_AH_145_A": "Škoda 16 AH 145 A",
@@ -6034,6 +6411,10 @@
"T20D1": "T20D1",
"T20D2": "T20D2",
"T21": "T21",
"T21_BP": "Ranger",
"T21_BP_Custom": "Ranger All-Terrain",
"T21_BP_Custom_short": "Ranger All-Terrain",
"T21_BP_short": "Ranger",
"T23": "T23",
"T23D51080": "T23D51080",
"T23E3": "T23E3",
@@ -6118,6 +6499,7 @@
"T95E2_short": "T95E2",
"T99E2": "T99E2",
"TD-12": "TD-12",
"TD-12S": "TD-12S",
"TD-30": "M-50D",
"T_44_100_Custom": "T-44-100 Hellfire",
"T_44_100_Custom_short": "T-44-100 Hellfire",
@@ -6167,6 +6549,7 @@
"V-12-5U": "V-12-5U",
"V-12-5_shortened": "V-12-5 shortened",
"V-12-6": "V-12-6",
"V-12-6B": "V-12-6B",
"V-12A": "V-12 A",
"V-12P": "V-12P",
"V-12PA": "V-12PA",
@@ -6178,6 +6561,7 @@
"V-2-34E": "V-2-34E",
"V-2-34M": "V-2-34M",
"V-2-34M_BP": "V-2-34M B",
"V-2-34S": "V-2-34S",
"V-2-44": "V-2-44",
"V-2-54": "V-2-54",
"V-2-54IS": "V-2-54IS",
@@ -6195,7 +6579,9 @@
"V-2SNx2": "2x V-2K-F",
"V-4": "V-4",
"V-44": "V-44",
"V-44-2": "V-44-2",
"V-44A": "V-44A",
"V-44AD": "V-44AD",
"V-5": "V-5",
"V-54": "V-54",
"V-54-6": "V-54-6",
@@ -6204,6 +6590,7 @@
"V-54K_TU": "V-54K",
"V-55": "V-55",
"V-55U": "V-14",
"V-5BP": "V-5B",
"V-5F": "V-5F",
"V-5U": "V-5U",
"V-64": "V-64",
@@ -6294,6 +6681,7 @@
"V_2_34M": "V-2-34M",
"V_2_34_modificato": "V-2-34 modificato",
"V_2_54SCG": "V-2-54SCG",
"V_46_5": "V-46-5",
"V_54": "V-54",
"V_54_105": "V-54-105",
"ValentineMK_I": "Valentine",
@@ -6334,6 +6722,7 @@
"Wright_Continental_R-975C3": "Wright Continental R-975C3",
"Wright_Continental_R-975C4": "Wright Continental R-975C4",
"Wright_Continental_R-975C4B": "Wright Continental R-975C4B",
"Wright_Continental_R-975C4_BD": "Wright Continental R-975C4",
"Wright_Continental_R-975C4_short": "Wright C. R-975C4",
"Wright_Continental_R-975EC2": "Wright Continental R-975EC2",
"Wright_Continental_R-975EC2_short": "Wright C. R-975EC2",