From 300dcd0a6f1b67f281788a0ec54ddbf046901def Mon Sep 17 00:00:00 2001 From: Taka Date: Thu, 14 Feb 2019 04:20:29 +0000 Subject: [PATCH] Tightened up the BFP extension ID's. --- chapter-h/chapter-h-placeholders.zip | Bin 160792 -> 162072 bytes .../tools/make_chapter_h_placeholders.py | 4 +- .../tests/fixtures/chapter-h-placeholders.txt | 374 +++---- .../webapp/data/extensions/bfp-bj-v403.json | 939 ++++++++++++++++++ .../{bfp-cobra.json => bfp-cobra-v403.json} | 2 +- .../{bfp-pif.json => bfp-pif-v403.json} | 2 +- .../webapp/data/extensions/bfp-v403.json | 933 +---------------- vasl_templates/webapp/static/snippets.js | 2 +- .../webapp/tests/test_vasl_extensions.py | 6 +- 9 files changed, 1135 insertions(+), 1127 deletions(-) create mode 100644 vasl_templates/webapp/data/extensions/bfp-bj-v403.json rename vasl_templates/webapp/data/extensions/{bfp-cobra.json => bfp-cobra-v403.json} (99%) rename vasl_templates/webapp/data/extensions/{bfp-pif.json => bfp-pif-v403.json} (99%) diff --git a/chapter-h/chapter-h-placeholders.zip b/chapter-h/chapter-h-placeholders.zip index 9fc92b9ed901f3ac030c377e43c16b0212677f24..e802ce7b2e65649320179b02a0992d38662b06d4 100644 GIT binary patch literal 162072 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 literal 160792 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" ], + "id": "ja/v:905", + "gpid": "adf:288" +}, +{ "name": "Type 98 Ke-Ni", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "7\u2020", + "notes": [ "Jp C" ], + "id": "ja/v:906", + "gpid": "adf:316" +}, +{ "name": "Type 2 Ke-To", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "8\u2020", + "notes": [ "Jp C" ], + "id": "ja/v:907", + "gpid": "adf:318" +}, +{ "name": "M3(a)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "9", + "notes": [ "A", "B", "C", "Jp A\u2020", "US B\u20201" ], + "id": "ja/v:908", + "gpid": "adf:320" +}, +{ "name": "Stuart I(a)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 4, + "capabilities2": { "sD": 4 }, + "note_number": "10", + "notes": [ "A", "B", "C", "Jp A\u2020" ], + "id": "ja/v:909", + "gpid": "adf:322" +}, +{ "name": "Type 97B Shi-Ki", + "type": "MT", + "CS#": 4, + "capabilities2": { "sD": 6 }, + "note_number": "11\u2020", + "comments": [ "Moved/Motion: Fire NA" ], + "id": "ja/v:910", + "gpid": "adf:324" +}, +{ "name": "Type 3 Ka-Chi", + "type": "MT", + "CS#": 5, + "capabilities2": { "sD": 5 }, + "note_number": "12", + "notes": [ "Jp 6\u2020" ], + "comments": [ "Refer to Japanese Note 6 on Pontoons for amphibious data and wreck." ], + "id": "ja/v:911", + "gpid": "adf:326" +}, +{ "name": "Type 3 Ka-Chi (without pontoons)", + "type": "MT", + "CS#": 5, + "capabilities2": { "sD": 5 }, + "note_number": "12", + "notes": [ "Jp 6\u2020" ], + "id": "ja/v:912", + "gpid": "adf:328" +}, +{ "name": "Armored Eng Veh SS", + "type": "MTv", + "no_radio": "\u00ae", + "CS#": 5, + "capabilities2": { "sD": 7 }, + "note_number": "13\u2020", + "comments": [ "Has 2 side FT with limited traverse.", "May remove wire as if a Dozer (B24.7)." ], + "id": "ja/v:913", + "gpid": "adf:331" +}, +{ "name": "Type 2587(b)", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 5, + "capabilities": [ "2 TK DR's\u2020" ], + "note_number": "14\u2020", + "notes": [ "Ch F\u2020" ], + "comments": [ "REV x4" ], + "id": "ja/v:914", + "gpid": "adf:333" +}, +{ "name": "Marmon-Herrington III(b)", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 4, + "capabilities": [ "2 TK DR's\u2020" ], + "note_number": "15\u2020", + "notes": [ "C", "Ch F\u2020" ], + "id": "ja/v:915", + "gpid": "adf:335" +}, +{ "name": "Type 1 Ho-Ha", + "type": "ht", + "CS#": 5, + "note_number": "16\u2020", + "comments": [ "2MA&2&2" ], + "id": "ja/v:916", + "gpid": "adf:337" +}, +{ "name": "M3A1 Scout Car(a)", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "17", + "notes": [ "A", "C", "AllM 34\u20202", "Jp A\u20201", "Ch F\u2020" ], + "comments": [ "Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS]." ], + "id": "ja/v:917", + "gpid": "adf:339" +}, +{ "name": "Carrier A(b)", + "type": "APC", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "18", + "notes": [ "A", "C", "Br Note 64\u2020" ], + "comments": [ "The Inherent Crew is a 2-3-7 HS (D6.82).", "Refer to British Vehicle Note 64 for switching the BMG to an AAMG." ], + "id": "ja/v:918", + "gpid": "adf:341" +}, +{ "name": "Type 2 Ho-I", + "type": "SPA", + "CS#": 5, + "capabilities2": { "WP": 5, "sD": 5 }, + "note_number": "19", + "id": "ja/v:919", + "gpid": "adf:343" +}, +{ "name": "Type 1 Ho-Ni II", + "type": "SPA", + "CS#": 5, + "capabilities2": { "H": 5 }, + "note_number": "20\u2020", + "id": "ja/v:920", + "gpid": "adf:345" +}, +{ "name": "M3 75 SPA(a)", + "type": "SPAht", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "21", + "notes": [ "B", "C", "US U", "Ru M\u2020" ], + "id": "ja/v:921", + "gpid": "adf:347" +}, +{ "name": "Type 97B Chi-Ha", + "type": "SPA", + "CS#": 4, + "capabilities2": { "H": 9 }, + "note_number": "22", + "id": "ja/v:922", + "gpid": "adf:349" +}, +{ "name": "Type 3 Ho-Ni III", + "type": "TD", + "CS#": 5, + "capabilities2": { "WP": 5 }, + "note_number": "23", + "id": "ja/v:923", + "gpid": "adf:351" +}, +{ "name": "Type 97 AA Truck", + "type": "AAtr", + "CS#": 7, + "note_number": "24\u2020", + "comments": [ "MA: AA" ], + "id": "ja/v:924", + "gpid": "adf:353" +}, +{ "name": "Type 98 MCT", + "type": "AAtr", + "CS#": 5, + "note_number": "25", + "notes": [ "Br H", "Ge A\u2020" ], + "comments": [ "Bnd FF NA VCA", "MA: AA", "(Un)load: Portee" ], + "id": "ja/v:925", + "gpid": "adf:355" +} + +], + +"ordnance": [ + +{ "name": "Type 45 (1912) 24cm Howitzer", + "type": "ART", + "capabilities": [ "NT", "NM", "No IF", "HE TK# 23", "Tow NA" ], + "note_number": "1\u2020", + "notes": [ "Jp D\u20201" ], + "id": "ja/o:900", + "gpid": "adf:274" +}, +{ "name": "Type 91 Vickers AA Gun", + "type": "AA", + "capabilities": [ "AP TK# 8" ], + "capabilities2": { "LF": [ "40(4)", "1 ROF", "B10"] }, + "note_number": "2\u2020", + "id": "ja/o:901", + "gpid": "adf:275" +}, +{ "name": "Type 91 Twin-mount Vickers AA Gun", + "type": "AA", + "capabilities": [ "AP TK# 8", "2 TK DR's\u2020" ], + "capabilities2": { "LF": [ "40(8)", "1 ROF", "B10" ] }, + "note_number": "3\u2020", + "id": "ja/o:902", + "gpid": "adf:276" +}, +{ "name": "Type 4 75mm AA", + "type": "AA", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "75", "1 ROF", "B11" ], "AP": [ [6,"44-"] ] }, + "note_number": "4\u2020", + "notes": [ "Ch G"], + "id": "ja/o:903", + "gpid": "adf:277" +} + +] + +}, + +"chinese": { + +"vehicles": [ + +{ "name": "FT-17(f)", + "type": "Tt", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "1\u2020", + "notes": [ "A", "Fr C", "Ru M\u2020" ], + "id": "ch/v:900", + "gpid": "adf:233" +}, +{ "name": "Type 94 Lt Armored Vehicle(j)", + "type": "Tt", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "2", + "notes": [ "A", "D", "Ru M\u2020" ], + "id": "ch/v:901", + "gpid": "adf:235" +}, +{ "name": "Type 97A Te-Ke(j)", + "type": "Tt", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "3", + "notes": [ "A", "D" ], + "id": "ch/v:902", + "gpid": "adf:237" +}, +{ "name": "Type 97B Te-Ke(j)", + "type": "Tt", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "4", + "notes": [ "A", "C", "D" ], + "id": "ch/v:903", + "gpid": "adf:239" +}, +{ "name": "Type 95 Ha-Go(j)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "5", + "notes": [ "A", "B\u2020", "C", "D", "Jp 5\u20201" ], + "id": "ch/v:904", + "gpid": "adf:241" +}, +{ "name": "BT-5(r)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "6", + "notes": [ "A", "B\u20201", "Ru M\u2020" ], + "id": "ch/v:905", + "gpid": "adf:243" +}, +{ "name": "Type 89A Chi-Ro(j)", + "type": "MT", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "7", + "notes": [ "A", "B\u2020", "C", "D" ], + "id": "ch/v:906", + "gpid": "adf:245" +}, +{ "name": "Type 97A Chi-Ha(j)", + "type": "MT", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "8", + "notes": [ "A", "B\u2020", "C", "D" ], + "id": "ch/v:907", + "gpid": "adf:247" +}, +{ "name": "Type 31 Armored Car", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "9\u2020", + "notes": [ "B\u20201", "Ch F\u2020" ], + "id": "ch/v:908", + "gpid": "adf:249" +} + +] + +}, + +"dutch": { + +"vehicles": [ + +{ "name": "Alvis-Straussler AC3D", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "1\u20202", + "notes": [ "AllM V\u2020", "Ch F\u20201" ], + "comments": [ "CMG uses AP TK 12.7 column." ], + "id": "du/v:900", + "gpid": "adf:10" +}, +{ "name": "Braat Overvalwagen APC", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 5, + "note_number": "2\u20202", + "notes": [ "A\u20201", "Ch F\u2020" ], + "comments": [ "CMG: VCA only", "Mounted Fire: Full FP" ], + "id": "du/v:901", + "gpid": "adf:12" +}, +{ "name": "Braat Overvalwagen AA", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "3\u20201", + "notes": [ "AllM AA\u20202", "Ch F\u2020" ], + "comments": [ "AAMG uses AP TK 12.7 column." ], + "id": "du/v:902", + "gpid": "adf:14" +}, +{ "name": "Kanonwagen Armored Car", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "4\u2020\u20201", + "notes": [ "A\u20202", "AllM V\u2020", "Ch F\u20201" ], + "comments": [ "VCA MA: VCA ≤ level NA", "CMG may only fire within VCA.", "Rear turret is unarmored when TCA = VCA." ], + "id": "du/v:903", + "gpid": "adf:16" +}, +{ "name": "Stadswacht Overvalwagen APC", + "type": "AC", + "CS#": 6, + "note_number": "5\u20201", + "notes": [ "Ch F\u2020" ], + "comments": [ "Mounted Fire: Full FP", "Passengers may fire 2 LMG's without losing inherent FP." ], + "id": "du/v:904", + "gpid": "adf:18" +}, +{ "name": "PLA Wagen", + "type": "AAtr", + "CS#": 5, + "note_number": "6\u2020", + "notes": [ "AllM AA\u20201" ], + "comments": [ "AP TK: use 12.7 column." ], + "id": "du/v:905", + "gpid": "adf:20" +} + +], + +"ordnance": [ + +{ "name": "Brandt 47mm Mortar", + "type": "MTR", + "note_number": "1", + "id": "du/o:900", + "gpid": "adf:1948" +}, +{ "name": "Krupp 75mm M1933 Field Gun", + "type": "ART", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "C": "4\u2020" }, + "note_number": "2", + "notes": [ "US C\u2020" ], + "id": "du/o:901", + "gpid": "adf:5" +}, +{ "name": "Bofors 105mm M1924 Howitzer", + "type": "ART", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "NT", "B11" ] }, + "note_number": "3", + "id": "du/o:902", + "gpid": "adf:6" +}, +{ "name": "20mm Rheinmetall AA", + "type": "AA", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "20\u2020", "2 ROF", "B11", "NT" ] }, + "note_number": "4", + "notes": [ "Gr C\u2020" ], + "id": "du/o:903", + "gpid": "adf:7" +}, +{ "name": "Bofors 80mm M29/38", + "type": "AA", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "80\u2020", "1 ROF", "B11" ] }, + "capabilities_other": [ "AP TK# 17" ], + "note_number": "6", + "notes": [ "AxM G\u2020" ], + "id": "du/o:904", + "gpid": "adf:9" +} + +] + +}, + +"thai": { + +"vehicles": [ + +{ "name": "VCL Mk VI(b)", + "type": "Tt", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "1", + "notes": [ "A", "Ch H", "AllM D" ], + "id": "th/v:900", + "gpid": "adf:92" +}, +{ "name": "Vickers 6-Ton MkE-B(b)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "2", + "notes": [ "A" ], + "id": "th/v:901", + "gpid": "adf:94" +}, +{ "name": "Type 83(j)", + "type": "LT", + "no_radio": "\u00ae", + "CS#": 3, + "note_number": "3", + "notes": [ "A", "E\u2020" ], + "comments": [ "Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions." ], + "id": "th/v:902", + "gpid": "adf:96" +}, +{ "name": "Vickers 6-Ton AA(b)", + "type": "SPAA", + "no_radio": "\u00ae", + "CS#": 3, + "capabilities": [ "AP TK# 8" ], + "note_number": "4", + "notes": [ "A", "AllM AA\u2020" ], + "id": "th/v:903", + "gpid": "adf:98" +}, +{ "name": "Citroen-Kegresse P17(f)", + "type": "ht", + "CS#": 3, + "note_number": "5\u2020", + "notes": [ "A" ], + "id": "th/v:904", + "gpid": "adf:100" +}, +{ "name": "Vickers Morris M1930(b)", + "type": "AC", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "6", + "notes": [ "Br X\u2020", "Ch F\u2020" ], + "comments": [ "REV x4" ], + "id": "th/v:905", + "gpid": "adf:102" +} + +], + +"ordnance": [ + +{ "name": "50mm Krupp M1906", + "type": "INF", + "capabilities": [ "NT", "QSU", "h-d" ], + "comments": [ "No Gunshield." ], + "note_number": "4", + "id": "th/o:900", + "gpid": "adf:81" +}, +{ "name": "75mm Krupp M1908", + "type": "INF", + "capabilities": [ "NT", "QSU", "h-d" ], + "capabilities2": { "AP": 8, "WP": 5 }, + "note_number": "5", + "id": "th/o:901", + "gpid": "adf:82" +}, +{ "name": "Vickers 12.7mm AA Class D", + "type": "AA", + "capabilities": [ "T", "QSU" ], + "note_number": "8", + "id": "th/o:902", + "gpid": "adf:85" +}, +{ "name": "Bofors M30 75mm AA", + "type": "AA", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "75", "1 ROF", "B11" ], "AP":6 }, + "note_number": "9", + "notes": [ "Ch G\u2020"], + "id": "th/o:902", + "gpid": "adf:86" +} + +] + +}, + +"indonesian": { + +"vehicles": [ + +{ "name": "Type 94 Light Armoured Vehicle (j)", + "type": "Tt", + "CS#": 2, + "note_number": "1", + "notes": [ "C", "Ru M\u2020" ], + "id": "ina/v:900", + "gpid": "adf:123" +}, +{ "name": "Type 97A Te-Ke Light Armored Vehicle (j)", + "type": "Tt", + "CS#": 2, + "note_number": "2", + "notes": [ "C" ], + "id": "ina/v:901", + "gpid": "adf:125" +}, +{ "name": "Type 97B Te-Ke Light Armored Vehicle (j)", + "type": "Tt", + "CS#": 2, + "note_number": "3", + "notes": [ "C" ], + "id": "ina/v:902", + "gpid": "adf:127" +}, +{ "name": "Universal Carrier (b)", + "type": "Tt", + "CS#": 3, + "note_number": "4", + "notes": [ "C" ], + "id": "ina/v:903", + "gpid": "adf:129" +}, +{ "name": "Type 95 Ha-Go(j)", + "type": "LT", + "CS#": 3, + "note_number": "5", + "notes": [ "B", "C", "D\u2020", "E\u20201" ], + "comments": [ "Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions." ], + "id": "ina/v:904", + "gpid": "adf:131" +}, +{ "name": "VCL M1936 (b)", + "type": "aTt", + "CS#": 2, + "note_number": "6", + "notes": [ "C" ], + "id": "ina/v:905", + "gpid": "adf:133" +}, +{ "name": "CTLS-4 (a)", + "type": "Tt", + "CS#": 2, + "note_number": "7", + "notes": [ "C", "Ru M\u2020", "AllM 26\u20201" ], + "comments": [ "Port VCA NA (see Allied Minor Vehicle Note 26)." ], + "id": "ina/v:906", + "gpid": "adf:135" +}, +{ "name": "Marmon-Herrington III Armored Car (b)", + "type": "AC", + "CS#": 4, + "capabilities": [ "2 TK DR's\u2020" ], + "note_number": "8", + "notes": [ "Ch F\u2020" ], + "id": "ina/v:907", + "gpid": "adf:137" +}, +{ "name": "M3A1 Scout Car (a)", + "type": "SC", + "CS#": 4, + "note_number": "8", + "capabilities_other": [ "9PP" ], + "note_number": "9\u2020", + "notes": [ "D\u20201", "AllM 34\u20202" ], + "comments": [ "AP TK: use 12.7 column.", "Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS]." ], + "id": "ina/v:908", + "gpid": "adf:139" +}, +{ "name": "Braat Overvalwagen AA", + "type": "AC", + "CS#": 4, + "note_number": "8", + "note_number": "10\u20201", + "notes": [ "Ch F\u2020", "AllM AA\u20201" ], + "comments": [ "AP TK: use 12.7 column." ], + "id": "ina/v:909", + "gpid": "adf:14" +}, +{ "name": "Braat Overvalwagen APC", + "type": "AC", + "CS#": 5, + "note_number": "8", + "capabilities_other": [ "12PP" ], + "note_number": "11\u20202", + "notes": [ "D\u20201", "Ch F\u2020" ], + "comments": [ "CMG: VCA only", "Mounted Fire: Full FP" ], + "id": "ina/v:910", + "gpid": "adf:12" +}, +{ "name": "Alvis-Straussler AC3D", + "type": "AC", + "CS#": 4, + "note_number": "8", + "note_number": "12\u20201", + "notes": [ "D\u20202", "Ru M\u2020" ], + "comments": [ "AP TK: use 12.7 column." ], + "id": "ina/v:911", + "gpid": "adf:10" +}, +{ "name": "PLA Wagen", + "type": "AAtr", + "CS#": 5, + "note_number": "13\u20201", + "notes": [ "AllM AA\u20201", "Ch F\u2020" ], + "comments": [ "AP TK: use 12.7 column." ], + "id": "ina/v:912", + "gpid": "adf:147" +} + +], + +"ordnance": [ + +{ "name": "Type 89 Heavy Grenade Launcher", + "type": "MTR", + "capabilities2": { "WP": [ [5,5] ], "S": [ [6,5] ] }, + "capabilities_other": [ "4PP" ], + "note_number": "1", + "id": "ina/o:900", + "gpid": "adf:75" +}, +{ "name": "Type 97 Automatic Gun", + "type": "ATR", + "capabilities": [ "Long Range is NA" ], + "capabilities_other": [ "5PP" ], + "note_number": "2", + "notes": [ "Jp A" ], + "id": "ina/o:901", + "gpid": "adf:77" +}, +{ "name": "Year-11 Flat-Trajectory INF Gun", + "type": "INF", + "capabilities_other": [ "5PP (3PP dm)" ], + "note_number": "3", + "notes": [ "Jp A" ], + "id": "ina/o:902", + "gpid": "adf:76" +}, +{ "name": "Type 94 Rapid-Fire Gun", + "type": "AT", + "capabilities": [ "NT", "QSU", "h-d" ], + "note_number": "4", + "notes": [ "Jp A" ], + "id": "ina/o:903", + "gpid": "adf:87" +}, +{ "name": "Type 1 Machine-Moved Gun", + "type": "AT", + "capabilities_other": [ "NT", "QSU" ], + "note_number": "5", + "id": "ina/o:904", + "gpid": "adf:88" +}, +{ "name": "Year-38 Type Field Gun (Improved)", + "type": "ART", + "capabilities2": { "WP": [ [5,5] ] }, + "capabilities_other": [ "NT", "QSU", "h-d", "AP TK#12" ], + "note_number": "6", + "id": "ina/o:905", + "gpid": "adf:89" +} + +] + +}, + +"anzac": { + +"vehicles": [ + +{ "name": "Matilda Frog", + "type": "HTv", + "CS#": 5, + "capabilities2": { "sD": "6" }, + "note_number": "1\u2020", + "id": "anz/v:900", + "gpid": "adf:211" +}, +{ "name": "Matilda II(L)", + "type": "HT", + "CS#": 5, + "capabilities2": { "sD": "6" }, + "note_number": "2\u2020", + "notes": [ "Br B\u20201" ], + "id": "anz/v:901", + "gpid": [ "adf:213", "adf:215" ] +}, +{ "name": "Matilda II CS(L)", + "type": "HT", + "CS#": 5, + "capabilities2": { "s": "9", "sD": "6" }, + "note_number": "3\u2020", + "notes": [ "Br S\u20201" ], + "id": "anz/v:902", + "gpid": [ "adf:217", "adf:219" ] +}, +{ "name": "Valentine III CS", + "type": "HT", + "CS#": 5, + "capabilities2": { "s": "9", "sM": "8" }, + "note_number": "4\u2020", + "notes": [ "Br S\u20201" ], + "id": "anz/v:903", + "gpid": "adf:221" +} + +] + +}, + +"american": { + +"vehicles": [ + +{ "name": "LVT(A)1(L)", + "type": "aLT", + "CS#": 6, + "capabilities2": { "C": [ [10,"P"], "\u20202" ] }, + "note_number": "1", + "notes": [ "US 46\u20203", "C\u20202", "G", "H", "P", "T\u2020", "X" ], + "comments": [ "Refer to U.S. Vehicle Note 46 and diagram for the AAMG." ], + "id": "am/v:900", + "gpid": "adf:196" +}, +{ "name": "LVT(A)2F", + "type": "aAPCv", + "CS#": 7, + "note_number": "2", + "notes": [ "US H", "P", "Q\u20201", "T\u20201"], + "id": "am/v:901", + "gpid": "adf:198" +}, +{ "name": "LVT4F", + "type": "aAPCv", + "cs#": 7, + "note_number": "3\u20202", + "notes": [ "US 51\u2020", "D\u20203", "H", "P", "T\u20201"], + "id": "am/v:902", + "gpid": "adf:200" +}, +{ "name": "LVT(A)2FS", + "type": "aAPCv", + "CS#": 7, + "note_number": "4\u20201", + "notes": [ "US D\u20202", "H", "P", "T\u2020"], + "id": "am/v:903", + "gpid": "adf:202" +}, +{ "name": "LVT4(L)", + "type": "aAPC", + "CS#": 7, + "note_number": "5", + "notes": [ "US 51\u2020", "D\u20204", "H", "Q\u20203", "T\u20201", "X\u20202"], + "id": "am/v:904", + "gpid": "adf:205" +}, +{ "name": "LVT(A)4(L)", + "type": "aLT", + "CS#": 6, + "capabilities2": { "C": [ [7,"P"], "\u20203" ], "H": 8, "WP": 9 }, + "note_number": "6", + "notes": [ "US 46\u20202", "C\u20203", "G", "H", "P", "T\u2020", "X\u20201"], + "id": "am/v:905", + "gpid": "adf:207" +}, +{ "name": "M3A1F", + "type": "LTv", + "CS#": 4, + "capabilities2": { "C": [ [7,"P"], "\u2020" ] }, + "note_number": "7", + "notes": [ "US C\u2020", "G", "P" ], + "id": "am/v:906", + "gpid": "adf:152" +}, +{ "name": "M5A1 Satan", + "CS#": 4, + "note_number": "8\u2020", + "notes": [ "US P" ], + "id": "am/v:907", + "gpid": "adf:158" +}, +{ "name": "M4A2F", + "type": "MTv", + "cs#": 5, + "capabilities2": { "s": 5, "WP": 7, "sM": 5 }, + "note_number": "9", + "notes": [ "US G", "P", "R" ], + "id": "am/v:908", + "gpid": "adf:168" +}, +{ "name": "M4A2(L)F", + "type": "MTv", + "cs#": 6, + "capabilities2": { "s": 5, "WP": 7, "sM": 8 }, + "note_number": "10", + "notes": [ "US G", "P", "R" ], + "id": "am/v:909", + "gpid": "adf:170" +}, +{ "name": "Carrier .50cal(b)", + "type": "APC", + "CS#": 3, + "note_number": "11\u2020", + "id": "am/v:910", + "gpid": "adf:209" +} + +], + +"ordnance": [ + +{ "name": "20mm Oerlikon Mk4", + "type": "AA", + "capabilities": [ "T", "2 TK DR's\u2020" ], + "comments": [ "Multiple Hits (C3.8) are NA." ], + "note_number": "1\u2020", + "notes": [ "US P" ], + "id": "am/o:900", + "gpid": "adf:34" +} + +] + +} + +} diff --git a/vasl_templates/webapp/data/extensions/bfp-cobra.json b/vasl_templates/webapp/data/extensions/bfp-cobra-v403.json similarity index 99% rename from vasl_templates/webapp/data/extensions/bfp-cobra.json rename to vasl_templates/webapp/data/extensions/bfp-cobra-v403.json index 9f178dc..cd3a831 100644 --- a/vasl_templates/webapp/data/extensions/bfp-cobra.json +++ b/vasl_templates/webapp/data/extensions/bfp-cobra-v403.json @@ -1,7 +1,7 @@ { "parentExtensionId": "adf", -"extensionId": "cobra", +"extensionId": "adf-cobra", "version": "4.03", "id_range": [ 850, 899 ], "comment": "These are F (flamethrower) and C (Culin) versions of the same vehicles (from Operation Cobra).", diff --git a/vasl_templates/webapp/data/extensions/bfp-pif.json b/vasl_templates/webapp/data/extensions/bfp-pif-v403.json similarity index 99% rename from vasl_templates/webapp/data/extensions/bfp-pif.json rename to vasl_templates/webapp/data/extensions/bfp-pif-v403.json index e19c423..4c9beea 100644 --- a/vasl_templates/webapp/data/extensions/bfp-pif.json +++ b/vasl_templates/webapp/data/extensions/bfp-pif-v403.json @@ -1,7 +1,7 @@ { "parentExtensionId": "adf", -"extensionId": "pif", +"extensionId": "adf-pif", "version": "4.03", "id_range": [ 800, 849 ], diff --git a/vasl_templates/webapp/data/extensions/bfp-v403.json b/vasl_templates/webapp/data/extensions/bfp-v403.json index f6953cc..5e59e43 100644 --- a/vasl_templates/webapp/data/extensions/bfp-v403.json +++ b/vasl_templates/webapp/data/extensions/bfp-v403.json @@ -2,937 +2,6 @@ "extensionId": "adf", "version": "4.03", -"id_range": [ 900, 999 ], - -"japanese": { - -"vehicles": [ - -{ "name": "FT-17M Ko(f)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "1\u2020", - "notes": [ "A", "Fr C", "Ru M\u2020" ], - "comments": [ "1 MP minimum road movement rate, even if CE." ], - "id": "ja/v:900", - "gpid": "adf:278" -}, -{ "name": "FT-17C Ko(f)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "2\u2020", - "notes": [ "A", "B", "Fr C", "Ru M\u2020" ], - "comments": [ "1 MP minimum road movement rate, even if CE." ], - "id": "ja/v:901", - "gpid": "adf:280" -}, -{ "name": "NC-27M Otsu(f)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "3\u2020", - "notes": [ "A", "Fr C", "Ge H\u2020" ], - "comments": [ "1 MP minimum road movement rate, even if CE." ], - "id": "ja/v:902", - "gpid": "adf:282" -}, -{ "name": "NC-27C Otsu(f)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "4\u2020", - "notes": [ "A", "B", "Fr C", "Ge H\u2020" ], - "comments": [ "1 MP minimum road movement rate, even if CE." ], - "id": "ja/v:903", - "gpid": "adf:284" -}, -{ "name": "Type 88 LAV(b)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "5", - "notes": [ "A", "AllM D", "Ch H\u2020" ] , - "id": "ja/v:904", - "gpid": "adf:286" -}, -{ "name": "VCL(b)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "6\u2020", - "notes": [ "A", "C", "Ru M\u20201" ], - "id": "ja/v:905", - "gpid": "adf:288" -}, -{ "name": "Type 98 Ke-Ni", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "7\u2020", - "notes": [ "Jp C" ], - "id": "ja/v:906", - "gpid": "adf:316" -}, -{ "name": "Type 2 Ke-To", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "8\u2020", - "notes": [ "Jp C" ], - "id": "ja/v:907", - "gpid": "adf:318" -}, -{ "name": "M3(a)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "9", - "notes": [ "A", "B", "C", "Jp A\u2020", "US B\u20201" ], - "id": "ja/v:908", - "gpid": "adf:320" -}, -{ "name": "Stuart I(a)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 4, - "capabilities2": { "sD": 4 }, - "note_number": "10", - "notes": [ "A", "B", "C", "Jp A\u2020" ], - "id": "ja/v:909", - "gpid": "adf:322" -}, -{ "name": "Type 97B Shi-Ki", - "type": "MT", - "CS#": 4, - "capabilities2": { "sD": 6 }, - "note_number": "11\u2020", - "comments": [ "Moved/Motion: Fire NA" ], - "id": "ja/v:910", - "gpid": "adf:324" -}, -{ "name": "Type 3 Ka-Chi", - "type": "MT", - "CS#": 5, - "capabilities2": { "sD": 5 }, - "note_number": "12", - "notes": [ "Jp 6\u2020" ], - "comments": [ "Refer to Japanese Note 6 on Pontoons for amphibious data and wreck." ], - "id": "ja/v:911", - "gpid": "adf:326" -}, -{ "name": "Type 3 Ka-Chi (without pontoons)", - "type": "MT", - "CS#": 5, - "capabilities2": { "sD": 5 }, - "note_number": "12", - "notes": [ "Jp 6\u2020" ], - "id": "ja/v:912", - "gpid": "adf:328" -}, -{ "name": "Armored Eng Veh SS", - "type": "MTv", - "no_radio": "\u00ae", - "CS#": 5, - "capabilities2": { "sD": 7 }, - "note_number": "13\u2020", - "comments": [ "Has 2 side FT with limited traverse.", "May remove wire as if a Dozer (B24.7)." ], - "id": "ja/v:913", - "gpid": "adf:331" -}, -{ "name": "Type 2587(b)", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 5, - "capabilities": [ "2 TK DR's\u2020" ], - "note_number": "14\u2020", - "notes": [ "Ch F\u2020" ], - "comments": [ "REV x4" ], - "id": "ja/v:914", - "gpid": "adf:333" -}, -{ "name": "Marmon-Herrington III(b)", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 4, - "capabilities": [ "2 TK DR's\u2020" ], - "note_number": "15\u2020", - "notes": [ "C", "Ch F\u2020" ], - "id": "ja/v:915", - "gpid": "adf:335" -}, -{ "name": "Type 1 Ho-Ha", - "type": "ht", - "CS#": 5, - "note_number": "16\u2020", - "comments": [ "2MA&2&2" ], - "id": "ja/v:916", - "gpid": "adf:337" -}, -{ "name": "M3A1 Scout Car(a)", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "17", - "notes": [ "A", "C", "AllM 34\u20202", "Jp A\u20201", "Ch F\u2020" ], - "comments": [ "Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS]." ], - "id": "ja/v:917", - "gpid": "adf:339" -}, -{ "name": "Carrier A(b)", - "type": "APC", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "18", - "notes": [ "A", "C", "Br Note 64\u2020" ], - "comments": [ "The Inherent Crew is a 2-3-7 HS (D6.82).", "Refer to British Vehicle Note 64 for switching the BMG to an AAMG." ], - "id": "ja/v:918", - "gpid": "adf:341" -}, -{ "name": "Type 2 Ho-I", - "type": "SPA", - "CS#": 5, - "capabilities2": { "WP": 5, "sD": 5 }, - "note_number": "19", - "id": "ja/v:919", - "gpid": "adf:343" -}, -{ "name": "Type 1 Ho-Ni II", - "type": "SPA", - "CS#": 5, - "capabilities2": { "H": 5 }, - "note_number": "20\u2020", - "id": "ja/v:920", - "gpid": "adf:345" -}, -{ "name": "M3 75 SPA(a)", - "type": "SPAht", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "21", - "notes": [ "B", "C", "US U", "Ru M\u2020" ], - "id": "ja/v:921", - "gpid": "adf:347" -}, -{ "name": "Type 97B Chi-Ha", - "type": "SPA", - "CS#": 4, - "capabilities2": { "H": 9 }, - "note_number": "22", - "id": "ja/v:922", - "gpid": "adf:349" -}, -{ "name": "Type 3 Ho-Ni III", - "type": "TD", - "CS#": 5, - "capabilities2": { "WP": 5 }, - "note_number": "23", - "id": "ja/v:923", - "gpid": "adf:351" -}, -{ "name": "Type 97 AA Truck", - "type": "AAtr", - "CS#": 7, - "note_number": "24\u2020", - "comments": [ "MA: AA" ], - "id": "ja/v:924", - "gpid": "adf:353" -}, -{ "name": "Type 98 MCT", - "type": "AAtr", - "CS#": 5, - "note_number": "25", - "notes": [ "Br H", "Ge A\u2020" ], - "comments": [ "Bnd FF NA VCA", "MA: AA", "(Un)load: Portee" ], - "id": "ja/v:925", - "gpid": "adf:355" -} - -], - -"ordnance": [ - -{ "name": "Type 45 (1912) 24cm Howitzer", - "type": "ART", - "capabilities": [ "NT", "NM", "No IF", "HE TK# 23", "Tow NA" ], - "note_number": "1\u2020", - "notes": [ "Jp D\u20201" ], - "id": "ja/o:900", - "gpid": "adf:274" -}, -{ "name": "Type 91 Vickers AA Gun", - "type": "AA", - "capabilities": [ "AP TK# 8" ], - "capabilities2": { "LF": [ "40(4)", "1 ROF", "B10"] }, - "note_number": "2\u2020", - "id": "ja/o:901", - "gpid": "adf:275" -}, -{ "name": "Type 91 Twin-mount Vickers AA Gun", - "type": "AA", - "capabilities": [ "AP TK# 8", "2 TK DR's\u2020" ], - "capabilities2": { "LF": [ "40(8)", "1 ROF", "B10" ] }, - "note_number": "3\u2020", - "id": "ja/o:902", - "gpid": "adf:276" -}, -{ "name": "Type 4 75mm AA", - "type": "AA", - "capabilities": [ "T" ], - "capabilities2": { "LF": [ "75", "1 ROF", "B11" ], "AP": [ [6,"44-"] ] }, - "note_number": "4\u2020", - "notes": [ "Ch G"], - "id": "ja/o:903", - "gpid": "adf:277" -} - -] - -}, - -"chinese": { - -"vehicles": [ - -{ "name": "FT-17(f)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "1\u2020", - "notes": [ "A", "Fr C", "Ru M\u2020" ], - "id": "ch/v:900", - "gpid": "adf:233" -}, -{ "name": "Type 94 Lt Armored Vehicle(j)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "2", - "notes": [ "A", "D", "Ru M\u2020" ], - "id": "ch/v:901", - "gpid": "adf:235" -}, -{ "name": "Type 97A Te-Ke(j)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "3", - "notes": [ "A", "D" ], - "id": "ch/v:902", - "gpid": "adf:237" -}, -{ "name": "Type 97B Te-Ke(j)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "4", - "notes": [ "A", "C", "D" ], - "id": "ch/v:903", - "gpid": "adf:239" -}, -{ "name": "Type 95 Ha-Go(j)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "5", - "notes": [ "A", "B\u2020", "C", "D", "Jp 5\u20201" ], - "id": "ch/v:904", - "gpid": "adf:241" -}, -{ "name": "BT-5(r)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "6", - "notes": [ "A", "B\u20201", "Ru M\u2020" ], - "id": "ch/v:905", - "gpid": "adf:243" -}, -{ "name": "Type 89A Chi-Ro(j)", - "type": "MT", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "7", - "notes": [ "A", "B\u2020", "C", "D" ], - "id": "ch/v:906", - "gpid": "adf:245" -}, -{ "name": "Type 97A Chi-Ha(j)", - "type": "MT", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "8", - "notes": [ "A", "B\u2020", "C", "D" ], - "id": "ch/v:907", - "gpid": "adf:247" -}, -{ "name": "Type 31 Armored Car", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "9\u2020", - "notes": [ "B\u20201", "Ch F\u2020" ], - "id": "ch/v:908", - "gpid": "adf:249" -} - -] - -}, - -"dutch": { - -"vehicles": [ - -{ "name": "Alvis-Straussler AC3D", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "1\u20202", - "notes": [ "AllM V\u2020", "Ch F\u20201" ], - "comments": [ "CMG uses AP TK 12.7 column." ], - "id": "du/v:900", - "gpid": "adf:10" -}, -{ "name": "Braat Overvalwagen APC", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 5, - "note_number": "2\u20202", - "notes": [ "A\u20201", "Ch F\u2020" ], - "comments": [ "CMG: VCA only", "Mounted Fire: Full FP" ], - "id": "du/v:901", - "gpid": "adf:12" -}, -{ "name": "Braat Overvalwagen AA", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "3\u20201", - "notes": [ "AllM AA\u20202", "Ch F\u2020" ], - "comments": [ "AAMG uses AP TK 12.7 column." ], - "id": "du/v:902", - "gpid": "adf:14" -}, -{ "name": "Kanonwagen Armored Car", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "4\u2020\u20201", - "notes": [ "A\u20202", "AllM V\u2020", "Ch F\u20201" ], - "comments": [ "VCA MA: VCA ≤ level NA", "CMG may only fire within VCA.", "Rear turret is unarmored when TCA = VCA." ], - "id": "du/v:903", - "gpid": "adf:16" -}, -{ "name": "Stadswacht Overvalwagen APC", - "type": "AC", - "CS#": 6, - "note_number": "5\u20201", - "notes": [ "Ch F\u2020" ], - "comments": [ "Mounted Fire: Full FP", "Passengers may fire 2 LMG's without losing inherent FP." ], - "id": "du/v:904", - "gpid": "adf:18" -}, -{ "name": "PLA Wagen", - "type": "AAtr", - "CS#": 5, - "note_number": "6\u2020", - "notes": [ "AllM AA\u20201" ], - "comments": [ "AP TK: use 12.7 column." ], - "id": "du/v:905", - "gpid": "adf:20" -} - -], - -"ordnance": [ - -{ "name": "Brandt 47mm Mortar", - "type": "MTR", - "note_number": "1", - "id": "du/o:900", - "gpid": "adf:1948" -}, -{ "name": "Krupp 75mm M1933 Field Gun", - "type": "ART", - "capabilities": [ "NT", "QSU" ], - "capabilities2": { "C": "4\u2020" }, - "note_number": "2", - "notes": [ "US C\u2020" ], - "id": "du/o:901", - "gpid": "adf:5" -}, -{ "name": "Bofors 105mm M1924 Howitzer", - "type": "ART", - "capabilities": [ "T" ], - "capabilities2": { "LF": [ "NT", "B11" ] }, - "note_number": "3", - "id": "du/o:902", - "gpid": "adf:6" -}, -{ "name": "20mm Rheinmetall AA", - "type": "AA", - "capabilities": [ "T" ], - "capabilities2": { "LF": [ "20\u2020", "2 ROF", "B11", "NT" ] }, - "note_number": "4", - "notes": [ "Gr C\u2020" ], - "id": "du/o:903", - "gpid": "adf:7" -}, -{ "name": "Bofors 80mm M29/38", - "type": "AA", - "capabilities": [ "T" ], - "capabilities2": { "LF": [ "80\u2020", "1 ROF", "B11" ] }, - "capabilities_other": [ "AP TK# 17" ], - "note_number": "6", - "notes": [ "AxM G\u2020" ], - "id": "du/o:904", - "gpid": "adf:9" -} - -] - -}, - -"thai": { - -"vehicles": [ - -{ "name": "VCL Mk VI(b)", - "type": "Tt", - "no_radio": "\u00ae", - "CS#": 2, - "note_number": "1", - "notes": [ "A", "Ch H", "AllM D" ], - "id": "th/v:900", - "gpid": "adf:92" -}, -{ "name": "Vickers 6-Ton MkE-B(b)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "2", - "notes": [ "A" ], - "id": "th/v:901", - "gpid": "adf:94" -}, -{ "name": "Type 83(j)", - "type": "LT", - "no_radio": "\u00ae", - "CS#": 3, - "note_number": "3", - "notes": [ "A", "E\u2020" ], - "comments": [ "Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions." ], - "id": "th/v:902", - "gpid": "adf:96" -}, -{ "name": "Vickers 6-Ton AA(b)", - "type": "SPAA", - "no_radio": "\u00ae", - "CS#": 3, - "capabilities": [ "AP TK# 8" ], - "note_number": "4", - "notes": [ "A", "AllM AA\u2020" ], - "id": "th/v:903", - "gpid": "adf:98" -}, -{ "name": "Citroen-Kegresse P17(f)", - "type": "ht", - "CS#": 3, - "note_number": "5\u2020", - "notes": [ "A" ], - "id": "th/v:904", - "gpid": "adf:100" -}, -{ "name": "Vickers Morris M1930(b)", - "type": "AC", - "no_radio": "\u00ae", - "CS#": 4, - "note_number": "6", - "notes": [ "Br X\u2020", "Ch F\u2020" ], - "comments": [ "REV x4" ], - "id": "th/v:905", - "gpid": "adf:102" -} - -], - -"ordnance": [ - -{ "name": "50mm Krupp M1906", - "type": "INF", - "capabilities": [ "NT", "QSU", "h-d" ], - "comments": [ "No Gunshield." ], - "note_number": "4", - "id": "th/o:900", - "gpid": "adf:81" -}, -{ "name": "75mm Krupp M1908", - "type": "INF", - "capabilities": [ "NT", "QSU", "h-d" ], - "capabilities2": { "AP": 8, "WP": 5 }, - "note_number": "5", - "id": "th/o:901", - "gpid": "adf:82" -}, -{ "name": "Vickers 12.7mm AA Class D", - "type": "AA", - "capabilities": [ "T", "QSU" ], - "note_number": "8", - "id": "th/o:902", - "gpid": "adf:85" -}, -{ "name": "Bofors M30 75mm AA", - "type": "AA", - "capabilities": [ "T" ], - "capabilities2": { "LF": [ "75", "1 ROF", "B11" ], "AP":6 }, - "note_number": "9", - "notes": [ "Ch G\u2020"], - "id": "th/o:902", - "gpid": "adf:86" -} - -] - -}, - -"indonesian": { - -"vehicles": [ - -{ "name": "Type 94 Light Armoured Vehicle (j)", - "type": "Tt", - "CS#": 2, - "note_number": "1", - "notes": [ "C", "Ru M\u2020" ], - "id": "ina/v:900", - "gpid": "adf:123" -}, -{ "name": "Type 97A Te-Ke Light Armored Vehicle (j)", - "type": "Tt", - "CS#": 2, - "note_number": "2", - "notes": [ "C" ], - "id": "ina/v:901", - "gpid": "adf:125" -}, -{ "name": "Type 97B Te-Ke Light Armored Vehicle (j)", - "type": "Tt", - "CS#": 2, - "note_number": "3", - "notes": [ "C" ], - "id": "ina/v:902", - "gpid": "adf:127" -}, -{ "name": "Universal Carrier (b)", - "type": "Tt", - "CS#": 3, - "note_number": "4", - "notes": [ "C" ], - "id": "ina/v:903", - "gpid": "adf:129" -}, -{ "name": "Type 95 Ha-Go(j)", - "type": "LT", - "CS#": 3, - "note_number": "5", - "notes": [ "B", "C", "D\u2020", "E\u20201" ], - "comments": [ "Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions." ], - "id": "ina/v:904", - "gpid": "adf:131" -}, -{ "name": "VCL M1936 (b)", - "type": "aTt", - "CS#": 2, - "note_number": "6", - "notes": [ "C" ], - "id": "ina/v:905", - "gpid": "adf:133" -}, -{ "name": "CTLS-4 (a)", - "type": "Tt", - "CS#": 2, - "note_number": "7", - "notes": [ "C", "Ru M\u2020", "AllM 26\u20201" ], - "comments": [ "Port VCA NA (see Allied Minor Vehicle Note 26)." ], - "id": "ina/v:906", - "gpid": "adf:135" -}, -{ "name": "Marmon-Herrington III Armored Car (b)", - "type": "AC", - "CS#": 4, - "capabilities": [ "2 TK DR's\u2020" ], - "note_number": "8", - "notes": [ "Ch F\u2020" ], - "id": "ina/v:907", - "gpid": "adf:137" -}, -{ "name": "M3A1 Scout Car (a)", - "type": "SC", - "CS#": 4, - "note_number": "8", - "capabilities_other": [ "9PP" ], - "note_number": "9\u2020", - "notes": [ "D\u20201", "AllM 34\u20202" ], - "comments": [ "AP TK: use 12.7 column.", "Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS]." ], - "id": "ina/v:908", - "gpid": "adf:139" -}, -{ "name": "Braat Overvalwagen AA", - "type": "AC", - "CS#": 4, - "note_number": "8", - "note_number": "10\u20201", - "notes": [ "Ch F\u2020", "AllM AA\u20201" ], - "comments": [ "AP TK: use 12.7 column." ], - "id": "ina/v:909", - "gpid": "adf:14" -}, -{ "name": "Braat Overvalwagen APC", - "type": "AC", - "CS#": 5, - "note_number": "8", - "capabilities_other": [ "12PP" ], - "note_number": "11\u20202", - "notes": [ "D\u20201", "Ch F\u2020" ], - "comments": [ "CMG: VCA only", "Mounted Fire: Full FP" ], - "id": "ina/v:910", - "gpid": "adf:12" -}, -{ "name": "Alvis-Straussler AC3D", - "type": "AC", - "CS#": 4, - "note_number": "8", - "note_number": "12\u20201", - "notes": [ "D\u20202", "Ru M\u2020" ], - "comments": [ "AP TK: use 12.7 column." ], - "id": "ina/v:911", - "gpid": "adf:10" -}, -{ "name": "PLA Wagen", - "type": "AAtr", - "CS#": 5, - "note_number": "13\u20201", - "notes": [ "AllM AA\u20201", "Ch F\u2020" ], - "comments": [ "AP TK: use 12.7 column." ], - "id": "ina/v:912", - "gpid": "adf:147" -} - -], - -"ordnance": [ - -{ "name": "Type 89 Heavy Grenade Launcher", - "type": "MTR", - "capabilities2": { "WP": [ [5,5] ], "S": [ [6,5] ] }, - "capabilities_other": [ "4PP" ], - "note_number": "1", - "id": "ina/o:900", - "gpid": "adf:75" -}, -{ "name": "Type 97 Automatic Gun", - "type": "ATR", - "capabilities": [ "Long Range is NA" ], - "capabilities_other": [ "5PP" ], - "note_number": "2", - "notes": [ "Jp A" ], - "id": "ina/o:901", - "gpid": "adf:77" -}, -{ "name": "Year-11 Flat-Trajectory INF Gun", - "type": "INF", - "capabilities_other": [ "5PP (3PP dm)" ], - "note_number": "3", - "notes": [ "Jp A" ], - "id": "ina/o:902", - "gpid": "adf:76" -}, -{ "name": "Type 94 Rapid-Fire Gun", - "type": "AT", - "capabilities": [ "NT", "QSU", "h-d" ], - "note_number": "4", - "notes": [ "Jp A" ], - "id": "ina/o:903", - "gpid": "adf:87" -}, -{ "name": "Type 1 Machine-Moved Gun", - "type": "AT", - "capabilities_other": [ "NT", "QSU" ], - "note_number": "5", - "id": "ina/o:904", - "gpid": "adf:88" -}, -{ "name": "Year-38 Type Field Gun (Improved)", - "type": "ART", - "capabilities2": { "WP": [ [5,5] ] }, - "capabilities_other": [ "NT", "QSU", "h-d", "AP TK#12" ], - "note_number": "6", - "id": "ina/o:905", - "gpid": "adf:89" -} - -] - -}, - -"anzac": { - -"vehicles": [ - -{ "name": "Matilda Frog", - "type": "HTv", - "CS#": 5, - "capabilities2": { "sD": "6" }, - "note_number": "1\u2020", - "id": "anz/v:900", - "gpid": "adf:211" -}, -{ "name": "Matilda II(L)", - "type": "HT", - "CS#": 5, - "capabilities2": { "sD": "6" }, - "note_number": "2\u2020", - "notes": [ "Br B\u20201" ], - "id": "anz/v:901", - "gpid": [ "adf:213", "adf:215" ] -}, -{ "name": "Matilda II CS(L)", - "type": "HT", - "CS#": 5, - "capabilities2": { "s": "9", "sD": "6" }, - "note_number": "3\u2020", - "notes": [ "Br S\u20201" ], - "id": "anz/v:902", - "gpid": [ "adf:217", "adf:219" ] -}, -{ "name": "Valentine III CS", - "type": "HT", - "CS#": 5, - "capabilities2": { "s": "9", "sM": "8" }, - "note_number": "4\u2020", - "notes": [ "Br S\u20201" ], - "id": "anz/v:903", - "gpid": "adf:221" -} - -] - -}, - -"american": { - -"vehicles": [ - -{ "name": "LVT(A)1(L)", - "type": "aLT", - "CS#": 6, - "capabilities2": { "C": [ [10,"P"], "\u20202" ] }, - "note_number": "1", - "notes": [ "US 46\u20203", "C\u20202", "G", "H", "P", "T\u2020", "X" ], - "comments": [ "Refer to U.S. Vehicle Note 46 and diagram for the AAMG." ], - "id": "am/v:900", - "gpid": "adf:196" -}, -{ "name": "LVT(A)2F", - "type": "aAPCv", - "CS#": 7, - "note_number": "2", - "notes": [ "US H", "P", "Q\u20201", "T\u20201"], - "id": "am/v:901", - "gpid": "adf:198" -}, -{ "name": "LVT4F", - "type": "aAPCv", - "cs#": 7, - "note_number": "3\u20202", - "notes": [ "US 51\u2020", "D\u20203", "H", "P", "T\u20201"], - "id": "am/v:902", - "gpid": "adf:200" -}, -{ "name": "LVT(A)2FS", - "type": "aAPCv", - "CS#": 7, - "note_number": "4\u20201", - "notes": [ "US D\u20202", "H", "P", "T\u2020"], - "id": "am/v:903", - "gpid": "adf:202" -}, -{ "name": "LVT4(L)", - "type": "aAPC", - "CS#": 7, - "note_number": "5", - "notes": [ "US 51\u2020", "D\u20204", "H", "Q\u20203", "T\u20201", "X\u20202"], - "id": "am/v:904", - "gpid": "adf:205" -}, -{ "name": "LVT(A)4(L)", - "type": "aLT", - "CS#": 6, - "capabilities2": { "C": [ [7,"P"], "\u20203" ], "H": 8, "WP": 9 }, - "note_number": "6", - "notes": [ "US 46\u20202", "C\u20203", "G", "H", "P", "T\u2020", "X\u20201"], - "id": "am/v:905", - "gpid": "adf:207" -}, -{ "name": "M3A1F", - "type": "LTv", - "CS#": 4, - "capabilities2": { "C": [ [7,"P"], "\u2020" ] }, - "note_number": "7", - "notes": [ "US C\u2020", "G", "P" ], - "id": "am/v:906", - "gpid": "adf:152" -}, -{ "name": "M5A1 Satan", - "CS#": 4, - "note_number": "8\u2020", - "notes": [ "US P" ], - "id": "am/v:907", - "gpid": "adf:158" -}, -{ "name": "M4A2F", - "type": "MTv", - "cs#": 5, - "capabilities2": { "s": 5, "WP": 7, "sM": 5 }, - "note_number": "9", - "notes": [ "US G", "P", "R" ], - "id": "am/v:908", - "gpid": "adf:168" -}, -{ "name": "M4A2(L)F", - "type": "MTv", - "cs#": 6, - "capabilities2": { "s": 5, "WP": 7, "sM": 8 }, - "note_number": "10", - "notes": [ "US G", "P", "R" ], - "id": "am/v:909", - "gpid": "adf:170" -}, -{ "name": "Carrier .50cal(b)", - "type": "APC", - "CS#": 3, - "note_number": "11\u2020", - "id": "am/v:910", - "gpid": "adf:209" -} - -], - -"ordnance": [ - -{ "name": "20mm Oerlikon Mk4", - "type": "AA", - "capabilities": [ "T", "2 TK DR's\u2020" ], - "comments": [ "Multiple Hits (C3.8) are NA." ], - "note_number": "1\u2020", - "notes": [ "US P" ], - "id": "am/o:900", - "gpid": "adf:34" -} - -] - -} +"comment": "This is a dummy extension file that acts as a parent for the various BFP child files." } diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js index f39c6f1..9bf08cf 100644 --- a/vasl_templates/webapp/static/snippets.js +++ b/vasl_templates/webapp/static/snippets.js @@ -442,7 +442,7 @@ function get_ma_notes_keys( nat, vo_entries, vo_type ) var vo_id = vo_entry.id.split( ":", 1 )[0] ; var is_extra = ( nat !== "landing-craft" && vo_id === "sh/v" ) ; var key = match[1] ; - if ( vo_entry.extn_id && !( vo_entry.extn_id === "adf" && nat === "american" && key.length === 1 ) ) { + if ( vo_entry.extn_id && !( vo_entry.extn_id === "adf-bj" && nat === "american" && key.length === 1 ) ) { // NOTE: We include the extension ID as part of the key, except for BFP American vehicles, // whose multi-applicable notes refer to the main American multi-applicable notes, // not the BFP ones (there aren't any). diff --git a/vasl_templates/webapp/tests/test_vasl_extensions.py b/vasl_templates/webapp/tests/test_vasl_extensions.py index 055447f..4e554bb 100644 --- a/vasl_templates/webapp/tests/test_vasl_extensions.py +++ b/vasl_templates/webapp/tests/test_vasl_extensions.py @@ -122,8 +122,8 @@ def test_dedupe_ma_notes( webapp, webdriver ): # NOTE: The vehicles used in this test have the following multi-applicable notes: # - Type 92A: A - # - M3(a): adf:A ; adf:B ; adf:C ; adf:Jp A ; adf:US B - # - Type 98 MCT: adf:Br H ; adf:Ge A + # - M3(a): adf-bj:A ; adf-bj:B ; adf-bj:C ; adf-bj:Jp A ; adf-bj:US B + # - Type 98 MCT: adf-bj:Br H ; adf-bj:Ge A # do the tests do_test( [ "Type 92A (Tt)", "M3(a) (LT)" ], [ @@ -298,7 +298,7 @@ def test_bfp_extensions( webapp, webdriver ): elems[0].click() wait_for_clipboard( 2, re.compile( r'' ) ) elems[1].click() - wait_for_clipboard( 2, re.compile( r'' ) ) + wait_for_clipboard( 2, re.compile( r'' ) ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -