diff --git a/vasl_templates/webapp/__init__.py b/vasl_templates/webapp/__init__.py
index e28b008..a0ba415 100644
--- a/vasl_templates/webapp/__init__.py
+++ b/vasl_templates/webapp/__init__.py
@@ -31,11 +31,11 @@ def _on_startup():
# load the vehicle/ordnance listings
from vasl_templates.webapp.vo import load_vo_listings #pylint: disable=cyclic-import
- load_vo_listings()
+ from vasl_templates.webapp.main import startup_msg_store #pylint: disable=cyclic-import
+ load_vo_listings( startup_msg_store )
# load the vehicle/ordnance notes
from vasl_templates.webapp.vo_notes import load_vo_notes #pylint: disable=cyclic-import
- from vasl_templates.webapp.main import startup_msg_store #pylint: disable=cyclic-import
load_vo_notes( startup_msg_store )
# ---------------------------------------------------------------------
diff --git a/vasl_templates/webapp/data/default-template-pack/ob_vo.j2 b/vasl_templates/webapp/data/default-template-pack/ob_vo.j2
index 4c78af3..d401e60 100644
--- a/vasl_templates/webapp/data/default-template-pack/ob_vo.j2
+++ b/vasl_templates/webapp/data/default-template-pack/ob_vo.j2
@@ -6,7 +6,9 @@
{{CSS:common}}
.note { font-size: 90% ; font-style: italic ; color: #808080 ; }
.capability {}
-.comment { font-size: 90% ; font-style: italic ; color: #404040 ; }
+.comment { font-size: 96% ; font-style: italic ; color: #404040 ; white-space: nowrap ; }
+.comment .split-mg-red { color: #a04010 ; }
+.comment .exc { color: #606060 ; }
@@ -64,7 +66,7 @@
{%for cap in vo.capabilities%} {{cap|nobr}} {%endfor%}
- {%for cmnt in vo.comments%} {%endfor%}
+ {%for cmnt in vo.comments%} {%endfor%}
{% if vo.capabilities_len <= MAX_CAPABILITIES and vo.image %}
{# NOTE: If there are only a few capabilities, let the note number & notes spread full-width. #}
diff --git a/vasl_templates/webapp/data/extensions/bfp-bj-v403.json b/vasl_templates/webapp/data/extensions/bfp-bj-v403.json
index 1107c7a..0ceb3ea 100644
--- a/vasl_templates/webapp/data/extensions/bfp-bj-v403.json
+++ b/vasl_templates/webapp/data/extensions/bfp-bj-v403.json
@@ -17,7 +17,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "A", "Fr C", "Ru M\u2020" ],
- "comments": [ "1 MP minimum road movement rate, even if CE." ],
+ "comments": [ "Road Rate NA", "French ESB" ],
"id": "ja/v:900",
"gpid": "adf:278"
},
@@ -27,7 +27,7 @@
"CS#": 2,
"note_number": "2\u2020",
"notes": [ "A", "B", "Fr C", "Ru M\u2020" ],
- "comments": [ "1 MP minimum road movement rate, even if CE." ],
+ "comments": [ "Road Rate NA", "Red TH#", "French ESB" ],
"id": "ja/v:901",
"gpid": "adf:280"
},
@@ -37,7 +37,7 @@
"CS#": 2,
"note_number": "3\u2020",
"notes": [ "A", "Fr C", "Ge H\u2020" ],
- "comments": [ "1 MP minimum road movement rate, even if CE." ],
+ "comments": [ "Road Rate NA", "French ESB" ],
"id": "ja/v:902",
"gpid": "adf:282"
},
@@ -47,7 +47,7 @@
"CS#": 2,
"note_number": "4\u2020",
"notes": [ "A", "B", "Fr C", "Ge H\u2020" ],
- "comments": [ "1 MP minimum road movement rate, even if CE." ],
+ "comments": [ "Road Rate NA", "Red TH#", "French ESB" ],
"id": "ja/v:903",
"gpid": "adf:284"
},
@@ -57,6 +57,7 @@
"CS#": 2,
"note_number": "5",
"notes": [ "A", "AllM D", "Ch H\u2020" ] ,
+ "comments": [ "British ESB" ],
"id": "ja/v:904",
"gpid": "adf:286"
},
@@ -64,6 +65,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "British ESB" ],
"note_number": "6\u2020",
"notes": [ "A", "C", "Ru M\u20201" ],
"id": "ja/v:905",
@@ -91,6 +93,7 @@
"type": "LT",
"no_radio": "\u00ae",
"CS#": 4,
+ "comments": [ "BMG: +1 DRM vs Moving/Motion", "Red TH#","American ESB" ],
"note_number": "9",
"notes": [ "A", "B", "C", "Jp A\u2020", "US B\u20201" ],
"id": "ja/v:908",
@@ -101,6 +104,7 @@
"no_radio": "\u00ae",
"CS#": 4,
"capabilities2": { "sD": 4 },
+ "comments": [ "Red TH#","American ESB" ],
"note_number": "10",
"notes": [ "A", "B", "C", "Jp A\u2020" ],
"id": "ja/v:909",
@@ -121,9 +125,9 @@
"capabilities2": { "sD": 5 },
"note_number": "12",
"notes": [ "Jp 6\u2020" ],
- "comments": [ "Refer to Japanese Note 6 on Pontoons for amphibious data and wreck." ],
+ "comments": [ "Amphibious", "Movement restrictions" ],
"id": "ja/v:911",
- "gpid": "adf:326"
+ "gpid": "adf:328"
},
{ "name": "Type 3 Ka-Chi (without pontoons)",
"type": "MT",
@@ -132,7 +136,7 @@
"note_number": "12",
"notes": [ "Jp 6\u2020" ],
"id": "ja/v:912",
- "gpid": "adf:328"
+ "gpid": "adf:326"
},
{ "name": "Armored Eng Veh SS",
"type": "MTv",
@@ -140,7 +144,7 @@
"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)." ],
+ "comments": [ "Wire removal" ],
"id": "ja/v:913",
"gpid": "adf:331"
},
@@ -148,10 +152,9 @@
"type": "AC",
"no_radio": "\u00ae",
"CS#": 5,
- "capabilities": [ "2 TK DR's\u2020" ],
"note_number": "14\u2020",
"notes": [ "Ch F\u2020" ],
- "comments": [ "REV x4" ],
+ "comments": [ "2 TK DR (MG)", "Reverse MP ×4" ],
"id": "ja/v:914",
"gpid": "adf:333"
},
@@ -159,7 +162,7 @@
"type": "AC",
"no_radio": "\u00ae",
"CS#": 4,
- "capabilities": [ "2 TK DR's\u2020" ],
+ "comments": [ "2 TK DR (MG)" ],
"note_number": "15\u2020",
"notes": [ "C", "Ch F\u2020" ],
"id": "ja/v:915",
@@ -169,7 +172,7 @@
"type": "ht",
"CS#": 5,
"note_number": "16\u2020",
- "comments": [ "2MA&2&2" ],
+ "comments": [ "{{2|MA|2*|2*}}", "Independent AAMG's", "Inherent Crew & Passenger", "Crew: MA only" ],
"id": "ja/v:916",
"gpid": "adf:337"
},
@@ -178,7 +181,7 @@
"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]." ],
+ "comments": [ "American ESB", "MA: 12.7", "{{4|MA|2*}}", "Inherent Crew", "Pas: No Mounted Fire penalty", "Unpossessed SW ok", "Crew: .50-cal MA only", "MG Removal OK (dm .50-cal HMG & dm MMG)" ],
"id": "ja/v:917",
"gpid": "adf:339"
},
@@ -188,7 +191,7 @@
"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." ],
+ "comments": [ "Inherent 2-3-7 Crew", "Always CE", "BMG: AA ok", "British ESB" ],
"id": "ja/v:918",
"gpid": "adf:341"
},
@@ -212,6 +215,7 @@
"type": "SPAht",
"no_radio": "\u00ae",
"CS#": 4,
+ "comments": [ "Red TH#" ],
"note_number": "21",
"notes": [ "B", "C", "US U", "Ru M\u2020" ],
"id": "ja/v:921",
@@ -246,7 +250,8 @@
"CS#": 5,
"note_number": "25",
"notes": [ "Br H", "Ge A\u2020" ],
- "comments": [ "Bnd FF NA VCA", "MA: AA", "(Un)load: Portee" ],
+ "disabled_comments": [ "Ge A" ],
+ "comments": [ "Bnd FF & Motion Fire NA VCA", "MA: AA", "(Un)load: Portee" ],
"id": "ja/v:925",
"gpid": "adf:355"
}
@@ -257,7 +262,7 @@
{ "name": "Type 45 (1912) 24cm Howitzer",
"type": "ART",
- "capabilities": [ "NT", "NM", "No IF", "HE TK# 23", "Tow NA" ],
+ "comments": [ "HE TK# = 23", "No IF", "Tow NA", "No Move" ],
"note_number": "1\u2020",
"notes": [ "Jp D\u20201" ],
"id": "ja/o:900",
@@ -265,26 +270,26 @@
},
{ "name": "Type 91 Vickers AA Gun",
"type": "AA",
- "capabilities": [ "AP TK# 8" ],
"capabilities2": { "LF": [ "40(4)", "1 ROF", "B10"] },
+ "comments": [ "AP TK# = 8" ],
"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" ] },
+ "comments": [ "2 TK DR", "AP TK# = 8" ],
"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"],
+ "comments": "{? 01/1944- | ∞ AP | | Unlimited AP44+ ?}",
"id": "ja/o:903",
"gpid": "adf:277"
}
@@ -301,6 +306,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "Road Rate NA", "French ESB, +1 DRM" ],
"note_number": "1\u2020",
"notes": [ "A", "Fr C", "Ru M\u2020" ],
"id": "ch/v:900",
@@ -310,6 +316,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "Japanese ESB, +1 DRM" ],
"note_number": "2",
"notes": [ "A", "D", "Ru M\u2020" ],
"id": "ch/v:901",
@@ -319,6 +326,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "Japanese ESB, +1 DRM" ],
"note_number": "3",
"notes": [ "A", "D" ],
"id": "ch/v:902",
@@ -328,6 +336,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "No IF", "Red TH#", "Japanese ESB, +1 DRM" ],
"note_number": "4",
"notes": [ "A", "C", "D" ],
"id": "ch/v:903",
@@ -337,6 +346,7 @@
"type": "LT",
"no_radio": "\u00ae",
"CS#": 3,
+ "comments": [ "Rear MG 4:00 from MA", "Red TH#", "Japanese ESB, +1 DRM" ],
"note_number": "5",
"notes": [ "A", "B\u2020", "C", "D", "Jp 5\u20201" ],
"id": "ch/v:904",
@@ -346,6 +356,7 @@
"type": "LT",
"no_radio": "\u00ae",
"CS#": 3,
+ "comments": [ "Russian ESB, +1 DRM" ],
"note_number": "6",
"notes": [ "A", "B\u20201", "Ru M\u2020" ],
"id": "ch/v:905",
@@ -355,6 +366,7 @@
"type": "MT",
"no_radio": "\u00ae",
"CS#": 4,
+ "comments": [ "Red TH#", "Japanese ESB, +1 DRM" ],
"note_number": "7",
"notes": [ "A", "B\u2020", "C", "D" ],
"id": "ch/v:906",
@@ -364,6 +376,7 @@
"type": "MT",
"no_radio": "\u00ae",
"CS#": 4,
+ "comments": [ "Red TH#", "Japanese ESB, +1 DRM" ],
"note_number": "8",
"notes": [ "A", "B\u2020", "C", "D" ],
"id": "ch/v:907",
@@ -393,7 +406,7 @@
"CS#": 4,
"note_number": "1\u20202",
"notes": [ "AllM V\u2020", "Ch F\u20201" ],
- "comments": [ "CMG uses AP TK 12.7 column." ],
+ "comments": [ "MA: 12.7" ],
"id": "du/v:900",
"gpid": "adf:10"
},
@@ -413,7 +426,7 @@
"CS#": 4,
"note_number": "3\u20201",
"notes": [ "AllM AA\u20202", "Ch F\u2020" ],
- "comments": [ "AAMG uses AP TK 12.7 column." ],
+ "comments": [ "MA: 12.7" ],
"id": "du/v:902",
"gpid": "adf:14"
},
@@ -423,7 +436,7 @@
"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." ],
+ "comments": [ "MA: VCA ≤level NA", "CMG: VCA only", "Rear turret unarmored when TCA=VCA" ],
"id": "du/v:903",
"gpid": "adf:16"
},
@@ -432,7 +445,7 @@
"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." ],
+ "comments": [ "Mounted Fire: Full FP", "Pas: 2 LMG's" ],
"id": "du/v:904",
"gpid": "adf:18"
},
@@ -441,7 +454,7 @@
"CS#": 5,
"note_number": "6\u2020",
"notes": [ "AllM AA\u20201" ],
- "comments": [ "AP TK: use 12.7 column." ],
+ "comments": [ "MA: 12.7" ],
"id": "du/v:905",
"gpid": "adf:20"
}
@@ -458,8 +471,8 @@
},
{ "name": "Krupp 75mm M1933 Field Gun",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "C": "4\u2020" },
+ "comments": [ "QSU" ],
"note_number": "2",
"notes": [ "US C\u2020" ],
"id": "du/o:901",
@@ -467,7 +480,6 @@
},
{ "name": "Bofors 105mm M1924 Howitzer",
"type": "ART",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "B11" ] },
"note_number": "3",
"id": "du/o:902",
@@ -475,7 +487,6 @@
},
{ "name": "20mm Rheinmetall AA",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "20\u2020", "2 ROF", "B11", "NT" ] },
"note_number": "4",
"notes": [ "Gr C\u2020" ],
@@ -484,11 +495,10 @@
},
{ "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" ],
+ "comments": [ "AP TK# = 17" ],
"id": "du/o:904",
"gpid": "adf:9"
}
@@ -505,6 +515,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "British ESB", "12: Stall" ],
"note_number": "1",
"notes": [ "A", "Ch H", "AllM D" ],
"id": "th/v:900",
@@ -514,6 +525,7 @@
"type": "LT",
"no_radio": "\u00ae",
"CS#": 3,
+ "comments": [ "British ESB" ],
"note_number": "2",
"notes": [ "A" ],
"id": "th/v:901",
@@ -523,9 +535,9 @@
"type": "LT",
"no_radio": "\u00ae",
"CS#": 3,
+ "comments": [ "Japanese ESB", "Rear MG 4:00 from MA" ],
"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"
},
@@ -533,7 +545,7 @@
"type": "SPAA",
"no_radio": "\u00ae",
"CS#": 3,
- "capabilities": [ "AP TK# 8" ],
+ "comments": [ "AP TK# = 8", "British ESB" ],
"note_number": "4",
"notes": [ "A", "AllM AA\u2020" ],
"id": "th/v:903",
@@ -542,6 +554,7 @@
{ "name": "Citroen-Kegresse P17(f)",
"type": "ht",
"CS#": 3,
+ "comments": [ "French ESB" ],
"note_number": "5\u2020",
"notes": [ "A" ],
"id": "th/v:904",
@@ -551,9 +564,9 @@
"type": "AC",
"no_radio": "\u00ae",
"CS#": 4,
+ "comments": [ "MA: 12.7", "Reverse MP ×4", "British ESB" ],
"note_number": "6",
"notes": [ "Br X\u2020", "Ch F\u2020" ],
- "comments": [ "REV x4" ],
"id": "th/v:905",
"gpid": "adf:102"
}
@@ -564,34 +577,32 @@
{ "name": "50mm Krupp M1906",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "No Gunshield", "QSU", "Horse-Drawn" ],
"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 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "5",
"id": "th/o:901",
"gpid": "adf:82"
},
{ "name": "Vickers 12.7mm AA Class D",
"type": "AA",
- "capabilities": [ "T", "QSU" ],
+ "comments": [ "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",
+ "id": "th/o:903",
"gpid": "adf:86"
}
@@ -606,6 +617,7 @@
{ "name": "Type 94 Light Armoured Vehicle (j)",
"type": "Tt",
"CS#": 2,
+ "comments": [ "ESB: +4 DRM" ],
"note_number": "1",
"notes": [ "C", "Ru M\u2020" ],
"id": "ina/v:900",
@@ -614,6 +626,7 @@
{ "name": "Type 97A Te-Ke Light Armored Vehicle (j)",
"type": "Tt",
"CS#": 2,
+ "comments": [ "ESB: +4 DRM" ],
"note_number": "2",
"notes": [ "C" ],
"id": "ina/v:901",
@@ -622,6 +635,7 @@
{ "name": "Type 97B Te-Ke Light Armored Vehicle (j)",
"type": "Tt",
"CS#": 2,
+ "comments": [ "No IF", "ESB: +4 DRM" ],
"note_number": "3",
"notes": [ "C" ],
"id": "ina/v:902",
@@ -630,6 +644,7 @@
{ "name": "Universal Carrier (b)",
"type": "Tt",
"CS#": 3,
+ "comments": [ "ESB: +4 DRM" ],
"note_number": "4",
"notes": [ "C" ],
"id": "ina/v:903",
@@ -638,15 +653,16 @@
{ "name": "Type 95 Ha-Go(j)",
"type": "LT",
"CS#": 3,
+ "comments": [ "Rear MG 4:00 from MA", "ESB: +4 DRM" ],
"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,
+ "comments": [ "ESB: +4 DRM" ],
"note_number": "6",
"notes": [ "C" ],
"id": "ina/v:905",
@@ -655,16 +671,16 @@
{ "name": "CTLS-4 (a)",
"type": "Tt",
"CS#": 2,
+ "comments": [ "CMG: Port VCA NA", "ESB: +4 DRM" ],
"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" ],
+ "comments": [ "2 TK DR (MG)", "ESB: +4 DRM" ],
"note_number": "8",
"notes": [ "Ch F\u2020" ],
"id": "ina/v:907",
@@ -673,51 +689,45 @@
{ "name": "M3A1 Scout Car (a)",
"type": "SC",
"CS#": 4,
- "note_number": "8",
- "capabilities_other": [ "9PP" ],
+ "comments": [ "MA: 12.7", "{{4|MA|2*}}", "Inherent Crew", "Pas: No Mounted Fire penalty", "Unpossessed SW ok", "Crew: .50-cal MA only", "MG Removal OK (dm .50-cal HMG & dm MMG)", "ESB: +4 DRM" ],
"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",
+ "comments": [ "MA: 12.7", "ESB: +4 DRM" ],
"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" ],
+ "comments": [ "CMG: VCA only", "Mounted Fire: Full FP", "ESB: +4 DRM" ],
"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",
+ "comments": [ "MA: 12.7", "ESB: +4 DRM" ],
"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,
+ "comments": [ "MA: 12.7", "ESB: +4 DRM" ],
"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"
}
@@ -729,15 +739,14 @@
{ "name": "Type 89 Heavy Grenade Launcher",
"type": "MTR",
"capabilities2": { "WP": [ [5,5] ], "S": [ [6,5] ] },
- "capabilities_other": [ "4PP" ],
+ "comments": [ "HE: Range ≤ 2, ROF 1", "Smoke: [3-10]", "WP: [1-5], ROF 1" ],
"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" ],
+ "comments": [ "No Long Range", "Animal-Packed" ],
"note_number": "2",
"notes": [ "Jp A" ],
"id": "ina/o:901",
@@ -745,23 +754,23 @@
},
{ "name": "Year-11 Flat-Trajectory INF Gun",
"type": "INF",
- "capabilities_other": [ "5PP (3PP dm)" ],
"note_number": "3",
+ "comments": [ "Crewed", "Animal-Packed" ],
"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",
+ "comments": [ "QSU", "Horse-Drawn", "Animal-Packed" ],
"notes": [ "Jp A" ],
"id": "ina/o:903",
"gpid": "adf:87"
},
{ "name": "Type 1 Machine-Moved Gun",
"type": "AT",
- "capabilities_other": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "5",
"id": "ina/o:904",
"gpid": "adf:88"
@@ -769,7 +778,7 @@
{ "name": "Year-38 Type Field Gun (Improved)",
"type": "ART",
"capabilities2": { "WP": [ [5,5] ] },
- "capabilities_other": [ "NT", "QSU", "h-d", "AP TK#12" ],
+ "comments": [ "AP TK# = 12", "QSU", "Horse-Drawn" ],
"note_number": "6",
"id": "ina/o:905",
"gpid": "adf:89"
@@ -787,6 +796,7 @@
"type": "HTv",
"CS#": 5,
"capabilities2": { "sD": "6" },
+ "comments": [ "Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]" ],
"note_number": "1\u2020",
"id": "anz/v:900",
"gpid": "adf:211"
@@ -795,6 +805,7 @@
"type": "HT",
"CS#": 5,
"capabilities2": { "sD": "6" },
+ "comments": [ "Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]" ],
"note_number": "2\u2020",
"notes": [ "Br B\u20201" ],
"id": "anz/v:901",
@@ -804,6 +815,7 @@
"type": "HT",
"CS#": 5,
"capabilities2": { "s": "9", "sD": "6" },
+ "comments": [ "Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]", "{? -10/1943 | ∞ Smoke | s9, ∞ HE | ∞ Smoke [EXC: post-10/43: s9, ∞ HE] ?}" ],
"note_number": "3\u2020",
"notes": [ "Br S\u20201" ],
"id": "anz/v:902",
@@ -815,6 +827,7 @@
"capabilities2": { "s": "9", "sM": "8" },
"note_number": "4\u2020",
"notes": [ "Br S\u20201" ],
+ "comments": [ "∞ Smoke" ],
"id": "anz/v:903",
"gpid": "adf:221"
}
@@ -832,8 +845,8 @@
"CS#": 6,
"capabilities2": { "C": [ [10,"P"], "\u20202" ] },
"note_number": "1",
- "notes": [ "C\u20202", "G", "H", "P", "T\u2020", "X" ],
- "comments": [ "Refer to U.S. Vehicle Note 46 and diagram for the AAMG." ],
+ "notes": [ "US C\u20202", "US G", "US H", "US P", "US T\u2020", "US X" ],
+ "comments": [ "AAMG: 4&4; NA VCA" ],
"id": "am/v:900",
"gpid": "adf:196"
},
@@ -841,15 +854,16 @@
"type": "aAPCv",
"CS#": 7,
"note_number": "2",
- "notes": [ "US H", "P", "Q\u20201", "T\u20201"],
+ "notes": [ "US H", "US P", "US Q\u20201", "US T\u20201"],
"id": "am/v:901",
"gpid": "adf:198"
},
{ "name": "LVT4F",
"type": "aAPCv",
- "cs#": 7,
+ "CS#": "7:brewup",
"note_number": "3\u20202",
- "notes": [ "D\u20203", "H", "P", "T\u20201"],
+ "notes": [ "US D\u20203", "US H", "US P", "US T\u20201"],
+ "comments": [ "MA: VCA NA", "AAMG: 4&4", "No Recall after unload" ],
"id": "am/v:902",
"gpid": "adf:200"
},
@@ -857,7 +871,8 @@
"type": "aAPCv",
"CS#": 7,
"note_number": "4\u20201",
- "notes": [ "US D\u20202", "H", "P", "T\u2020"],
+ "notes": [ "US D\u20202", "US H", "US P", "US T\u2020"],
+ "comments": [ "MA: VCA NA", "SA: VCA only", "AAMG: Side only", "AAMG: 6&4", "No Recall after unload" ],
"id": "am/v:903",
"gpid": "adf:202"
},
@@ -865,7 +880,7 @@
"type": "aAPC",
"CS#": 7,
"note_number": "5",
- "notes": [ "D\u20204", "H", "Q\u20203", "T\u20201", "X\u20202"],
+ "notes": [ "US D\u20204", "US H", "US Q\u20203", "US T\u20201", "US X\u20202"],
"id": "am/v:904",
"gpid": "adf:205"
},
@@ -874,7 +889,8 @@
"CS#": 6,
"capabilities2": { "C": [ [7,"P"], "\u20203" ], "H": 8, "WP": 9 },
"note_number": "6",
- "notes": [ "C\u20203", "G", "H", "P", "T\u2020", "X\u20201"],
+ "notes": [ "US C\u20203", "US G", "US H", "US P", "US T\u2020", "US X\u20201"],
+ "comments": [ "AAMG: 4&4; NA VCA" ],
"id": "am/v:905",
"gpid": "adf:207"
},
@@ -883,7 +899,7 @@
"CS#": 4,
"capabilities2": { "C": [ [7,"P"], "\u2020" ] },
"note_number": "7",
- "notes": [ "US C\u2020", "G", "P" ],
+ "notes": [ "US C\u2020", "US G", "US P" ],
"id": "am/v:906",
"gpid": "adf:152"
},
@@ -896,25 +912,26 @@
},
{ "name": "M4A2F",
"type": "MTv",
- "cs#": 5,
+ "CS#": "5:brewup",
"capabilities2": { "s": 5, "WP": 7, "sM": 5 },
"note_number": "9",
- "notes": [ "US G", "P", "R" ],
+ "notes": [ "US G", "US P", "US R" ],
"id": "am/v:908",
"gpid": "adf:168"
},
{ "name": "M4A2(L)F",
"type": "MTv",
- "cs#": 6,
+ "CS#": "6:brewup",
"capabilities2": { "s": 5, "WP": 7, "sM": 8 },
"note_number": "10",
- "notes": [ "US G", "P", "R" ],
+ "notes": [ "US G", "US P", "US R" ],
"id": "am/v:909",
"gpid": "adf:170"
},
{ "name": "Carrier .50cal(b)",
"type": "APC",
"CS#": 3,
+ "comments": [ "Inherent 1-2-6 crew", "Always CE", "MA: 12.7" ],
"note_number": "11\u2020",
"id": "am/v:910",
"gpid": "adf:209"
@@ -926,8 +943,7 @@
{ "name": "20mm Oerlikon Mk4",
"type": "AA",
- "capabilities": [ "T", "2 TK DR's\u2020" ],
- "comments": [ "Multiple Hits (C3.8) are NA." ],
+ "comments": [ "2 TK DR" ],
"note_number": "1\u2020",
"notes": [ "US P" ],
"id": "am/o:900",
diff --git a/vasl_templates/webapp/data/extensions/bfp-pif-v403.json b/vasl_templates/webapp/data/extensions/bfp-pif-v403.json
index 429df5f..cf9584e 100644
--- a/vasl_templates/webapp/data/extensions/bfp-pif-v403.json
+++ b/vasl_templates/webapp/data/extensions/bfp-pif-v403.json
@@ -15,6 +15,7 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
+ "comments": [ "12: Immob, 11: Stall", "Only one MG per Player Turn - BMG: BU only
- AAMG: CE only
- ROF 1
" ],
"note_number": "1\u20202",
"notes": [ "A\u20201", "C\u2020", "AllM D" ],
"id": "po/v:800",
@@ -25,7 +26,7 @@
"no_radio": "\u00ae",
"CS#": 2,
"capabilities2": { "AP": 9, "C": "5\u20201" },
- "comments": [ "Road Rate NA" ],
+ "comments": [ "Road Rate NA", "French ESB" ],
"note_number": "2\u2020",
"notes": [ "B", "D\u20201", "Fr C" ],
"id": "po/v:801",
@@ -36,7 +37,7 @@
"no_radio": "\u00ae",
"CS#": 2,
"capabilities2": { "AP": 9, "C": "5\u20201" },
- "comments": [ "Road Rate NA", "+4 ESB" ],
+ "comments": [ "Road Rate NA", "French ESB", "+4 ESB" ],
"note_number": "3\u2020",
"notes": [ "B", "D\u20201", "Fr C" ],
"id": "po/v:802",
@@ -68,6 +69,7 @@
"no_radio": "\u00ae",
"CS#": 2,
"capabilities2": { "AP": 10 },
+ "comments": [ "French ESB" ],
"note_number": "6",
"notes": [ "B", "Fr A\u2020", "Fr C" ],
"id": "po/v:805",
@@ -104,14 +106,14 @@
{ "name": "PF621L AAtr",
"type": "AAtr",
"CS#": 6,
- "comments": [ "MA: AA" ],
+ "comments": [ "MA: AA ok" ],
"note_number": "11\u2020",
"id": "po/v:810",
"gpid": "adf:1601"
},
{ "name": "Praga RV",
"type": "tr",
- "CS#": 7,
+ "cs#": 7,
"note_number": "12",
"id": "po/v:811",
"gpid": "adf:1057"
@@ -123,8 +125,7 @@
{ "name": "FK-A wz.38 Autocannon",
"type": "AT",
- "capabilities": [ "T", "QSU" ],
- "comments": [ "No Gunshield.", "Tow NA\u2020" ],
+ "comments": [ "No Gunshield", "QSU", "Disassemble OK" ],
"note_number": "1",
"notes": [ "A", "AllM T\u2020" ],
"id": "po/o:800",
@@ -132,8 +133,8 @@
},
{ "name": "65mm wz.06",
"type": "INF",
- "capabilities": [ "NT", "QSU", "C6\u2020", "h-d" ],
- "comments": [ "No Gunshield." ],
+ "capabilities": [ "C6\u2020" ],
+ "comments": [ "No Gunshield", "QSU", "Horse-Drawn" ],
"note_number": "2",
"notes": [ "B\u2020", "AllM A" ],
"id": "po/o:801",
@@ -141,8 +142,8 @@
},
{ "name": "75mm wz.02/26",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "C": "6\u2020" },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "3",
"notes": [ "B\u2020" ],
"id": "po/o:802",
@@ -150,8 +151,8 @@
},
{ "name": "75mm wz.97",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8, "C": "6\u2020" },
+ "comments": [ "QSU" ],
"note_number": "4",
"notes": [ "B\u2020" ],
"id": "po/o:803",
@@ -159,8 +160,8 @@
},
{ "name": "75mm wz.28",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "AP": 5, "C": "6\u2020" },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "5",
"notes": [ "B\u2020", "AllM A" ],
"id": "po/o:804",
@@ -168,8 +169,8 @@
},
{ "name": "76mm wz.02",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8, "C": "6\u2020" },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "6",
"notes": [ "B\u2020" ],
"id": "po/o:805",
@@ -177,7 +178,6 @@
},
{ "name": "100mm wz.14/19",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "C": "6\u2020" },
"note_number": "7",
"notes": [ "B\u2020", "AllM A" ],
@@ -186,7 +186,6 @@
},
{ "name": "105mm wz.29",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "C": "4\u2020" },
"note_number": "8",
"notes": [ "B\u2020" ],
@@ -195,8 +194,8 @@
},
{ "name": "120mm wz.09/31",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 6, "C": "5\u2020" },
+ "comments": [ "Horse-Drawn" ],
"note_number": "9",
"notes": [ "B\u2020" ],
"id": "po/o:808",
@@ -204,7 +203,6 @@
},
{ "name": "155mm wz.17",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "10",
"id": "po/o:809",
@@ -233,6 +231,7 @@
"type": "Tt",
"CS#": 3,
"capabilities2": { "sD": 5 },
+ "comments": [ "MG: VCA only" ],
"note_number": "2",
"notes": [ "A\u2020" ],
"id": "ge/v:801",
@@ -250,6 +249,7 @@
"type": "LTv",
"CS#": 2,
"capabilities2": { "sD": 6 },
+ "comments": [ "Inherent Crew", "Movement restrictions", "Stun = Recall, CE NA" ],
"note_number": "4\u2020",
"id": "ge/v:803",
"gpid": "adf:1833"
@@ -265,7 +265,7 @@
{ "name": "PSW M35",
"type": "AC",
"CS#": 5,
- "comments": [ "REV x2" ],
+ "comments": [ "Reverse MP ×2" ],
"note_number": "6\u2020",
"id": "ge/v:805",
"gpid": "adf:1448"
@@ -274,7 +274,7 @@
"type": "TDht",
"CS#": 6,
"capabilities2": { "A": [ [5,2], [4,3] ] },
- "comments": [ "CE +3 VCA", "MA: Rear VCA NA" ],
+ "comments": [ "CE: +3 VCA, otherwise 0 DRM", "Indirect Fire: CE +1", "MA: Rear VCA NA", "MA: Random SW Destruction", "Mines: As unarmored" ],
"note_number": "7\u2020\u20201",
"id": "ge/v:806",
"gpid": "adf:1472"
@@ -286,8 +286,7 @@
{ "name": "2cm Tankbüsche S-18",
"type": "ATR",
- "capabilities_other": [ "5PP" ],
- "comments": [ "No Long Range" ],
+ "comments": [ "No Long Range", "Animal-Packed" ],
"note_number": "1\u2020",
"notes": [ "AxM A" ],
"id": "ge/o:800",
@@ -295,16 +294,16 @@
},
{ "name": "4.7 cm PaK 36(t)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,1], [4,2] ] },
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"id": "ge/o:801",
"gpid": "adf:1480"
},
{ "name": "7.5 cm Geb G36",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": "7\u2020" },
+ "comments": [ "HEAT ≥ 26 hexes: As * Gun", "QSU", "Animal-Packed" ],
"note_number": "3\u2020",
"notes": [ "Ge O" ],
"id": "ge/o:802",
@@ -312,8 +311,8 @@
},
{ "name": "10.5 cm Geb H40",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 8 },
+ "comments": [ "QSU", "Animal-Packed" ],
"note_number": "4\u2020",
"notes": [ "Ge O" ],
"id": "ge/o:803",
@@ -382,7 +381,7 @@
"no_radio": "\u00ae",
"CS#": 3,
"capabilities2": { "C": "5\u20202" },
- "comments": [ "37*: Stbd", "MG: Port" ],
+ "comments": [ "37L: Starboard", "CMG: Port", "Turret Knock-Out: Non-HE TK = Final TK", "Recall: Both MA & MG disabled" ],
"note_number": "6\u2020",
"notes": [ "C\u20202", "Ru M\u20201" ],
"id": "ru/v:805",
@@ -392,7 +391,7 @@
"type": "LT",
"CS#": 3,
"capabilities2": { "C": "5\u20202" },
- "comments": [ "37*: Stbd", "MG: Port" ],
+ "comments": [ "37L: Starboard", "CMG: Port", "Turret Knock-Out: Non-HE TK = Final TK", "Recall: Both MA & MG disabled" ],
"note_number": "7\u2020",
"notes": [ "C\u20202", "Ru M\u20201" ],
"id": "ru/v:806",
@@ -403,7 +402,7 @@
"no_radio": "\u00ae",
"CS#": 3,
"capabilities2": { "C": "4\u20202" },
- "comments": [ "37*: Stbd", "MG: Port" ],
+ "comments": [ "37L: Starboard", "CMG: Port", "Turret Knock-Out: Non-HE TK = Final TK", "Recall: Both MA & MG disabled" ],
"note_number": "8\u2020",
"notes": [ "C\u20202", "Ru M\u20201" ],
"id": "ru/v:807",
@@ -413,7 +412,7 @@
"type": "LT",
"CS#": 3,
"capabilities2": { "C": "4\u20202" },
- "comments": [ "37*: Stbd MG: Port" ],
+ "comments": [ "37L: Starboard", "CMG: Port", "Turret Knock-Out: Non-HE TK = Final TK", "Recall: Both MA & MG disabled" ],
"note_number": "9\u2020",
"notes": [ "C\u20202", "Ru M\u20201" ],
"id": "ru/v:808",
@@ -424,7 +423,6 @@
"no_radio": "\u00ae",
"CS#": 3,
"capabilities2": { "C": 5 },
- "comments": [ "C4 applies if equipped with optional CMG." ],
"note_number": "10\u20203",
"notes": [ "Ru D\u20202", "Ru I\u2020", "Ru M\u20201" ],
"id": "ru/v:809",
@@ -484,6 +482,7 @@
"capabilities2": { "AP": 7, "C": "6\u20202", "s": 9 },
"note_number": "16\u2020",
"notes": [ "B", "C\u20202", "Ru M\u20201" ],
+ "comments": [ "Shrapnel Rounds" ],
"id": "ru/v:815",
"gpid": "adf:1689"
},
@@ -502,6 +501,7 @@
"capabilities2": { "AP": 7, "C": "6\u20202", "s": 8 },
"note_number": "18\u2020",
"notes": [ "B", "C\u20202", "Ru F\u20201" ],
+ "comments": [ "Shrapnel Rounds" ],
"id": "ru/v:817",
"gpid": "adf:1724"
}
@@ -512,8 +512,8 @@
{ "name": "37mm PTP obr. 30",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "C": "5\u2020" },
+ "comments": [ "QSU" ],
"note_number": "1",
"notes": [ "B\u2020" ],
"id": "ru/o:800",
@@ -521,8 +521,8 @@
},
{ "name": "37mm PP obr. 15R",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "C": "5\u2020" },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "2",
"notes": [ "B\u2020" ],
"id": "ru/o:801",
@@ -530,8 +530,8 @@
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 8, "C": "6\u2020" },
+ "comments": [ "Shrapnel Rounds", "QSU" ],
"note_number": "3",
"notes": [ "A", "B\u2020", "Ru A" ],
"id": "ru/o:802",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/belgian.json b/vasl_templates/webapp/data/ordnance/allied-minor/belgian.json
index a4acfd0..3840877 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/belgian.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/belgian.json
@@ -2,8 +2,7 @@
{ "name": "DBT",
"type": "MTR",
- "capabilities_other": [ "3PP" ],
- "comments": [ "\u2020" ],
+ "comments": [ "No Air Bursts" ],
"note_number": "6\u2020",
"notes": [ "A", "B", "D" ],
"id": "be/o:000",
@@ -11,26 +10,16 @@
},
{ "name": "M76 A",
"type": "MTR",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "LF": [ ["INF"], "\u2020" ] },
+ "comments": [ "Horse-Drawn", "Push/Tow as non-Mortar", "Unlimbered: Indirect Fire only (as Mortar)" ],
"note_number": "7\u2020",
"notes": [ "A", "B", "D" ],
"id": "be/o:001",
"gpid": 2211
},
-{ "name": "M76 A",
- "type": "INF",
- "capabilities": [ "NT", "h-d" ],
- "capabilities2": { "LF": [ ["INF"], "\u2020" ] },
- "note_number": "7\u2020",
- "notes": [ "A", "B", "D" ],
- "id": "be/o:002",
- "gpid": 2212
-},
{ "name": "7.6cm FRC",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
- "comments": [ "\u2020" ],
+ "comments": [ "QSU", "Indirect Fire OK " ],
"note_number": "8\u2020",
"notes": [ "A", "B" ],
"id": "be/o:003",
@@ -38,7 +27,7 @@
},
{ "name": "C47 FRC M 32",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "9",
"notes": [ "B" ],
"id": "be/o:004",
@@ -46,8 +35,8 @@
},
{ "name": "C75 TR",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 5 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "10",
"notes": [ "B" ],
"id": "be/o:005",
@@ -55,7 +44,6 @@
},
{ "name": "C75 GP",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "LF": [ "75*", "B10" ], "s": 5 },
"note_number": "11",
"notes": [ "B" ],
@@ -64,7 +52,6 @@
},
{ "name": "Ob 105 GP",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "LF": [ "105*" ], "s": 5 },
"note_number": "12",
"notes": [ "B" ],
@@ -73,7 +60,6 @@
},
{ "name": "C120 M31",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "LF": [ "120*" ] },
"note_number": "13",
"notes": [ "B" ],
@@ -82,8 +68,7 @@
},
{ "name": "M27 FRC",
"type": "AA",
- "capabilities": [ "NM" ],
- "capabilities_other": [ "ST" ],
+ "comments": [ "No Move" ],
"note_number": "14",
"notes": [ "B" ],
"id": "be/o:009",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/common.json b/vasl_templates/webapp/data/ordnance/allied-minor/common.json
index d75a07e..2969c51 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/common.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/common.json
@@ -2,8 +2,8 @@
{ "name": "Brandt Medium Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "23\u2020",
"notes": [ "A", "B", "Gr", "N", "P", "Y" ],
"id": "alc/o:000",
@@ -11,7 +11,7 @@
},
{ "name": "37mm Bofors AT",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU", "En Portee (P-F 621L or Ursus)" ],
"note_number": "24\u2020",
"notes": [ "A", "De", "P" ],
"id": "alc/o:001",
@@ -19,7 +19,7 @@
},
{ "name": "3.7cm PaK 35/36",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "25\u2020",
"notes": [ "Gr", "Ne", "Y" ],
"id": "alc/o:002",
@@ -27,7 +27,7 @@
},
{ "name": "Bohler M35 47mm",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "26\u2020",
"notes": [ "A", "Gr", "Ne", "Y" ],
"id": "alc/o:003",
@@ -35,8 +35,7 @@
},
{ "name": "65mm wz.06",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield", "Horse-Drawn" ],
"note_number": "27\u2020",
"notes": [ "A", "Gr", "P", "Y" ],
"id": "alc/o:004",
@@ -44,8 +43,8 @@
},
{ "name": "75mm wz.97",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "28\u2020",
"notes": [ "A", "Gr", "N", "P" ],
"id": "alc/o:005",
@@ -53,7 +52,7 @@
},
{ "name": "Bofors M34",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "29\u2020",
"notes": [ "A", "B", "Gr", "Ne", "N" ],
"id": "alc/o:006",
@@ -61,8 +60,8 @@
},
{ "name": "75M 19S",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "AP": 5 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "30\u2020",
"notes": [ "A", "Gr", "P", "Y" ],
"id": "alc/o:007",
@@ -70,7 +69,6 @@
},
{ "name": "C105 L 13 S",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "31\u2020",
"notes": [ "B", "P", "Y" ],
"id": "alc/o:008",
@@ -78,8 +76,8 @@
},
{ "name": "120mm wz. 09/31",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 6 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "32\u2020",
"notes": [ "N", "P" ],
"id": "alc/o:009",
@@ -87,7 +85,6 @@
},
{ "name": "155mm 17 S",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "33",
"notes": [ "B", "Gr", "P", "Y" ],
@@ -96,8 +93,7 @@
},
{ "name": "Mitrailleuse de 13.2 CAJ mle 30",
"type": "AA",
- "capabilities": [ "T", "2 TK DR\u2020" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "Tow NA", "2 TK DR", "16 [TH]" ],
"note_number": "34\u2020",
"notes": [ "T\u20201", "B", "Gr", "Y" ],
"id": "alc/o:011",
@@ -105,7 +101,6 @@
},
{ "name": "20mm Oerlikon",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF", "B11" ] },
"note_number": "35\u2020",
"notes": [ "C\u20201", "Gr", "Ne", "Y" ],
@@ -114,7 +109,6 @@
},
{ "name": "40mm Bofors AA",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ] },
"note_number": "36\u2020",
"notes": [ "C\u20201", "B", "N", "Ne", "P" ],
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/danish.json b/vasl_templates/webapp/data/ordnance/allied-minor/danish.json
index 199f98d..892256e 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/danish.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/danish.json
@@ -2,7 +2,7 @@
{ "name": "Machinecannon 20mm M-35",
"type": "AT",
- "capabilities": [ "NT", "QSU\u20201", "R2", "IFE=B10" ],
+ "comments": [ "QSU", "No Gunshield", "IFE: B# = 10", "R2, X6" ],
"note_number": "19\u2020",
"notes": [ "De", "T\u20201" ],
"id": "da/o:000",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/dutch.json b/vasl_templates/webapp/data/ordnance/allied-minor/dutch.json
index ea76503..f0e6172 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/dutch.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/dutch.json
@@ -2,7 +2,6 @@
{ "name": "Solothurn s/18-1100",
"type": "ATR",
- "capabilities_other": [ "5PP" ],
"note_number": "15",
"notes": [ "A", "Ne" ],
"id": "du/o:000",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/greek.json b/vasl_templates/webapp/data/ordnance/allied-minor/greek.json
index dd65f56..bcf6824 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/greek.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/greek.json
@@ -2,7 +2,6 @@
{ "name": "Vari 85/24 M",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 5 },
"note_number": "16",
"notes": [ "Gr" ],
@@ -11,7 +10,7 @@
},
{ "name": "OR 105/19",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
+ "comments": [ "Horse-Drawn" ],
"note_number": "17",
"notes": [ "Gr" ],
"id": "gr/o:001",
@@ -19,7 +18,6 @@
},
{ "name": "3.7cm Bofors AA",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "18",
"notes": [ "Gr" ],
"id": "gr/o:002",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/polish.json b/vasl_templates/webapp/data/ordnance/allied-minor/polish.json
index 84cd524..c21ba59 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/polish.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/polish.json
@@ -2,7 +2,6 @@
{ "name": "46mm granatnik wz. 36",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
"note_number": "1",
"notes": [ "A", "P" ],
"id": "po/o:000",
@@ -10,7 +9,7 @@
},
{ "name": "Ur. wz. 35",
"type": "ATR",
- "capabilities_other": [ "1PP" ],
+ "comments": [ "No Long Range" ],
"note_number": "2",
"notes": [ "P" ],
"id": "po/o:001",
@@ -18,8 +17,8 @@
},
{ "name": "75mm wz. 02/26",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "3",
"notes": [ "P" ],
"id": "po/o:002",
@@ -27,7 +26,6 @@
},
{ "name": "100mm wz. 14/19",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "4",
"notes": [ "A", "P" ],
"id": "po/o:003",
@@ -35,7 +33,7 @@
},
{ "name": "75mm wz. 97/25",
"type": "AA",
- "capabilities": [ "T", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "5\u2020",
"notes": [ "P" ],
"id": "po/o:004",
diff --git a/vasl_templates/webapp/data/ordnance/allied-minor/yugoslavian.json b/vasl_templates/webapp/data/ordnance/allied-minor/yugoslavian.json
index 43f00c1..92c63b2 100644
--- a/vasl_templates/webapp/data/ordnance/allied-minor/yugoslavian.json
+++ b/vasl_templates/webapp/data/ordnance/allied-minor/yugoslavian.json
@@ -2,7 +2,7 @@
{ "name": "3.7cm Infantry Gun",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "20",
"notes": [ "Y" ],
"id": "yu/o:000",
@@ -10,8 +10,8 @@
},
{ "name": "80mm M28/M33",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 5 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "21",
"notes": [ "Y" ],
"id": "yu/o:001",
@@ -19,7 +19,6 @@
},
{ "name": "100mm M14/19",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "22",
"notes": [ "Y" ],
"id": "yu/o:002",
diff --git a/vasl_templates/webapp/data/ordnance/american.json b/vasl_templates/webapp/data/ordnance/american.json
index 0950459..91dacba 100644
--- a/vasl_templates/webapp/data/ordnance/american.json
+++ b/vasl_templates/webapp/data/ordnance/american.json
@@ -4,7 +4,6 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "WP": [ [7,5] ] },
- "capabilities_other": [ "5PP", "OBA\u2020" ],
"note_number": "1\u2020",
"notes": [ "F", "N" ],
"id": "am/o:000",
@@ -14,7 +13,6 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "WP": [ [6,5] ] },
- "capabilities_other": [ "4PP" ],
"note_number": "2",
"notes": [ "F" ],
"id": "am/o:001",
@@ -22,8 +20,8 @@
},
{ "name": "M1 81mm Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 8 },
+ "comments": [ "QSU" ],
"note_number": "3",
"notes": [ "F", "N" ],
"id": "am/o:002",
@@ -31,16 +29,16 @@
},
{ "name": "M2 4.2-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 10 },
+ "comments": [ "QSU", "Area FP = 12" ],
"note_number": "4\u2020",
"id": "am/o:003",
"gpid": 881
},
{ "name": "T25 155mm Mortar",
"type": "MTR",
- "capabilities": [ "NT" ],
"capabilities2": { "WP": 8 },
+ "comments": [ "Tow NA" ],
"note_number": "5\u2020",
"notes": [ "P" ],
"id": "am/o:004",
@@ -48,8 +46,8 @@
},
{ "name": "M3A1 37mm AT Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "C": [ [7,"A2+"], "\u20201" ] },
+ "comments": [ "QSU" ],
"note_number": "6\u2020",
"notes": [ "C\u20201", "N" ],
"id": "am/o:005",
@@ -57,16 +55,16 @@
},
{ "name": "M1 57mm AT Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "HE": [ [7,"J4E"], [7,5], "\u2020" ], "D": [ [4,"J4+E"], "\u2020" ] },
+ "comments": [ "QSU" ],
"note_number": "7\u2020",
"id": "am/o:006",
"gpid": 885
},
{ "name": "M5 3-in. AT Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,4], [5,5], "\u2020" ], "s": [ [6,5] ] },
+ "comments": [ "QSU" ],
"note_number": "8\u2020",
"notes": [ "P" ],
"id": "am/o:007",
@@ -74,7 +72,8 @@
},
{ "name": "T32 37mm Manpack Gun",
"type": "INF",
- "capabilities": [ "5PP (3PP dm)\u2020", "C5\u20201", "crewed\u20202" ],
+ "capabilities": [ "C5\u20201" ],
+ "comments": [ "As HMG" ],
"note_number": "9\u2020",
"notes": [ "C\u20201", "D\u20202", "F" ],
"id": "am/o:008",
@@ -82,8 +81,8 @@
},
{ "name": "M18 57mm Recoilless Rifle",
"type": "RCL",
- "capabilities": [ "3PP", "crewed\u20201" ],
"capabilities2": { "H": 7, "WP": 6 },
+ "comments": [ "HEAT TK# = 11" ],
"note_number": "10",
"notes": [ "D\u20201", "E\u2020" ],
"id": "am/o:009",
@@ -91,7 +90,6 @@
},
{ "name": "M20 75mm Recoilless Rifle",
"type": "RCL",
- "capabilities": [ "5PP", "crewed\u20201" ],
"capabilities2": { "H": 7, "WP": 7 },
"note_number": "11",
"notes": [ "D\u20201", "E\u2020" ],
@@ -100,8 +98,8 @@
},
{ "name": "M1A1 75mm Pack Howitzer",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 7, "WP": 8, "C": [ [4,"4+"], "\u20201" ] },
+ "comments": [ "QSU" ],
"note_number": "12\u2020",
"notes": [ "C\u20201", "F" ],
"id": "am/o:011",
@@ -109,8 +107,8 @@
},
{ "name": "M1897A2 75mm Gun",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 8 },
+ "comments": [ "QSU" ],
"note_number": "13",
"notes": [ "P" ],
"id": "am/o:012",
@@ -118,7 +116,6 @@
},
{ "name": "M2A1 105mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 6, "s": 7, "WP": 8, "C": [ [7,"4+P"], "\u20201" ] },
"note_number": "14\u2020",
"notes": [ "C\u20201", "N" ],
@@ -127,7 +124,6 @@
},
{ "name": "M3 105mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 7, "s": 7, "WP": 8, "C": [ [7,"P"], "\u20201" ] },
"note_number": "15\u2020",
"notes": [ "C\u20201" ],
@@ -136,7 +132,6 @@
},
{ "name": "M1 4.5-in. Gun",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "16\u2020",
"notes": [ "P" ],
"id": "am/o:015",
@@ -144,7 +139,6 @@
},
{ "name": "M1918 155mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": [ [7,"3+"] ], "WP": 8 },
"note_number": "17\u2020",
"notes": [ "N" ],
@@ -153,7 +147,6 @@
},
{ "name": "M1 155mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 7, "WP": 8 },
"note_number": "18\u2020",
"notes": [ "N" ],
@@ -162,9 +155,9 @@
},
{ "name": "M1918M1 155mm Gun",
"type": "ART",
- "capabilities": [ "NT", "RFNM", "AP4\u20201" ],
+ "capabilities": [ "AP4\u20201" ],
"capabilities2": { "WP": 8 },
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "19\u2020",
"notes": [ "A\u20201", "N" ],
"id": "am/o:018",
@@ -172,9 +165,9 @@
},
{ "name": "M1A1 155mm Gun",
"type": "ART",
- "capabilities": [ "NT", "RFNM", "AP4\u20201" ],
+ "capabilities": [ "AP4\u20201" ],
"capabilities2": { "s": [ [7,5] ], "WP": 8 },
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "20\u2020",
"notes": [ "A\u20201" ],
"id": "am/o:019",
@@ -182,24 +175,21 @@
},
{ "name": "M1 8-in. Howitzer",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "21\u2020",
"id": "am/o:020",
"gpid": 898
},
{ "name": "M51 Multiple .50-cal MG Carriage",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "2 ROF", "20 IFE", "B11" ] },
- "capabilities_other": [ "4 TK DR\u2020" ],
+ "comments": [ "4 TK DR", "[16] TH" ],
"note_number": "22\u2020",
"id": "am/o:021",
"gpid": 900
},
{ "name": "M1A2 37mm AA Gun",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "23\u2020",
"notes": [ "N" ],
"id": "am/o:022",
@@ -207,7 +197,6 @@
},
{ "name": "M1 40mm AA Gun",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ] },
"note_number": "24\u2020",
"notes": [ "B\u20201" ],
@@ -216,7 +205,7 @@
},
{ "name": "M3 3-in. AA Gun",
"type": "AA",
- "capabilities": [ "T", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "25",
"notes": [ "P" ],
"id": "am/o:024",
@@ -224,7 +213,7 @@
},
{ "name": "M1A1 90mm AA Gun",
"type": "AA",
- "capabilities": [ "T", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "26\u2020",
"notes": [ "N" ],
"id": "am/o:025",
@@ -232,7 +221,6 @@
},
{ "name": "M2 90mm AA Gun",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "90\u2020", "1 ROF", "B11" ] },
"note_number": "27\u20201",
"notes": [ "B\u2020" ],
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/bulgarian.json b/vasl_templates/webapp/data/ordnance/axis-minor/bulgarian.json
index 251059a..c6159bc 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/bulgarian.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/bulgarian.json
@@ -2,17 +2,14 @@
{ "name": "LG de 50 mle 37",
"type": "MTR",
- "capabilities_other": [ "2PP" ],
"note_number": "37",
"notes": [ "A" ],
"id": "bu/o:000",
- "gpid": null
+ "gpid": 3679
},
{ "name": "Madsen M-35",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "capabilities_other": [ "R2", "IFE=B10\u2020" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield", "IFE: B# = 10", "R2, X6" ],
"note_number": "38\u2020",
"notes": [ "T\u20201" ],
"id": "bu/o:001",
@@ -20,21 +17,14 @@
},
{ "name": "Skoda Infantry Gun",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn", "Changeable barrel" ],
"note_number": "39\u2020",
"id": "bu/o:002",
- "gpid": 3776
-},
-{ "name": "Skoda Infantry Gun",
- "type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "note_number": "39\u2020",
- "id": "bu/o:003",
- "gpid": 3777
+ "gpid": [ 3777, 3776 ]
},
{ "name": "Bofors 75mm M36",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "40\u2020",
"notes": [ "A" ],
"id": "bu/o:004",
@@ -42,15 +32,14 @@
},
{ "name": "75mm K-S",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 5 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "41\u2020",
"id": "bu/o:005",
"gpid": 3779
},
{ "name": "Ob 105mm GP",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 5, "LF": [ "105*\u20201" ] },
"note_number": "42\u2020",
"notes": [ "G\u20201" ],
@@ -59,8 +48,7 @@
},
{ "name": "D/30 Krupp",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "43",
"id": "bu/o:007",
"gpid": 3781
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/common.json b/vasl_templates/webapp/data/ordnance/axis-minor/common.json
index 11f82ad..0686943 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/common.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/common.json
@@ -2,7 +2,6 @@
{ "name": "5cm leGrW 36",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "44",
"notes": [ "A", "B", "C", "H", "S" ],
"id": "axc/o:000",
@@ -10,7 +9,6 @@
},
{ "name": "50mm RM obr. 40",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
"note_number": "45",
"notes": [ "A", "C", "H", "R", "S" ],
"id": "axc/o:001",
@@ -18,8 +16,9 @@
},
{ "name": "8cm GrW 34",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "46\u2020",
"notes": [ "A", "B", "C" ],
"id": "axc/o:002",
@@ -27,8 +26,8 @@
},
{ "name": "Brandt M27/31",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "47\u2020",
"notes": [ "A", "H", "R", "S" ],
"id": "axc/o:003",
@@ -36,8 +35,8 @@
},
{ "name": "PM obr. 38",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "48\u2020",
"notes": [ "H", "R" ],
"id": "axc/o:004",
@@ -45,7 +44,7 @@
},
{ "name": "Ur wz. 35",
"type": "ATR",
- "capabilities_other": [ "1PP" ],
+ "comments": [ "No Long Range" ],
"note_number": "49",
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/o:005",
@@ -53,7 +52,7 @@
},
{ "name": "s18-1100",
"type": "ATR",
- "capabilities_other": [ "5PP" ],
+ "comments": [ "No Long Range" ],
"note_number": "50",
"notes": [ "A", "H", "R" ],
"id": "axc/o:006",
@@ -61,8 +60,8 @@
},
{ "name": "Kanon PUV vz. 37(t)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,"1S"], "\u2020" ] },
+ "comments": [ "QSU" ],
"note_number": "51\u2020",
"notes": [ "B", "E", "H", "S" ],
"id": "axc/o:007",
@@ -70,8 +69,7 @@
},
{ "name": "Bohler M35",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield" ],
"note_number": "52\u2020",
"notes": [ "A", "H", "R", "S" ],
"id": "axc/o:008",
@@ -79,8 +77,8 @@
},
{ "name": "5cm PaK 38(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,3], [3,4] ] },
+ "comments": [ "QSU" ],
"note_number": "53\u2020",
"notes": [ "B", "E", "H", "R", "S" ],
"id": "axc/o:009",
@@ -88,8 +86,8 @@
},
{ "name": "7.5cm PaK 97/38(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ [5,"3+"] ], "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "54\u2020",
"notes": [ "B", "E", "R" ],
"id": "axc/o:010",
@@ -97,8 +95,8 @@
},
{ "name": "7.5cm PaK 40(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,3], [3,4] ] },
+ "comments": [ "QSU" ],
"note_number": "55\u2020",
"notes": [ "B", "E", "H", "R", "S" ],
"id": "axc/o:011",
@@ -106,7 +104,7 @@
},
{ "name": "Skoda M15",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "56\u2020",
"notes": [ "A", "B", "C", "H", "R", "S" ],
"id": "axc/o:012",
@@ -114,8 +112,8 @@
},
{ "name": "Canon de 75 mle 1897",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "57",
"notes": [ "B", "R" ],
"id": "axc/o:013",
@@ -123,7 +121,6 @@
},
{ "name": "Skoda M29",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 6 },
"note_number": "58\u2020",
"notes": [ "A", "R", "S" ],
@@ -132,7 +129,7 @@
},
{ "name": "Skoda M17",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "59\u2020",
"notes": [ "A", "C", "R", "S" ],
"id": "axc/o:015",
@@ -140,7 +137,6 @@
},
{ "name": "Skoda M28(80)",
"type": "ART",
- "capabilities": [ "T" ],
"note_number": "60\u2020",
"notes": [ "C", "S" ],
"id": "axc/o:016",
@@ -148,7 +144,6 @@
},
{ "name": "Skoda M14/19",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "61\u2020",
"notes": [ "A\u2020", "C", "H", "R", "S" ],
@@ -157,7 +152,6 @@
},
{ "name": "leFH 18(g)",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": [ [4,"3+"] ], "s": 5 },
"note_number": "62\u2020",
"notes": [ "B", "E", "H", "S" ],
@@ -166,7 +160,6 @@
},
{ "name": "Skoda M35",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 7, "C": [ [7,"CS"], "\u2020" ] },
"note_number": "63\u2020",
"notes": [ "C", "R", "S" ],
@@ -175,8 +168,8 @@
},
{ "name": "G obr. 10/30",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 7 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "64\u2020",
"notes": [ "B", "R" ],
"id": "axc/o:020",
@@ -184,7 +177,6 @@
},
{ "name": "G obr. 38",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": [ [5,"1-2R"], "\u2020" ] },
"note_number": "65",
"notes": [ "B", "R" ],
@@ -193,7 +185,6 @@
},
{ "name": "Skoda M14",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "66\u2020",
"notes": [ "H", "R", "S" ],
"id": "axc/o:022",
@@ -201,9 +192,8 @@
},
{ "name": "Skoda M15/16",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6 },
- "comments": [ "No IF." ],
+ "comments": [ "No IF" ],
"note_number": "67\u2020",
"notes": [ "C", "S" ],
"id": "axc/o:023",
@@ -211,7 +201,6 @@
},
{ "name": "C mle 17 S",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 7 },
"note_number": "68\u2020",
"notes": [ "B", "R" ],
@@ -220,8 +209,7 @@
},
{ "name": "Mitrailleuse de 13.2 CAJ mle 30",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "2 TK DR\u2020" ],
+ "comments": [ "2 TK DR", "[16] TH" ],
"note_number": "69\u2020",
"notes": [ "B", "R", "T\u20201" ],
"id": "axc/o:025",
@@ -229,7 +217,6 @@
},
{ "name": "Oerlikon FF",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B11" ] },
"note_number": "70",
"notes": [ "B", "C", "G\u2020", "H", "R", "S" ],
@@ -238,7 +225,6 @@
},
{ "name": "2cm FlaK 30(g)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF", "B9" ] },
"note_number": "71\u2020",
"notes": [ "B", "E", "G\u20201", "R" ],
@@ -247,7 +233,6 @@
},
{ "name": "2cm FlaK 38(g)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF", "B10" ] },
"note_number": "72\u2020",
"notes": [ "B", "E", "G\u20201", "R" ],
@@ -256,7 +241,6 @@
},
{ "name": "3.7cm FlaK 36(g)",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "73\u2020",
"notes": [ "B", "E", "R" ],
"id": "axc/o:029",
@@ -264,7 +248,6 @@
},
{ "name": "Bofors 40mm",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ] },
"note_number": "74\u2020",
"notes": [ "C", "G\u20201", "H", "R", "S" ],
@@ -273,7 +256,6 @@
},
{ "name": "Skoda M33",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "75",
"notes": [ "R", "S" ],
"id": "axc/o:031",
@@ -281,7 +263,6 @@
},
{ "name": "8.8cm FlaK 18 o. 36(g)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "88\u20201", "1 ROF", "B11" ] },
"note_number": "76\u2020",
"notes": [ "B", "E", "G\u20201", "R", "S" ],
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/croatian.json b/vasl_templates/webapp/data/ordnance/axis-minor/croatian.json
index ec1978a..235192b 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/croatian.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/croatian.json
@@ -2,8 +2,7 @@
{ "name": "Cannone da 65/17",
"type": "INF",
- "capabilities": [ "NT" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "No Gunshield" ],
"note_number": "35",
"notes": [ "A" ],
"id": "cr/o:000",
@@ -11,7 +10,6 @@
},
{ "name": "Skoda M28(FE)",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "36",
"notes": [ "A" ],
"id": "cr/o:001",
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/hungarian.json b/vasl_templates/webapp/data/ordnance/axis-minor/hungarian.json
index 04351c4..6de9094 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/hungarian.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/hungarian.json
@@ -2,23 +2,21 @@
{ "name": "5cm leGrW 39(h)",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "23",
"notes": [ "A" ],
"id": "hu/o:000",
- "gpid": null
+ "gpid": 3959
},
{ "name": "40mm MAVAG 40 M",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": "7[9]\u2020" },
+ "comments": [ "QSU", "H7[9]: vs vehicle or HEAT-allowed target " ],
"note_number": "24\u2020",
"id": "hu/o:001",
"gpid": 3993
},
{ "name": "Skoda M05/08",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "25",
"notes": [ "A" ],
"id": "hu/o:002",
@@ -26,15 +24,15 @@
},
{ "name": "105mm MAVAG M40",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
+ "comments": [ "Horse-Drawn" ],
"note_number": "26",
"id": "hu/o:003",
"gpid": 4001
},
{ "name": "Bofors 80mm M29/38",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "80\u20201", "1 ROF", "B11" ] },
+ "comments": [ "AP TK# = 17" ],
"note_number": "27\u2020",
"notes": [ "G\u20201" ],
"id": "hu/o:004",
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/romanian.json b/vasl_templates/webapp/data/ordnance/axis-minor/romanian.json
index 9e7e54b..3555405 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/romanian.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/romanian.json
@@ -3,7 +3,6 @@
{ "name": "Brandt M35",
"type": "MTR",
"capabilities": [ "IR" ],
- "capabilities_other": [ "5PP" ],
"note_number": "1",
"notes": [ "A" ],
"id": "ro/o:000",
@@ -11,7 +10,7 @@
},
{ "name": "Bofors 37mm",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"notes": [ "A" ],
"id": "ro/o:001",
@@ -19,24 +18,22 @@
},
{ "name": "45mm PTP obr. 32",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"id": "ro/o:002",
"gpid": 3741
},
{ "name": "Resita M43",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "capabilities_other": [ "AP TK#18\u2020" ],
- "comments": [ "Blk TH" ],
+ "comments": [ "QSU", "Black TH#", "AP TK# = 18" ],
"note_number": "4\u2020",
"id": "ro/o:003",
"gpid": 3742
},
{ "name": "76.2mm PaK 36(r)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU", "AP TK# = 16" ],
"note_number": "5",
"notes": [ "K\u2020" ],
"id": "ro/o:004",
@@ -44,8 +41,7 @@
},
{ "name": "Breda 47",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield" ],
"note_number": "6\u2020",
"notes": [ "A" ],
"id": "ro/o:005",
@@ -53,8 +49,8 @@
},
{ "name": "75mm PP obr. 27",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "7",
"notes": [ "A" ],
"id": "ro/o:006",
@@ -62,8 +58,8 @@
},
{ "name": "75 M mle 28",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "AP": 5, "s": 5 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "8",
"notes": [ "A" ],
"id": "ro/o:007",
@@ -71,7 +67,6 @@
},
{ "name": "Skoda M14/34",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 6 },
"note_number": "9\u2020",
"notes": [ "A\u2020" ],
@@ -80,24 +75,24 @@
},
{ "name": "76.2mm P obr. 00/02",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "10",
"id": "ro/o:009",
"gpid": 3748
},
{ "name": "76.2mm P obr. 02/30",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 7 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "11",
"id": "ro/o:010",
"gpid": 3749
},
{ "name": "76.2mm P obr. 39(r)",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 5 },
+ "comments": [ "QSU", "AP TK# = 13" ],
"note_number": "12",
"notes": [ "K\u2020" ],
"id": "ro/o:011",
@@ -105,8 +100,8 @@
},
{ "name": "s 10cm K 18(g)",
"type": "ART",
- "capabilities": [ "NT", "NM" ],
"capabilities2": { "s": 5 },
+ "comments": [ "No Move" ],
"note_number": "13",
"notes": [ "E" ],
"id": "ro/o:012",
@@ -114,29 +109,26 @@
},
{ "name": "Skoda M39(D9)",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "14",
"id": "ro/o:013",
"gpid": 3752
},
{ "name": "Canon de 105L mle 36S",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "15",
"id": "ro/o:014",
"gpid": 3753
},
{ "name": "Canon mle 10/12",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 4 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "16",
"id": "ro/o:015",
"gpid": 3754
},
{ "name": "OQF 4.5in",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 4 },
"note_number": "17",
"id": "ro/o:016",
@@ -144,37 +136,32 @@
},
{ "name": "Skoda M28 NOa",
"type": "ART",
- "capabilities": [ "NM" ],
- "capabilities_other": [ "ST" ],
- "comments": [ "No IF." ],
+ "comments": [ "No Move", "No IF" ],
"note_number": "18",
"id": "ro/o:017",
"gpid": 3756
},
{ "name": "Skoda M33 (K1)",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "19",
"id": "ro/o:018",
"gpid": 3757
},
{ "name": "CA mle 38",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "20",
"id": "ro/o:019",
"gpid": 3758
},
{ "name": "Vickers/Resita M36/39",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "21\u2020",
"id": "ro/o:020",
"gpid": 3759
},
{ "name": "Kanon PL vz. 12/20",
"type": "AA",
- "capabilities": [ "T", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "22",
"id": "ro/o:021",
"gpid": 3760
diff --git a/vasl_templates/webapp/data/ordnance/axis-minor/slovakian.json b/vasl_templates/webapp/data/ordnance/axis-minor/slovakian.json
index 63d34ae..6ebed7e 100644
--- a/vasl_templates/webapp/data/ordnance/axis-minor/slovakian.json
+++ b/vasl_templates/webapp/data/ordnance/axis-minor/slovakian.json
@@ -2,7 +2,7 @@
{ "name": "Minomet vz. 36",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "28",
"notes": [ "A" ],
"id": "sl/o:000",
@@ -10,8 +10,8 @@
},
{ "name": "Kanon PUV vz. 36(t)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,1], [4,2] ] },
+ "comments": [ "QSU" ],
"note_number": "29",
"notes": [ "E" ],
"id": "sl/o:001",
@@ -19,8 +19,8 @@
},
{ "name": "leIG 18(g)",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ ["7","3+"] ] },
+ "comments": [ "QSU" ],
"note_number": "30",
"notes": [ "A", "E" ],
"id": "sl/o:002",
@@ -28,7 +28,6 @@
},
{ "name": "Skoda M37(K4)",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6 },
"note_number": "31",
"id": "sl/o:003",
@@ -36,8 +35,7 @@
},
{ "name": "Skoda 47L40(t)",
"type": "AA",
- "capabilities": [ "T", "QSU" ],
- "comments": [ "AA Fire ROF 2\u2020" ],
+ "comments": [ "QSU", "vs Aircraft: ROF = 2" ],
"note_number": "32\u2020",
"notes": [ "E" ],
"id": "sl/o:004",
@@ -45,7 +43,6 @@
},
{ "name": "Skoda PL vz. 37(t)",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "33",
"notes": [ "E" ],
"id": "sl/o:005",
@@ -53,7 +50,7 @@
},
{ "name": "Kanon PL vz. 22/24",
"type": "AA",
- "capabilities_other": [ "ST" ],
+ "comments": [ "AP TK# = 17" ],
"note_number": "34\u2020",
"id": "sl/o:006",
"gpid": 3768
diff --git a/vasl_templates/webapp/data/ordnance/british.json b/vasl_templates/webapp/data/ordnance/british.json
index a2c21ed..f200d21 100644
--- a/vasl_templates/webapp/data/ordnance/british.json
+++ b/vasl_templates/webapp/data/ordnance/british.json
@@ -2,7 +2,6 @@
{ "name": "OML 2-in. Mortar",
"type": "MTR",
- "capabilities": [ "4PP" ],
"capabilities2": { "s": 7, "IR": [ [null,"2+"], "\u2020" ] },
"note_number": "1",
"notes": [ "A\u2020", "N", "P" ],
@@ -13,15 +12,14 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "s": 7 },
- "capabilities_other": [ "3PP" ],
"note_number": "1",
"id": "br/o:001",
"gpid": 1149
},
{ "name": "OML 3-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 7, "s": [ [8,"1+"], "\u2020" ], "IR": [ [null,"2+"], "\u20201" ] },
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"notes": [ "A\u20201", "D", "N", "P" ],
"id": "br/o:002",
@@ -29,9 +27,8 @@
},
{ "name": "OSB 4.2-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8, "WP": 7 },
- "comments": [ "Towed\u2020" ],
+ "comments": [ "Towed" ],
"note_number": "3\u2020",
"notes": [ "N", "P" ],
"id": "br/o:003",
@@ -39,7 +36,7 @@
},
{ "name": "OQF 25mm Hotchkiss",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU", "{? 01/1941-08/1943 | En Portee (15-cwt truck) | En Portee NA | En Portee41-8/43 ?}" ],
"note_number": "4\u2020",
"notes": [ "B", "N" ],
"id": "br/o:004",
@@ -47,8 +44,8 @@
},
{ "name": "OQF 2-Pounder",
"type": "AT",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "40\u20201", "2 ROF", "B11" ] },
+ "comments": [ "{? 01/1941-08/1943 | En Portee (30-cwt lorry) | En Portee NA | En Portee41-8/43 ?}" ],
"note_number": "5\u2020",
"notes": [ "B", "C\u20201", "N", "P" ],
"id": "br/o:005",
@@ -56,8 +53,8 @@
},
{ "name": "OQF 6-Pounder 7-cwt",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "HE": [ [7,"F3"], [8,"4+"], "\u2020" ], "D": [ [6,"J4E"], [7,5], "\u2020" ] },
+ "comments": [ "QSU", "CA restrictions", "{? 01/1941-08/1943 | En Portee (3-ton lorry) | En Portee NA | En Portee41-8/43 ?}", "{? 01/1941-08/1943 | Portee Fire OK [EXC: Bnd (F)F NA] | | Portee Fire41-8/43 ?}" ],
"note_number": "6\u2020",
"notes": [ "B", "N", "P" ],
"id": "br/o:006",
@@ -65,7 +62,6 @@
},
{ "name": "OQF 17/25-Pounder",
"type": "AT",
- "capabilities": [ "NT" ],
"note_number": "7",
"notes": [ "N" ],
"id": "br/o:007",
@@ -73,7 +69,6 @@
},
{ "name": "OQF 17-Pounder",
"type": "AT",
- "capabilities": [ "NT" ],
"capabilities2": { "HE": [ [8,"J4+"], "\u2020" ], "D": [ [5,"S4"], [6,5], "\u2020" ] },
"note_number": "8\u2020",
"id": "br/o:008",
@@ -81,8 +76,8 @@
},
{ "name": "OQF M1A1 75mm Pack Howitzer",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "WP": 7 },
+ "comments": [ "QSU" ],
"note_number": "9\u2020",
"notes": [ "D", "P" ],
"id": "br/o:009",
@@ -90,8 +85,8 @@
},
{ "name": "Canon de 75 mle 1897",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "{? 01/1941-08/1943 | En Portee (3-ton lorry) | En Portee NA | En Portee41-8/43 ?}" ],
"note_number": "10\u2020",
"notes": [ "B", "N" ],
"id": "br/o:010",
@@ -99,8 +94,8 @@
},
{ "name": "OQF 18-Pounder",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8, "WP": 7 },
+ "comments": [ "QSU" ],
"note_number": "11\u2020",
"notes": [ "N", "P" ],
"id": "br/o:011",
@@ -108,8 +103,8 @@
},
{ "name": "OQF 25-Pounder Short",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "12",
"notes": [ "D", "P" ],
"id": "br/o:012",
@@ -118,7 +113,6 @@
{ "name": "OQF 25-Pounder Gun-Howitzer",
"type": "ART",
"capabilities2": { "LF": [ "NT", "0 ROF" ], "s": 8 },
- "capabilities_other": [ "ST" ],
"note_number": "13\u2020",
"notes": [ "N", "P" ],
"id": "br/o:013",
@@ -126,8 +120,8 @@
},
{ "name": "OQF 3.7-in. Howitzer",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8, "WP": 7, "H": [ [6,"3+P"], "\u2020" ] },
+ "comments": [ "QSU" ],
"note_number": "14\u2020",
"notes": [ "D", "N", "P" ],
"id": "br/o:014",
@@ -135,7 +129,6 @@
},
{ "name": "OQF 4.5-in. Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8, "WP": 7 },
"note_number": "15\u2020",
"notes": [ "N", "P" ],
@@ -144,7 +137,6 @@
},
{ "name": "OBL 4.5-in. Gun",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "16\u2020",
"notes": [ "N" ],
"id": "br/o:016",
@@ -152,7 +144,6 @@
},
{ "name": "OBL 5.5-in. Gun-Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "16\u2020",
"notes": [ "N", "P" ],
"id": "br/o:017",
@@ -160,7 +151,6 @@
},
{ "name": "OBL 6-in. Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "17\u2020",
"notes": [ "N", "P" ],
"id": "br/o:018",
@@ -168,8 +158,7 @@
},
{ "name": "OBL 7.2-in. Howitzer Mk I",
"type": "ART",
- "capabilities": [ "NT" ],
- "comments": [ "No IF.", "Acq. NA\u2020" ],
+ "comments": [ "No IF", "Acquisition NA" ],
"note_number": "18\u2020",
"notes": [ "N", "P" ],
"id": "br/o:019",
@@ -177,8 +166,7 @@
},
{ "name": "OBL 7.2-in. Howitzer Mk VI",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "19\u2020",
"notes": [ "P" ],
"id": "br/o:020",
@@ -186,14 +174,12 @@
},
{ "name": "OQF 20mm AA",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "20",
"id": "br/o:021",
"gpid": 1203
},
{ "name": "OQF 40mm AA",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ] },
"note_number": "21\u2020",
"notes": [ "C\u20201", "N", "P" ],
@@ -202,7 +188,6 @@
},
{ "name": "OQF 3-in. 20-cwt AA",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "22\u2020",
"notes": [ "E", "P" ],
"id": "br/o:023",
@@ -210,7 +195,6 @@
},
{ "name": "OQF 3.7-in. AA",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "23\u2020",
"notes": [ "E", "N", "P" ],
"id": "br/o:024",
diff --git a/vasl_templates/webapp/data/ordnance/chinese.json b/vasl_templates/webapp/data/ordnance/chinese.json
index 607a449..02d8125 100644
--- a/vasl_templates/webapp/data/ordnance/chinese.json
+++ b/vasl_templates/webapp/data/ordnance/chinese.json
@@ -2,8 +2,7 @@
{ "name": "Type 27 Grenade Launcher",
"type": "MTR",
- "capabilities_other": [ "2PP" ],
- "comments": [ "Air Bursts NA\u2020" ],
+ "comments": [ "Air Bursts NA" ],
"note_number": "1\u2020",
"notes": [ "A" ],
"id": "ch/o:000",
@@ -11,7 +10,7 @@
},
{ "name": "Mortaio da 45 \"Brixia\"",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
+ "comments": [ "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "2",
"notes": [ "A", "D\u2020" ],
"id": "ch/o:001",
@@ -19,7 +18,6 @@
},
{ "name": "5cm leGrW 36",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "2",
"notes": [ "A" ],
"id": "ch/o:002",
@@ -27,7 +25,6 @@
},
{ "name": "50mm RM obr. 38",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "2",
"notes": [ "A" ],
"id": "ch/o:003",
@@ -37,7 +34,7 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "s": 5, "WP": 5 },
- "capabilities_other": [ "4PP" ],
+ "comments": [ "HE ≤ 2 hexes: ", "Smoke: Range 3-10 hexes", "WP: Range 1-5 hexes - ROF 1
- Dispersed
- Air Bursts NA
", "Japanese: No Captured Use penalty; Cave OK" ],
"note_number": "2\u2020",
"notes": [ "A" ],
"id": "ch/o:004",
@@ -46,7 +43,6 @@
{ "name": "M2 60mm",
"type": "MTR",
"capabilities": [ "IR" ],
- "capabilities_other": [ "5PP", "OBA\u2020" ],
"note_number": "3\u2020",
"notes": [ "A" ],
"id": "ch/o:005",
@@ -54,7 +50,7 @@
},
{ "name": "Stokes 3-in.",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "4",
"notes": [ "A", "E\u2020" ],
"id": "ch/o:006",
@@ -62,8 +58,9 @@
},
{ "name": "8cm GrW 34",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "4",
"notes": [ "A", "E\u2020" ],
"id": "ch/o:007",
@@ -71,8 +68,9 @@
},
{ "name": "82mm BM obr. 37",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "4",
"notes": [ "A", "E\u2020" ],
"id": "ch/o:008",
@@ -80,8 +78,8 @@
},
{ "name": "M1 81mm",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 7 },
+ "comments": [ "QSU" ],
"note_number": "5",
"notes": [ "A", "B" ],
"id": "ch/o:009",
@@ -89,8 +87,8 @@
},
{ "name": "M2 4.2-in.",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 9 },
+ "comments": [ "QSU", "Area FP = 12" ],
"note_number": "5\u2020",
"notes": [ "B" ],
"id": "ch/o:010",
@@ -98,7 +96,7 @@
},
{ "name": "3.7cm PaK 35/36",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "6",
"notes": [ "E\u2020" ],
"id": "ch/o:011",
@@ -106,8 +104,8 @@
},
{ "name": "M3A1 37mm",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "C": "7\u20201" },
+ "comments": [ "QSU" ],
"note_number": "6\u2020",
"notes": [ "C\u20201" ],
"id": "ch/o:012",
@@ -115,8 +113,7 @@
},
{ "name": "37mm PP obr. 15R",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "Low Ammo\u2020" ],
+ "comments": [ "QSU", "Horse-Drawn", "Low Ammo" ],
"note_number": "7\u2020",
"notes": [ "B" ],
"id": "ch/o:013",
@@ -124,8 +121,7 @@
},
{ "name": "Cannone da 70/15",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "Acq. NA\u2020", "Low Ammo\u2020" ],
+ "comments": [ "QSU", "Acquisition NA", "Low Ammo", "Horse-Drawn" ],
"note_number": "7\u2020",
"notes": [ "A", "B" ],
"id": "ch/o:014",
@@ -133,8 +129,8 @@
},
{ "name": "7.5cm Krupp M08",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 5, "AP": 5 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "8",
"notes": [ "A", "F\u2020" ],
"id": "ch/o:015",
@@ -142,7 +138,7 @@
},
{ "name": "Obice da 75/13",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn", "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "8",
"notes": [ "A", "D\u2020", "F\u20201" ],
"id": "ch/o:016",
@@ -150,15 +146,15 @@
},
{ "name": "7.5cm leIG 18",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "9\u2020",
"id": "ch/o:017",
"gpid": 2034
},
{ "name": "76.2mm PP obr. 27",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6, "AP": 6 },
+ "comments": [ "QSU", "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "9\u20201",
"notes": [ "D\u2020" ],
"id": "ch/o:018",
@@ -166,8 +162,8 @@
},
{ "name": "M1A1 75mm Pack Howitzer",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "WP": 7, "C": "5\u20201" },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "10\u2020",
"notes": [ "A", "C\u20201" ],
"id": "ch/o:019",
@@ -175,8 +171,8 @@
},
{ "name": "7.7cm FK 16",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 5, "AP": 6 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "11",
"notes": [ "F\u2020" ],
"id": "ch/o:020",
@@ -184,8 +180,8 @@
},
{ "name": "76.2mm P obr. 02/30",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "AP": 6 },
+ "comments": [ "QSU", "Horse-Drawn", "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "11",
"notes": [ "D\u2020", "F\u20201" ],
"id": "ch/o:021",
@@ -193,8 +189,8 @@
},
{ "name": "OQF 18-Pounder",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "WP": 5, "AP": 6 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "11",
"notes": [ "B" ],
"id": "ch/o:022",
@@ -202,8 +198,8 @@
},
{ "name": "10.5cm leFH 16",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 6 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "12\u2020",
"notes": [ "A" ],
"id": "ch/o:023",
@@ -211,7 +207,6 @@
},
{ "name": "Cannone da 105/28",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6, "AP": 5 },
"note_number": "12",
"notes": [ "F\u2020" ],
@@ -220,7 +215,6 @@
},
{ "name": "M2A1 105mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6, "WP": 7, "C": "5\u2020" },
"note_number": "12",
"notes": [ "B", "C\u2020" ],
@@ -229,8 +223,8 @@
},
{ "name": "122mm G obr. 10/30",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 6 },
+ "comments": [ "Horse-Drawn", "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "13",
"notes": [ "B", "D\u2020" ],
"id": "ch/o:026",
@@ -238,8 +232,8 @@
},
{ "name": "122mm G obr. 38",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6 },
+ "comments": [ "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "13",
"notes": [ "B", "D\u2020" ],
"id": "ch/o:027",
@@ -247,15 +241,14 @@
},
{ "name": "Obice da 149/13",
"type": "ART",
- "capabilities": [ "NT", "h-dC\u2020" ],
"capabilities2": { "s": 5, "WP": [ [6,"B"], "\u2020" ] },
+ "comments": [ "China: Horse-Drawn only" ],
"note_number": "14\u2020",
"id": "ch/o:028",
"gpid": 2050
},
{ "name": "Oerlikon FF",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B10" ] },
"note_number": "15\u20201",
"notes": [ "G\u2020" ],
@@ -264,8 +257,8 @@
},
{ "name": "Cannone-mitragliera da 20/65",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF" ] },
+ "comments": [ "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "15\u20202",
"notes": [ "D\u2020", "G\u20201" ],
"id": "ch/o:030",
@@ -273,7 +266,6 @@
},
{ "name": "2cm FlaK 30",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B10" ] },
"note_number": "15\u20201",
"notes": [ "G\u2020" ],
@@ -282,7 +274,6 @@
},
{ "name": "3.7cm FlaK 36 o. 37",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "AP": 6 },
"note_number": "16",
"notes": [ "B" ],
@@ -291,7 +282,6 @@
},
{ "name": "Bofors 40mm L/60",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ], "AP": 6 },
"note_number": "16\u2020",
"notes": [ "G\u20201" ],
@@ -300,8 +290,8 @@
},
{ "name": "Bofors 75mm M29",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "75\u20201", "1 ROF", "B10\u2020" ], "AP": 6 },
+ "comments": [ "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "17",
"notes": [ "B", "D\u2020", "G\u20201" ],
"id": "ch/o:034",
@@ -309,8 +299,8 @@
},
{ "name": "8.8cm FlaK 18",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "88\u20201", "1 ROF", "B10\u2020" ], "AP": 6 },
+ "comments": [ "{? -12/1940 | B# = 11 | B# = (11) | B# (11)1+ ?}" ],
"note_number": "17",
"notes": [ "B", "D\u2020", "G\u20201" ],
"id": "ch/o:035",
diff --git a/vasl_templates/webapp/data/ordnance/finnish.json b/vasl_templates/webapp/data/ordnance/finnish.json
index 834b9f0..7fc9369 100644
--- a/vasl_templates/webapp/data/ordnance/finnish.json
+++ b/vasl_templates/webapp/data/ordnance/finnish.json
@@ -2,7 +2,6 @@
{ "name": "47 Krh/41",
"type": "MTR",
- "capabilities_other": [ "2PP" ],
"note_number": "1",
"notes": [ "A" ],
"id": "fi/o:000",
@@ -10,8 +9,7 @@
},
{ "name": "50 Krh/39(r)",
"type": "MTR",
- "capabilities": [ "4PP" ],
- "capabilities2": { "B": [ [12,"3+"], "\u2020" ] },
+ "comments": [ "{? 01/1943- | B# = 12 | | B123+ ?}" ],
"note_number": "2\u2020",
"notes": [ "A", "B" ],
"id": "fi/o:001",
@@ -19,9 +17,8 @@
},
{ "name": "81 Krh/32",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": [ [8,"N1"], "\u2020" ], "IR": [ [null,"3+"], "\u2020" ] },
- "capabilities_other": [ "5PP dm" ],
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"notes": [ "A" ],
"id": "fi/o:002",
@@ -29,8 +26,8 @@
},
{ "name": "81 Savunheitin M/42",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
- "capabilities_other": [ "s\u2020", "4PP dm" ],
+ "capabilities": [ "s\u2020" ],
+ "comments": [ "QSU", "Smoke only", "∞ Smoke", "{? 01/1943- | Range: 2-25 | Range: 2-18 | Range [2-25]3+ ?}" ],
"note_number": "4\u2020",
"notes": [ "A" ],
"id": "fi/o:003",
@@ -38,23 +35,21 @@
},
{ "name": "120 Krh/40",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "5\u2020",
"id": "fi/o:004",
"gpid": 6806
},
{ "name": "Boys ATR(b)",
"type": "ATR",
- "capabilities_other": [ "1PP" ],
- "comments": [ "\"British\"\u2020" ],
+ "comments": [ "AP TK# = 5", "No Long Range" ],
"note_number": "6\u2020",
"id": "fi/o:005",
- "gpid": null
+ "gpid": 6763
},
{ "name": "Lahti ATR",
"type": "ATR",
- "capabilities_other": [ "4PP", "B30.35\u2020" ],
- "comments": [ "Light AA fire in 44+\u2020" ],
+ "comments": [ "No Long Range", "As ordnance vs brown pillboxes", "{? 01/1944- | Light AA fire as MG | | Light AA fire as MG44 ?}" ],
"note_number": "7\u2020",
"notes": [ "A" ],
"id": "fi/o:006",
@@ -62,9 +57,7 @@
},
{ "name": "20 PstK/40",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "capabilities_other": [ "R2", "IFE=B10" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "QSU", "Tow NA", "IFE: B# = 10", "No Gunshield", "R2, X6" ],
"note_number": "8\u2020",
"notes": [ "C\u20201" ],
"id": "fi/o:007",
@@ -72,7 +65,7 @@
},
{ "name": "25 PstK/37(f)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "9\u2020",
"notes": [ "B", "D" ],
"id": "fi/o:008",
@@ -80,8 +73,8 @@
},
{ "name": "37 PstK/36(s)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "HE": [ [null,"1+"], "\u2020" ] },
+ "comments": [ "QSU" ],
"note_number": "10\u2020",
"notes": [ "A", "B" ],
"id": "fi/o:009",
@@ -89,8 +82,8 @@
},
{ "name": "37 PstK/37(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ ["6[9]","3+"], "\u2020" ] },
+ "comments": [ "QSU", "H6[9]: vs AFV or HEAT-allowed target " ],
"note_number": "11\u2020",
"notes": [ "B", "D" ],
"id": "fi/o:010",
@@ -98,7 +91,7 @@
},
{ "name": "45 PstK/32(r)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "12\u2020",
"notes": [ "B" ],
"id": "fi/o:011",
@@ -106,8 +99,8 @@
},
{ "name": "50 PstK/38(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 4 },
+ "comments": [ "QSU" ],
"note_number": "13",
"notes": [ "B" ],
"id": "fi/o:012",
@@ -115,9 +108,8 @@
},
{ "name": "75 PstK/97-38(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 8 },
- "capabilities_other": [ "H=B12" ],
+ "comments": [ "QSU", "HEAT: B# = 12" ],
"note_number": "14\u2020",
"notes": [ "B" ],
"id": "fi/o:013",
@@ -125,8 +117,8 @@
},
{ "name": "75 PstK/40(g)",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 3, "H": 4, "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "15",
"notes": [ "B" ],
"id": "fi/o:014",
@@ -134,8 +126,8 @@
},
{ "name": "76 RK/27(r)",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ ["6","J4+"], "\u2020" ], "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "16\u2020",
"notes": [ "A", "B" ],
"id": "fi/o:015",
@@ -143,24 +135,24 @@
},
{ "name": "75 K/02",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "17\u2020",
"id": "fi/o:016",
"gpid": 6819
},
{ "name": "76 LK/13",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "18",
"id": "fi/o:017",
"gpid": 6820
},
{ "name": "76 K/02(r)",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "19\u2020",
"notes": [ "B" ],
"id": "fi/o:018",
@@ -168,8 +160,8 @@
},
{ "name": "76 K/36(r)",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "20\u2020",
"notes": [ "B", "E\u20201" ],
"id": "fi/o:019",
@@ -177,8 +169,7 @@
},
{ "name": "87 K/95",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "No IF.", "Acq. NA\u2020" ],
+ "comments": [ "QSU", "No IF", "Horse-Drawn", "Acquisition NA" ],
"note_number": "21",
"notes": [ "F\u2020" ],
"id": "fi/o:020",
@@ -186,8 +177,7 @@
},
{ "name": "90 K/77",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "No IF.", "Acq. NA\u20201" ],
+ "comments": [ "QSU", "No IF", "Acquisition NA", "Horse-Drawn" ],
"note_number": "22\u2020",
"notes": [ "F\u20201" ],
"id": "fi/o:021",
@@ -195,8 +185,8 @@
},
{ "name": "105 H/33(g)",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "H": [ [6,"A4+"], "\u2020" ], "s": 8 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "23\u2020",
"notes": [ "B" ],
"id": "fi/o:022",
@@ -204,7 +194,6 @@
},
{ "name": "105 H/37",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6 },
"note_number": "24\u2020",
"id": "fi/o:023",
@@ -212,7 +201,6 @@
},
{ "name": "105 H/41(t)",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": [ [6,"A4+"], "\u2020" ], "s": 8 },
"note_number": "25\u2020",
"notes": [ "B" ],
@@ -221,7 +209,6 @@
},
{ "name": "107 K 10/13",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 5 },
"note_number": "26\u2020",
"id": "fi/o:025",
@@ -229,8 +216,7 @@
},
{ "name": "107 K/77(r)",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
- "comments": [ "No IF.", "Acq. NA\u20201" ],
+ "comments": [ "No IF", "Acquisition NA", "Horse-Drawn" ],
"note_number": "27\u2020",
"notes": [ "B", "F\u20201" ],
"id": "fi/o:026",
@@ -238,16 +224,17 @@
},
{ "name": "114 H/18(b)",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": [ [4,"4+"] ], "s": 8, "WP": [ [6,"4+"] ] },
+ "comments": [ "HEAT TK# = 15" ],
"note_number": "28\u2020",
+ "notes": [ "B" ],
"id": "fi/o:027",
"gpid": 6831
},
{ "name": "122 H/10(r)",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 6, "WP": [ [6,"4+"] ] },
+ "comments": [ "Horse-Drawn" ],
"note_number": "29\u2020",
"notes": [ "B" ],
"id": "fi/o:028",
@@ -255,8 +242,8 @@
},
{ "name": "150 H/40(g)",
"type": "ART",
- "capabilities": [ "NT", "NM" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "No Move" ],
"note_number": "30",
"notes": [ "B" ],
"id": "fi/o:029",
@@ -264,7 +251,6 @@
},
{ "name": "155 H/17(f)",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 6 },
"note_number": "31",
"notes": [ "B" ],
@@ -273,9 +259,7 @@
},
{ "name": "7.62 ItKK/31-40",
"type": "AA",
- "capabilities": [ "T", "QSU" ],
- "capabilities_other": [ "2 TK DR\u2020" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "QSU", "Tow NA", "2 TK DR", "[16] TH" ],
"note_number": "32\u2020",
"notes": [ "C\u20201" ],
"id": "fi/o:031",
@@ -283,7 +267,6 @@
},
{ "name": "20 ItK/30 BSW(g)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B10" ] },
"note_number": "33",
"notes": [ "B", "G\u2020" ],
@@ -292,7 +275,6 @@
},
{ "name": "20 ItK/38 BSW(g)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF", "B11" ] },
"note_number": "34\u2020",
"notes": [ "B", "G\u20201" ],
@@ -301,9 +283,8 @@
},
{ "name": "20 ItK/35 Br",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF" ] },
- "comments": [ "Road MP = 1\u2020" ],
+ "comments": [ "Road MP = 1" ],
"note_number": "35\u2020",
"notes": [ "A", "D", "G\u20201" ],
"id": "fi/o:034",
@@ -311,9 +292,8 @@
},
{ "name": "20 ItK/40 VKT",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u20201", "2 ROF", "8 IFE", "B11" ] },
- "capabilities_other": [ "2 TK DR\u2020", "Unhooking risk\u2020" ],
+ "comments": [ "2 TK DR", "Unhook Disable: dr 6" ],
"note_number": "36\u2020",
"notes": [ "D", "G\u20201" ],
"id": "fi/o:035",
@@ -321,7 +301,6 @@
},
{ "name": "40 ItK/35-39 B(s)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u20201", "2 ROF" ] },
"note_number": "37\u2020",
"notes": [ "B", "G\u20201" ],
@@ -330,7 +309,6 @@
},
{ "name": "76 ItK/28 B(s)",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "76\u2020", "1 ROF" ] },
"note_number": "38",
"notes": [ "B", "G\u2020" ],
@@ -339,7 +317,6 @@
},
{ "name": "76 ItK/31(r)",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "39",
"notes": [ "B", "E\u2020" ],
"id": "fi/o:038",
diff --git a/vasl_templates/webapp/data/ordnance/french.json b/vasl_templates/webapp/data/ordnance/french.json
index 3f247bb..2e5a09b 100644
--- a/vasl_templates/webapp/data/ordnance/french.json
+++ b/vasl_templates/webapp/data/ordnance/french.json
@@ -2,8 +2,6 @@
{ "name": "LG de 50 mle 37(f)",
"type": "MTR",
- "capabilities_other": [ "2PP" ],
- "comments": [ "crewed\u2020" ],
"note_number": "1",
"notes": [ "A", "B", "C\u2020", "E" ],
"id": "fr/o:000",
@@ -11,7 +9,6 @@
},
{ "name": "Mortier de 60 mle 35",
"type": "MTR",
- "capabilities": [ "5PP", "no OBA\u2020" ],
"capabilities2": { "IR": [ [null,"2+"], "\u2020" ] },
"note_number": "2\u2020",
"notes": [ "A", "B", "V" ],
@@ -20,8 +17,8 @@
},
{ "name": "Mortier de 81 mle 27/31",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"notes": [ "A", "B", "D", "V" ],
"id": "fr/o:002",
@@ -29,7 +26,7 @@
},
{ "name": "Fusil Antichar Boys",
"type": "ATR",
- "capabilities_other": [ "1PP" ],
+ "comments": [ "No Long Range" ],
"note_number": "4\u2020",
"notes": [ "B" ],
"id": "fr/o:003",
@@ -37,7 +34,7 @@
},
{ "name": "Canon AC de 25 SA-L mle 34",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU", "En Portee (C-K P17, Laffly S20TL, Citroën 23) - Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA]
- CA restrictions
" ],
"note_number": "5\u2020",
"notes": [ "B", "P" ],
"id": "fr/o:004",
@@ -45,7 +42,7 @@
},
{ "name": "Canon AC de 47 SA mle 37 APX",
"type": "AT",
- "capabilities": [ "NT", "QSU", "APCR only\u20201" ],
+ "comments": [ "QSU", "APCR only", "{? -12/1940 | En Portee NA | En Portee (Renault AGR2) | En Portee41+ (Renault AGR2) ?}" ],
"note_number": "6\u20201",
"notes": [ "B", "G\u2020", "P", "V" ],
"id": "fr/o:005",
@@ -53,10 +50,8 @@
},
{ "name": "Canon de 75 AC mle 97/35",
"type": "AT",
- "capabilities": [ "h-d" ],
"capabilities2": { "LF": [ "NT" ], "HE": 7, "s": 6 },
- "capabilities_other": [ "ST" ],
- "comments": [ "no shield" ],
+ "comments": [ "Horse-Drawn", "No Gunshield" ],
"note_number": "7",
"notes": [ "E" ],
"id": "fr/o:006",
@@ -64,8 +59,7 @@
},
{ "name": "Canon de 37 mle 16 TR",
"type": "INF",
- "capabilities_other": [ "5PP (3PP dm)" ],
- "comments": [ "crewed\u2020" ],
+ "comments": [ "No Gunshield", "As HMG" ],
"note_number": "8\u20201",
"notes": [ "A", "C\u2020" ],
"id": "fr/o:007",
@@ -73,8 +67,7 @@
},
{ "name": "Canon de 65 M mle 06",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield", "Horse-Drawn", "En Portee (Renault AGR2) " ],
"note_number": "9\u2020",
"notes": [ "A", "P" ],
"id": "fr/o:008",
@@ -82,8 +75,8 @@
},
{ "name": "Canon de 75 M mle 28",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 6, "AP": 5 },
+ "comments": [ "QSU", "Horse-Drawn", "{? -12/1940 | En Portee NA | En Portee (Renault AGR2) - Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA]
- CA restrictions
| En Portee41+ (Renault AGR2) - Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA]<
- CA restrictions
?}" ],
"note_number": "10\u2020",
"notes": [ "A", "P" ],
"id": "fr/o:009",
@@ -91,8 +84,8 @@
},
{ "name": "Canon de 75 mle 1897",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "{? -12/1940 | En Portee NA | En Portee (Renault AGR2) - Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA]
- CA restrictions
| En Portee41+ (Renault AGR2) - Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA]
- CA restrictions
?}" ],
"note_number": "11\u2020",
"notes": [ "B", "P" ],
"id": "fr/o:010",
@@ -100,7 +93,7 @@
},
{ "name": "Canon de 105 M mle 28",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
+ "comments": [ "Horse-Drawn", "En Portee (Renault AGR2) " ],
"note_number": "12\u2020",
"notes": [ "A", "P" ],
"id": "fr/o:011",
@@ -108,7 +101,6 @@
},
{ "name": "Canon de 105 C mle 35 B",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "13",
"notes": [ "E", "F\u2020" ],
"id": "fr/o:012",
@@ -116,7 +108,7 @@
},
{ "name": "Canon de 105 L mle 13 S",
"type": "ART",
- "capabilities": [ "NT" ],
+ "comments": [ "En Portee (Renault AGR2) " ],
"note_number": "14\u2020",
"notes": [ "P" ],
"id": "fr/o:013",
@@ -124,7 +116,6 @@
},
{ "name": "Canon de 105 L mle 36 S",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "15",
"notes": [ "E", "F\u2020" ],
"id": "fr/o:014",
@@ -132,7 +123,6 @@
},
{ "name": "Canon de 155 C mle 17 S",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "16\u2020",
"id": "fr/o:015",
@@ -140,16 +130,14 @@
},
{ "name": "Canon de 155 GPF",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "17\u2020",
"id": "fr/o:016",
"gpid": 1685
},
{ "name": "Mitrailleuse de 13.2 CAJ mle 30",
"type": "AA",
- "capabilities": [ "T", "2 TK DR\u20201" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "Tow NA", "2 TK DR", "16 [TH]" ],
"note_number": "18\u20201",
"notes": [ "B", "G\u2020", "V" ],
"id": "fr/o:017",
@@ -157,7 +145,6 @@
},
{ "name": "Mitrailleuse de 20 CA mle 39 O",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B11" ] },
"note_number": "19\u2020",
"id": "fr/o:018",
@@ -165,7 +152,6 @@
},
{ "name": "Canon Automatique de 25 CA mle 38",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "20\u20201",
"notes": [ "G\u2020" ],
"id": "fr/o:019",
@@ -173,7 +159,7 @@
},
{ "name": "Canon de 75 CA mle 32",
"type": "AA",
- "capabilities": [ "T", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "21\u2020",
"id": "fr/o:020",
"gpid": 1693
diff --git a/vasl_templates/webapp/data/ordnance/german.json b/vasl_templates/webapp/data/ordnance/german.json
index b5857c0..ec8cf12 100644
--- a/vasl_templates/webapp/data/ordnance/german.json
+++ b/vasl_templates/webapp/data/ordnance/german.json
@@ -2,7 +2,6 @@
{ "name": "5cm leGrW",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "1",
"notes": [ "N" ],
"id": "ge/o:000",
@@ -10,8 +9,9 @@
},
{ "name": "8cm GrW 34",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"notes": [ "N" ],
"id": "ge/o:001",
@@ -19,8 +19,8 @@
},
{ "name": "10cm NbW 35",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 10 },
+ "comments": [ "QSU" ],
"note_number": "3",
"notes": [ "O" ],
"id": "ge/o:002",
@@ -28,16 +28,15 @@
},
{ "name": "12cm GrW 42",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "4\u2020",
"id": "ge/o:003",
"gpid": 2491
},
{ "name": "2.8cm sPzB 41",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "comments": [ "uses APCR TK Table\u2020" ],
+ "comments": [ "QSU" ],
"note_number": "5\u2020",
"notes": [ "A\u2020", "N", "P" ],
"id": "ge/o:004",
@@ -45,8 +44,8 @@
},
{ "name": "3.7cm PaK 35/36",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,1], [5,2], [4,3], [3,4] ], "H": "6[9]\u2020" },
+ "comments": [ "QSU" ],
"note_number": "6",
"notes": [ "B\u2020", "N", "P" ],
"id": "ge/o:005",
@@ -54,8 +53,7 @@
},
{ "name": "4.2cm lePaK 41",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "comments": [ "uses APCR TK Table\u2020" ],
+ "comments": [ "QSU" ],
"note_number": "7",
"notes": [ "A\u2020", "NT" ],
"id": "ge/o:006",
@@ -63,8 +61,8 @@
},
{ "name": "5cm PaK 38",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,1], [6,2], [5,3], [4,4] ] },
+ "comments": [ "QSU" ],
"note_number": "8\u2020",
"notes": [ "N" ],
"id": "ge/o:007",
@@ -72,8 +70,8 @@
},
{ "name": "7.5cm PaK 97/38",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "9",
"notes": [ "NT" ],
"id": "ge/o:008",
@@ -81,8 +79,8 @@
},
{ "name": "7.5cm PaK 40",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,2], [4,3], [3,4] ], "s": 7 },
+ "comments": [ "QSU" ],
"note_number": "10\u2020",
"notes": [ "NT" ],
"id": "ge/o:009",
@@ -90,8 +88,8 @@
},
{ "name": "7.62cm PaK 36r",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,2], [4,3], [3,4] ], "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "11\u2020",
"notes": [ "N" ],
"id": "ge/o:010",
@@ -99,7 +97,6 @@
},
{ "name": "8.8cm PaK 43",
"type": "AT",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "88\u2020", "1 ROF", "B11", "M4", "-1" ] },
"note_number": "12",
"notes": [ "C\u2020" ],
@@ -108,22 +105,21 @@
},
{ "name": "8.8cm PaK 43/41",
"type": "AT",
- "capabilities": [ "NT" ],
"note_number": "13",
"id": "ge/o:012",
"gpid": 2501
},
{ "name": "12.8cm K 81/1",
"type": "AT",
- "capabilities": [ "NT", "NM" ],
+ "comments": [ "No Move" ],
"note_number": "14",
"id": "ge/o:013",
"gpid": 2502
},
{ "name": "7.5cm leIG 18",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 7 },
+ "comments": [ "QSU" ],
"note_number": "15",
"notes": [ "N", "O" ],
"id": "ge/o:014",
@@ -131,7 +127,6 @@
},
{ "name": "15cm sIG 33",
"type": "INF",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 7, "s": 8 },
"note_number": "16",
"notes": [ "N" ],
@@ -140,8 +135,8 @@
},
{ "name": "7.5cm LG 40",
"type": "RCL",
- "capabilities": [ "T", "QSU" ],
"capabilities2": { "H": 6 },
+ "comments": [ "QSU" ],
"note_number": "17",
"notes": [ "NT" ],
"id": "ge/o:016",
@@ -149,8 +144,8 @@
},
{ "name": "10.5cm LG 42",
"type": "RCL",
- "capabilities": [ "T", "QSU" ],
"capabilities2": { "H": 6, "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "18\u2020",
"notes": [ "NT" ],
"id": "ge/o:017",
@@ -158,15 +153,14 @@
},
{ "name": "7.5cm leFK 16nA",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "H": 5, "s": 8 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "19",
"id": "ge/o:018",
"gpid": 2509
},
{ "name": "10.5cm leFH 18",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 6, "s": 8 },
"note_number": "20",
"notes": [ "N" ],
@@ -175,8 +169,8 @@
},
{ "name": "s 10cm K 18",
"type": "ART",
- "capabilities": [ "NT", "NM" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "No Move" ],
"note_number": "21",
"notes": [ "N" ],
"id": "ge/o:020",
@@ -184,8 +178,8 @@
},
{ "name": "15cm sFH 18",
"type": "ART",
- "capabilities": [ "NT", "NM" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "No Move" ],
"note_number": "22",
"notes": [ "N" ],
"id": "ge/o:021",
@@ -193,8 +187,8 @@
},
{ "name": "15cm K 18",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
"capabilities2": { "AP": 6 },
+ "comments": [ "RFNM" ],
"note_number": "23",
"notes": [ "NT" ],
"id": "ge/o:022",
@@ -202,9 +196,8 @@
},
{ "name": "17cm K 18",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
"capabilities2": { "AP": 6 },
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "24",
"notes": [ "N" ],
"id": "ge/o:023",
@@ -212,7 +205,6 @@
},
{ "name": "2cm FlaK 30",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "20\u2020", "2 ROF", "B10", "NT" ] },
"note_number": "25",
"notes": [ "C\u2020", "N" ],
@@ -221,7 +213,6 @@
},
{ "name": "2cm FlaK 38",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "20\u2020", "2 ROF", "B11", "NT" ] },
"note_number": "26",
"notes": [ "C\u2020", "N" ],
@@ -230,8 +221,7 @@
},
{ "name": "2cm FlaKvierling 38",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "4TK DR\u2020" ],
+ "comments": [ "4 TK DR" ],
"note_number": "27\u2020",
"notes": [ "N" ],
"id": "ge/o:026",
@@ -239,7 +229,6 @@
},
{ "name": "3.7cm FlaK 36 o. 37",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "H": "5[9]\u2020" },
"note_number": "28",
"notes": [ "B\u2020", "N" ],
@@ -248,14 +237,12 @@
},
{ "name": "3.7cm FlaK 43",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "29",
"id": "ge/o:028",
"gpid": 2520
},
{ "name": "8.8cm FlaK 18 o. 36",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "A": [ [5,2], [4,3], [3,4] ], "LF": [ "88L\u2020", "1 ROF", "B11" ] },
"note_number": "30",
"notes": [ "C\u2020", "N" ],
diff --git a/vasl_templates/webapp/data/ordnance/italian.json b/vasl_templates/webapp/data/ordnance/italian.json
index cbcc8d7..ddf0b32 100644
--- a/vasl_templates/webapp/data/ordnance/italian.json
+++ b/vasl_templates/webapp/data/ordnance/italian.json
@@ -2,7 +2,6 @@
{ "name": "Mortaio da 45 \"Brixia\"",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
"note_number": "1",
"notes": [ "N" ],
"id": "it/o:000",
@@ -10,8 +9,9 @@
},
{ "name": "Mortaio da 81/14",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"notes": [ "N" ],
"id": "it/o:001",
@@ -19,7 +19,7 @@
},
{ "name": "Fucile-cc S",
"type": "ATR",
- "capabilities_other": [ "5PP" ],
+ "comments": [ "No Long Range", "AP TK# = 6" ],
"note_number": "3",
"notes": [ "N" ],
"id": "it/o:002",
@@ -27,7 +27,7 @@
},
{ "name": "Cannone-cc da 37/45",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU", "Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F]" ],
"note_number": "4\u2020",
"notes": [ "C", "N", "R" ],
"id": "it/o:003",
@@ -35,9 +35,7 @@
},
{ "name": "Cannone da 47/32",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
- "capabilities2": { "Towed": [ [null,"A1+"], "\u2020" ] },
- "comments": [ "No Gunshield." ],
+ "comments": [ "QSU", "No Gunshield", "{? 08/1941- | Tow OK | Tow NA | TowedA1+ ?}" ],
"note_number": "5\u2020",
"notes": [ "A", "C", "N" ],
"id": "it/o:004",
@@ -45,18 +43,17 @@
},
{ "name": "Cannone da 65/17",
"type": "INF",
- "capabilities": [ "NT" ],
"capabilities2": { "H": [ [6,"S2+"], "\u20201" ] },
- "comments": [ "No Gunshield." ],
+ "comments": [ "No Gunshield", "HEAT: TK# = 11", "En Portee (Autocarro M)" ],
"note_number": "6\u2020",
"notes": [ "A", "C", "H\u20201", "N" ],
+ "disabled_comments": [ "En Portee (Autocarro L)" ],
"id": "it/o:005",
"gpid": 3446
},
{ "name": "Cannone da 70/15",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "comments": [ "Acq. NA\u20201", "No Gunshield." ],
+ "comments": [ "QSU", "Acquisition NA", "No Gunshield", "Horse-Drawn" ],
"note_number": "7\u2020",
"notes": [ "A", "B\u20201", "R" ],
"id": "it/o:006",
@@ -64,7 +61,7 @@
},
{ "name": "Obice da 75/13",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "8\u2020",
"notes": [ "A" ],
"id": "it/o:007",
@@ -72,17 +69,18 @@
},
{ "name": "Cannone da 75/27",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ [6,"S2+"], "\u20201" ] },
+ "comments": [ "QSU", "En Portee (Autocarro P)" ],
"note_number": "9\u2020",
"notes": [ "A", "C", "H\u20201", "N" ],
+ "disabled_comments": [ "En Portee (Autocarro L)" ],
"id": "it/o:008",
"gpid": 3452
},
{ "name": "Obice da 75/18",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ [6,"S2+"], "\u20201" ], "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "10\u2020",
"notes": [ "A", "H\u20201", "N" ],
"id": "it/o:009",
@@ -90,8 +88,8 @@
},
{ "name": "Cannone da 75/32",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ [6,"S2+"], "\u20201" ], "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "11\u2020",
"notes": [ "H\u20201" ],
"id": "it/o:010",
@@ -99,8 +97,8 @@
},
{ "name": "Obice da 100/17",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": [ [6,"S2+"], "\u20201" ] },
+ "comments": [ "HEAT: TK# = 14" ],
"note_number": "12\u2020",
"notes": [ "A", "H\u20201", "N" ],
"id": "it/o:011",
@@ -108,7 +106,6 @@
},
{ "name": "Cannone da 105/28",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "13\u2020",
"notes": [ "N" ],
@@ -117,7 +114,6 @@
},
{ "name": "Obice 149/13",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "14\u2020",
"notes": [ "N" ],
"id": "it/o:013",
@@ -125,9 +121,8 @@
},
{ "name": "Cannone da 149/35",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
"capabilities2": { "s": 8 },
- "comments": [ "No IF.", "Acq. NA\u20201" ],
+ "comments": [ "RFNM", "No IF", "Acquisition NA" ],
"note_number": "15\u2020",
"notes": [ "B\u20201", "N", "R" ],
"id": "it/o:014",
@@ -135,7 +130,7 @@
},
{ "name": "Cannone da 149/40",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
+ "comments": [ "RFNM" ],
"note_number": "16\u2020",
"notes": [ "N" ],
"id": "it/o:015",
@@ -143,7 +138,6 @@
},
{ "name": "Cannone-mitragliera da 20/65",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF" ] },
"note_number": "17\u2020",
"notes": [ "A", "C", "N" ],
@@ -152,15 +146,13 @@
},
{ "name": "Cannone-aa da 75/39",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "\"16\" AP TK#\u2020" ],
+ "comments": [ "AP TK# = 16" ],
"note_number": "18\u2020",
"id": "it/o:017",
"gpid": 3462
},
{ "name": "Cannone-aa da 75/46",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "19\u2020",
"notes": [ "N" ],
"id": "it/o:018",
@@ -168,7 +160,6 @@
},
{ "name": "Cannone-aa da 90/53",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "20\u2020",
"notes": [ "N", "R" ],
"id": "it/o:019",
diff --git a/vasl_templates/webapp/data/ordnance/japanese.json b/vasl_templates/webapp/data/ordnance/japanese.json
index 5e8484f..bb5ad70 100644
--- a/vasl_templates/webapp/data/ordnance/japanese.json
+++ b/vasl_templates/webapp/data/ordnance/japanese.json
@@ -2,17 +2,17 @@
{ "name": "Type 89 Heavy Grenade Launcher",
"type": "MTR",
- "capabilities": [ "IR" ],
+ "capabilities": [ "IR", "s7\u2020" ],
"capabilities2": { "WP": "6\u2020" },
- "capabilities_other": [ "4PP", "s7\u2020" ],
+ "comments": [ "HE ≤ 2 hexes: ", "Smoke: Range 3-10 hexes", "WP: Range 1-5 hexes - ROF 1
- Dispersed
- Air Bursts NA
" ],
"note_number": "1\u2020",
"id": "ja/o:000",
"gpid": 3253
},
{ "name": "Year-11 Type Curved-Fire Infantry Gun",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "5PP dm\u20201" ],
"capabilities2": { "WP": 5 },
+ "comments": [ "QSU" ],
"note_number": "2\u2020",
"notes": [ "A", "B\u20201" ],
"id": "ja/o:001",
@@ -20,8 +20,8 @@
},
{ "name": "Type 97 Curved-Fire Infantry Gun",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 5 },
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"notes": [ "A" ],
"id": "ja/o:002",
@@ -29,8 +29,8 @@
},
{ "name": "Type 97 Light Close-Attack Gun",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "5PP dm\u20201" ],
"capabilities2": { "WP": 5 },
+ "comments": [ "QSU" ],
"note_number": "4\u2020",
"notes": [ "A", "B\u20201" ],
"id": "ja/o:003",
@@ -38,8 +38,7 @@
},
{ "name": "Type 97 Medium Close-Attack Gun",
"type": "MTR",
- "capabilities": [ "NT" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "Tow NA" ],
"note_number": "5\u2020",
"notes": [ "A", "C\u20201" ],
"id": "ja/o:004",
@@ -47,8 +46,7 @@
},
{ "name": "Type 97 Automatic Gun",
"type": "ATR",
- "capabilities_other": [ "5PP" ],
- "comments": [ "crew\u2020" ],
+ "comments": [ "Crewed", "No Long Range" ],
"note_number": "6\u2020",
"notes": [ "A" ],
"id": "ja/o:005",
@@ -56,7 +54,7 @@
},
{ "name": "Type 94 Rapid-Fire Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "7\u2020",
"notes": [ "A" ],
"id": "ja/o:006",
@@ -64,15 +62,14 @@
},
{ "name": "Type 1 Machine-Moved Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "8\u2020",
"id": "ja/o:007",
"gpid": 3286
},
{ "name": "Year-11 Type Flat-Trajectory Infantry Gun",
"type": "INF",
- "capabilities_other": [ "5PP (3PP dm)" ],
- "comments": [ "crewed\u2020" ],
+ "comments": [ "Crewed", "As HMG" ],
"note_number": "9\u2020",
"notes": [ "A" ],
"id": "ja/o:008",
@@ -80,8 +77,8 @@
},
{ "name": "Type 92 Infantry Gun",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "AP": 5, "WP": 5, "H": [ [6,5] ] },
+ "comments": [ "QSU", "Horse-Drawn", "Indirect Fire OK", "HEAT TK# = 12" ],
"note_number": "10\u2020",
"notes": [ "A" ],
"id": "ja/o:009",
@@ -89,8 +86,8 @@
},
{ "name": "Year-41 Type Mountain Gun",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "WP": 7, "H": [ [6,"4+"], "\u2020" ] },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "11\u2020",
"notes": [ "A" ],
"id": "ja/o:010",
@@ -98,31 +95,28 @@
},
{ "name": "Year-38 Type Field Gun (Improved)",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "WP": 6 },
- "capabilities_other": [ "\"12\" AP TK#\u2020" ],
+ "comments": [ "QSU", "Horse-Drawn", "AP TK# = 12" ],
"note_number": "12\u2020",
"id": "ja/o:011",
"gpid": 3291
},
{ "name": "Type 90 Field Gun",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 6 },
+ "comments": [ "QSU" ],
"note_number": "13\u2020",
"id": "ja/o:012",
"gpid": 3292
},
{ "name": "Type 91 10cm Field Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "14\u2020",
"id": "ja/o:013",
"gpid": 3293
},
{ "name": "Type 92 10cm Cannon",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 5, "WP": 5 },
"note_number": "15\u2020",
"id": "ja/o:014",
@@ -130,16 +124,15 @@
},
{ "name": "Year-38 Type 12cm Howitzer",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "AP": 5 },
+ "comments": [ "Horse-Drawn", "AP TK# = 13" ],
"note_number": "16\u2020",
"id": "ja/o:015",
"gpid": 3295
},
{ "name": "Year-3 Type 14cm Naval Seacoast Gun",
"type": "ART",
- "capabilities": [ "T" ],
- "capabilities_other": [ "NM\u2020" ],
+ "comments": [ "No Move", "AP TK# = 32" ],
"note_number": "17\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:016",
@@ -147,16 +140,14 @@
},
{ "name": "Year-4 Type 15cm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 5, "WP": 5 },
- "comments": [ "Towing risk\u2020" ],
+ "comments": [ "AP TK# = 17", "Tow Disable: 6 MF/MP & dr 6" ],
"note_number": "18\u2020",
"id": "ja/o:017",
"gpid": 3297
},
{ "name": "Type 96 15cm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "AP": 5, "WP": 5 },
"note_number": "19\u2020",
"notes": [ "E" ],
@@ -165,8 +156,7 @@
},
{ "name": "Type 93 Twin-Mount High-Angle Machine Gun",
"type": "AA",
- "capabilities": [ "T", "2 TK DR\u2020" ],
- "comments": [ "Towing NA\u20201" ],
+ "comments": [ "Tow NA", "2 TK DR", "[16] TH" ],
"note_number": "20\u2020",
"notes": [ "A", "C\u20201", "E" ],
"id": "ja/o:019",
@@ -174,7 +164,6 @@
},
{ "name": "Type 98 High-Angle Machine Cannon",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF" ] },
"note_number": "21\u2020",
"notes": [ "A" ],
@@ -183,8 +172,7 @@
},
{ "name": "Type 96 Naval High-Angle Machine Cannon",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "NM\u2020" ],
+ "comments": [ "No Move" ],
"note_number": "22\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:021",
@@ -192,7 +180,7 @@
},
{ "name": "Type 96 Twin-Mount Naval High-Angle Machine Cannon",
"type": "AA",
- "capabilities": [ "T", "NM\u2020", "2 TK DR\u20201" ],
+ "comments": [ "No Move", "Multiple Hits NA", "2 TK DR" ],
"note_number": "22\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:022",
@@ -200,7 +188,7 @@
},
{ "name": "Type 96 Triple-Mount Naval High-Angle Machine Cannon",
"type": "AA",
- "capabilities": [ "T", "NM\u2020", "3 TK DR\u20201" ],
+ "comments": [ "No Move", "Multiple Hits NA", "3 TK DR" ],
"note_number": "22\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:023",
@@ -208,7 +196,6 @@
},
{ "name": "Type 88 7.5cm Mobile Field High-Angle Gun",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "23\u2020",
"notes": [ "E" ],
"id": "ja/o:024",
@@ -216,8 +203,7 @@
},
{ "name": "Year-10 Type 12cm Naval High-Angle Gun",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "NM\u2020" ],
+ "comments": [ "No Move", "AP TK# = 27" ],
"note_number": "24\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:025",
@@ -225,7 +211,7 @@
},
{ "name": "Type 10 8cm Naval High-Angle Gun",
"type": "AA",
- "capabilities": [ "T", "NM\u2020", "\"13\" AP TK\u20201" ],
+ "comments": [ "No Move", "AP TK# = 13" ],
"note_number": "25\u20201",
"notes": [ "D\u2020", "E" ],
"id": "ja/o:026",
diff --git a/vasl_templates/webapp/data/ordnance/kfw/bcfk.json b/vasl_templates/webapp/data/ordnance/kfw/bcfk.json
index 9a8af9b..2c6eb03 100644
--- a/vasl_templates/webapp/data/ordnance/kfw/bcfk.json
+++ b/vasl_templates/webapp/data/ordnance/kfw/bcfk.json
@@ -4,7 +4,6 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "s": 7 },
- "capabilities_other": [ "4PP" ],
"note_number": "14",
"notes": [ "A", "N" ],
"id": "kfw-bcfk/o:000",
@@ -14,7 +13,6 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "WP": 6 },
- "capabilities_other": [ "4PP" ],
"note_number": "15",
"notes": [ "A", "R" ],
"id": "kfw-bcfk/o:001",
@@ -22,8 +20,9 @@
},
{ "name": "OML 3-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 8, "WP": 7 },
+ "comments": [ "QSU" ],
"note_number": "16",
"notes": [ "A" ],
"id": "kfw-bcfk/o:002",
@@ -31,9 +30,8 @@
},
{ "name": "OSB 4.2-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8, "WP": 7 },
- "comments": [ "Towed\u2020" ],
+ "comments": [ "Towed" ],
"note_number": "17\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/o:003",
@@ -41,7 +39,6 @@
},
{ "name": "OQF 17-Pounder",
"type": "AT",
- "capabilities": [ "NT" ],
"capabilities2": { "HE": 8, "D": 6 },
"note_number": "18",
"notes": [ "N" ],
@@ -51,7 +48,6 @@
{ "name": "OQF 25-Pounder",
"type": "ART",
"capabilities2": { "LF": [ "NT", "0 ROF" ], "s": 8 },
- "capabilities_other": [ "ST" ],
"note_number": "19\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/o:005",
@@ -59,7 +55,6 @@
},
{ "name": "OQF 40mm AA",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u2020", "2 ROF" ] },
"note_number": "20",
"notes": [ "B\u2020", "N" ],
diff --git a/vasl_templates/webapp/data/ordnance/kfw/cpva.json b/vasl_templates/webapp/data/ordnance/kfw/cpva.json
index 9677fee..71b63a5 100644
--- a/vasl_templates/webapp/data/ordnance/kfw/cpva.json
+++ b/vasl_templates/webapp/data/ordnance/kfw/cpva.json
@@ -2,7 +2,7 @@
{ "name": "50mm Type 89 Heavy Grenade Launcher",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
+ "comments": [ "Range ≤ 2: ROF 1, Air Bursts NA" ],
"note_number": "18\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:002",
@@ -10,7 +10,6 @@
},
{ "name": "60mm Type 31 Mortar",
"type": "MTR",
- "capabilities_other": [ "5PP" ],
"note_number": "19",
"notes": [ "A" ],
"id": "kfw-cpva/o:003",
@@ -18,7 +17,7 @@
},
{ "name": "82mm Type 20 Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "20\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:004",
@@ -26,8 +25,8 @@
},
{ "name": "82mm Type 53 Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "21\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:005",
@@ -35,31 +34,31 @@
},
{ "name": "120mm PM obr. 38",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "22\u2020",
"id": "kfw-cpva/o:006",
"gpid": 11583
},
{ "name": "45mm PTP obr. 42",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7 },
+ "comments": [ "QSU" ],
"note_number": "23\u2020",
"id": "kfw-cpva/o:007",
"gpid": 11584
},
{ "name": "47mm Type 1 Machine-Moved Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "24\u2020",
"id": "kfw-cpva/o:008",
"gpid": 11585
},
{ "name": "57mm PTP obr. 43",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 6 },
+ "comments": [ "QSU" ],
"note_number": "25\u2020",
"id": "kfw-cpva/o:009",
"gpid": "3b5:10114"
@@ -67,8 +66,7 @@
{ "name": "57mm Type 36 Recoilless Rifle",
"type": "RCL",
"capabilities2": { "H": 6, "WP": 5 },
- "capabilities_other": [ "3PP" ],
- "comments": [ "crewed\u2020" ],
+ "comments": [ "HEAT TK# = 9" ],
"note_number": "26\u20201",
"notes": [ "R\u2020" ],
"id": "kfw-cpva/o:010",
@@ -77,8 +75,7 @@
{ "name": "75mm Type 52 Recoilless Rifle",
"type": "RCL",
"capabilities2": { "H": 6, "WP": 5 },
- "capabilities_other": [ "5PP" ],
- "comments": [ "crewed\u2020" ],
+ "comments": [ "HEAT TK# = 11" ],
"note_number": "27",
"notes": [ "R\u2020" ],
"id": "kfw-cpva/o:011",
@@ -86,8 +83,8 @@
},
{ "name": "70mm Type 92 Infantry Gun",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "AP": 3, "H": 3 },
+ "comments": [ "QSU", "Horse-Drawn", "Indirect Fire [3-70]" ],
"note_number": "28\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:012",
@@ -95,8 +92,8 @@
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "29\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:013",
@@ -104,25 +101,22 @@
},
{ "name": "Year-38 Type Field Gun (Improved)",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
- "capabilities_other": [ "\"12\" AP TK#\u2020" ],
+ "comments": [ "QSU", "Horse-Drawn", "AP TK# = 12" ],
"note_number": "30\u2020",
"id": "kfw-cpva/o:014",
"gpid": 11586
},
{ "name": "76.2mm obr. 42",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7, "s": 6 },
+ "comments": [ "QSU" ],
"note_number": "31\u2020",
"id": "kfw-cpva/o:015",
"gpid": "3b5:10119"
},
{ "name": "Type 93 Twin-Mount High-Angle Machine Gun",
"type": "AA",
- "capabilities": [ "T" ],
- "capabilities_other": [ "2 TK DR\u2020" ],
- "comments": [ "Towing NA\u2020" ],
+ "comments": [ "Tow NA", "2 TK DR" ],
"note_number": "32\u2020",
"notes": [ "A" ],
"id": "kfw-cpva/o:016",
diff --git a/vasl_templates/webapp/data/ordnance/kfw/kpa.json b/vasl_templates/webapp/data/ordnance/kfw/kpa.json
index 21b8229..eef4c9e 100644
--- a/vasl_templates/webapp/data/ordnance/kfw/kpa.json
+++ b/vasl_templates/webapp/data/ordnance/kfw/kpa.json
@@ -2,7 +2,6 @@
{ "name": "50mm RM obr. 40",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
"note_number": "1",
"notes": [ "A", "B" ],
"id": "kfw-kpa/o:000",
@@ -10,8 +9,9 @@
},
{ "name": "82mm BM obr. 37",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Fire OK before/after dm" ],
"note_number": "2\u2020",
"notes": [ "A", "B" ],
"id": "kfw-kpa/o:001",
@@ -19,8 +19,8 @@
},
{ "name": "120mm PM obr. 38",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:002",
@@ -28,7 +28,7 @@
},
{ "name": "14.5mm PTRD-41",
"type": "ATR",
- "capabilities_other": [ "1PP" ],
+ "comments": [ "No Long Range" ],
"note_number": "4",
"notes": [ "B" ],
"id": "kfw-kpa/o:003",
@@ -36,15 +36,15 @@
},
{ "name": "14.5mm PTRS-41",
"type": "ATR",
- "capabilities_other": [ "2PP", "TK#: 6\u2020" ],
+ "comments": [ "Range = 16", "No Long Range", "AP TK# = 6" ],
"note_number": "5\u2020",
"id": "kfw-kpa/o:004",
"gpid": "3b5:7871"
},
{ "name": "45mm PTP obr. 37",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7 },
+ "comments": [ "QSU" ],
"note_number": "6\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:005",
@@ -52,8 +52,8 @@
},
{ "name": "45mm PTP obr. 42",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7 },
+ "comments": [ "QSU" ],
"note_number": "6\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:006",
@@ -61,8 +61,8 @@
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "7\u2020",
"notes": [ "A", "B" ],
"id": "kfw-kpa/o:007",
@@ -70,8 +70,8 @@
},
{ "name": "76.2mm obr. 02/30",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "8\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:008",
@@ -79,8 +79,8 @@
},
{ "name": "76.2mm obr. 42",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7, "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "9\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:009",
@@ -88,8 +88,8 @@
},
{ "name": "107mm P obr. 10/30",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "10",
"notes": [ "B" ],
"id": "kfw-kpa/o:010",
@@ -97,7 +97,6 @@
},
{ "name": "122mm G obr. 38",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 6, "s": 8 },
"note_number": "11\u2020",
"notes": [ "B" ],
@@ -106,7 +105,6 @@
},
{ "name": "122mm obr. 31",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "12",
"notes": [ "B" ],
@@ -115,7 +113,6 @@
},
{ "name": "152mm GP obr. 37",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "13",
"notes": [ "B" ],
"id": "kfw-kpa/o:013",
@@ -123,7 +120,6 @@
},
{ "name": "37mm ZP obr. 39",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "14\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/o:014",
@@ -131,7 +127,6 @@
},
{ "name": "85mm ZP obr. 39",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "15",
"notes": [ "B" ],
"id": "kfw-kpa/o:015",
diff --git a/vasl_templates/webapp/data/ordnance/kfw/un-common.json b/vasl_templates/webapp/data/ordnance/kfw/un-common.json
index e5d65f9..30c7e04 100644
--- a/vasl_templates/webapp/data/ordnance/kfw/un-common.json
+++ b/vasl_templates/webapp/data/ordnance/kfw/un-common.json
@@ -4,7 +4,6 @@
"type": "MTR",
"capabilities": [ "IR" ],
"capabilities2": { "WP": 7 },
- "capabilities_other": [ "5PP", "OBA\u2020" ],
"note_number": "23\u2020",
"notes": [ "A", "K", "M", "O", "P", "Y" ],
"id": "kfw-un-common/o:002",
@@ -12,8 +11,9 @@
},
{ "name": "M1(L) 81mm Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "WP": 8 },
+ "comments": [ "QSU" ],
"note_number": "24\u2020",
"notes": [ "A", "K", "M", "O", "P", "R" ],
"id": "kfw-un-common/o:003",
@@ -21,9 +21,9 @@
},
{ "name": "M20(L) 75mm Recoilless Rifle",
"type": "RCL",
+ "capabilities": [ "H\u2020" ],
"capabilities2": { "WP": 7 },
- "capabilities_other": [ "5PP", "H\u2020" ],
- "comments": [ "crewed\u2020" ],
+ "comments": [ "∞ H", "Crewed" ],
"note_number": "25\u2020",
"notes": [ "K", "M", "O", "P", "R" ],
"id": "kfw-un-common/o:004",
diff --git a/vasl_templates/webapp/data/ordnance/kfw/us-rok-ounc.json b/vasl_templates/webapp/data/ordnance/kfw/us-rok-ounc.json
index ec81a9b..9fa4cbd 100644
--- a/vasl_templates/webapp/data/ordnance/kfw/us-rok-ounc.json
+++ b/vasl_templates/webapp/data/ordnance/kfw/us-rok-ounc.json
@@ -2,7 +2,7 @@
{ "name": "Type 89 Heavy Grenade Launcher",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
+ "comments": [ "Range ≤ 2: " ],
"note_number": "1\u2020",
"notes": [ "A", "P" ],
"id": "kfw-uro/o:000",
@@ -10,8 +10,8 @@
},
{ "name": "M2 4.2-in. Mortar",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "WP": 10 },
+ "comments": [ "QSU", "Area FP = 12" ],
"note_number": "2\u2020",
"notes": [ "K", "M", "O", "P", "Y" ],
"id": "kfw-uro/o:001",
@@ -19,8 +19,8 @@
},
{ "name": "M3A1 37mm AT Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "C": 7 },
+ "comments": [ "QSU" ],
"note_number": "3\u2020",
"notes": [ "C", "K", "P" ],
"id": "kfw-uro/o:002",
@@ -28,8 +28,8 @@
},
{ "name": "M1 57mm AT Gun",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "HE": 7, "D": 4 },
+ "comments": [ "QSU" ],
"note_number": "4\u2020",
"notes": [ "K" ],
"id": "kfw-uro/o:003",
@@ -38,8 +38,7 @@
{ "name": "M18(L) 57mm Recoilless Rifle",
"type": "RCL",
"capabilities2": { "H": 7, "WP": 6, "C": 7 },
- "capabilities_other": [ "3PP" ],
- "comments": [ "non-crewed\u2020" ],
+ "comments": [ "Not Crewed", "Canister: 16 FP" ],
"note_number": "5\u2020",
"notes": [ "C", "K", "O" ],
"id": "kfw-uro/o:004",
@@ -47,7 +46,6 @@
},
{ "name": "M2A1 105mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 6, "s": 7, "WP": 8, "C": 7 },
"note_number": "6\u2020",
"notes": [ "C", "K", "M", "O", "P", "Y" ],
@@ -56,7 +54,6 @@
},
{ "name": "M3 105mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 7, "s": 7, "WP": 8, "C": 7 },
"note_number": "7\u2020",
"notes": [ "C", "K" ],
@@ -65,7 +62,6 @@
},
{ "name": "M1 155mm Howitzer",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 7, "WP": 8 },
"note_number": "8\u2020",
"notes": [ "K", "M", "P", "Y" ],
@@ -74,9 +70,8 @@
},
{ "name": "M1A1 155mm Gun",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
"capabilities2": { "AP": 4, "s": 7, "WP": 8 },
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "9",
"notes": [ "Y" ],
"id": "kfw-uro/o:008",
@@ -84,8 +79,7 @@
},
{ "name": "M1 8-in. Howitzer",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "10\u2020",
"notes": [ "Y" ],
"id": "kfw-uro/o:009",
@@ -93,9 +87,8 @@
},
{ "name": "M51 Multiple .50-cal MG Carriage",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "2 ROF", "20 IFE", "B11" ] },
- "capabilities_other": [ "4 TK DR\u2020" ],
+ "comments": [ "4 TK DR", "[16] TH" ],
"note_number": "11\u2020",
"notes": [ "M", "Y" ],
"id": "kfw-uro/o:010",
@@ -103,7 +96,6 @@
},
{ "name": "M1 40mm AA Gun",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u2020", "2 ROF" ] },
"note_number": "12",
"notes": [ "B\u2020", "Y" ],
@@ -112,7 +104,6 @@
},
{ "name": "M2 90mm AA Gun",
"type": "AA",
- "capabilities": [ "T" ],
"capabilities2": { "LF": [ "90\u20201", "1 ROF", "B11" ] },
"note_number": "13\u2020",
"notes": [ "B\u20201", "M", "Y" ],
diff --git a/vasl_templates/webapp/data/ordnance/russian.json b/vasl_templates/webapp/data/ordnance/russian.json
index a021c0d..5ed6f0d 100644
--- a/vasl_templates/webapp/data/ordnance/russian.json
+++ b/vasl_templates/webapp/data/ordnance/russian.json
@@ -2,15 +2,13 @@
{ "name": "50mm RM obr. 40",
"type": "MTR",
- "capabilities_other": [ "4PP" ],
"note_number": "1",
"id": "ru/o:000",
"gpid": 485
},
{ "name": "37mm PM-39",
"type": "MTR",
- "capabilities_other": [ "1PP" ],
- "comments": [ "Air Bursts & Acq. NA" ],
+ "comments": [ "Air Bursts NA", "Acquisition NA" ],
"note_number": "1.1",
"notes": [ "A" ],
"id": "ru/o:001",
@@ -18,16 +16,17 @@
},
{ "name": "82mm BM obr. 37",
"type": "MTR",
- "capabilities": [ "NT", "QSU", "IR" ],
+ "capabilities": [ "IR" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Fire OK before/after dm" ],
"note_number": "2\u2020",
"id": "ru/o:002",
"gpid": 508
},
{ "name": "107mm GVPM obr. 38",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "3",
"notes": [ "A" ],
"id": "ru/o:003",
@@ -35,69 +34,67 @@
},
{ "name": "120mm PM obr. 38",
"type": "MTR",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "4",
"id": "ru/o:004",
"gpid": 511
},
{ "name": "160mm PM obr. 43",
"type": "MTR",
- "capabilities": [ "NT" ],
- "comments": [ "No IF." ],
+ "comments": [ "No IF" ],
"note_number": "5",
"id": "ru/o:005",
"gpid": 512
},
{ "name": "37mm PTP obr. 30",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
+ "comments": [ "QSU" ],
"note_number": "6",
"id": "ru/o:006",
"gpid": 514
},
{ "name": "45mm PTP obr. 32",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,2], [5,3], [6,4], [7,5] ] },
+ "comments": [ "QSU" ],
"note_number": "7",
"id": "ru/o:007",
"gpid": 515
},
{ "name": "45mm PTP obr. 42",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,2], [5,3], [6,4], [7,5] ] },
+ "comments": [ "QSU" ],
"note_number": "8",
"id": "ru/o:008",
"gpid": 516
},
{ "name": "57mm PTP obr. 43",
"type": "AT",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,3], [5,4], [6,5] ] },
+ "comments": [ "QSU" ],
"note_number": "9\u2020",
"id": "ru/o:009",
"gpid": 517
},
{ "name": "100mm PTP obr. 44",
"type": "AT",
- "capabilities": [ "NT" ],
"note_number": "10",
"id": "ru/o:010",
"gpid": 518
},
{ "name": "37mm PP obr. 15R",
"type": "INF",
- "capabilities": [ "NT", "QSU", "h-d" ],
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "11",
"id": "ru/o:011",
"gpid": 520
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": 6, "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "12",
"notes": [ "A" ],
"id": "ru/o:012",
@@ -105,63 +102,62 @@
},
{ "name": "76.2mm P obr. 00/02P",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "13",
"id": "ru/o:013",
"gpid": 523
},
{ "name": "76.2mm P obr. 02/30",
"type": "ART",
- "capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "QSU", "Horse-Drawn" ],
"note_number": "14",
"id": "ru/o:014",
"gpid": 524
},
{ "name": "76.2mm P obr. 39",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,2], [5,3], [6,4], [7,5] ], "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "15\u2020",
"id": "ru/o:015",
"gpid": 525
},
{ "name": "76.2mm P obr. 36",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,2] ], "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "16\u2020",
"id": "ru/o:016",
"gpid": 526
},
{ "name": "85mm P obr. 44",
"type": "ART",
- "capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [5,4], [6,5] ], "s": 8 },
+ "comments": [ "QSU" ],
"note_number": "17",
"id": "ru/o:017",
"gpid": 527
},
{ "name": "107mm P obr. 10/30",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "18",
"id": "ru/o:018",
"gpid": 528
},
{ "name": "122mm G obr. 10/30",
"type": "ART",
- "capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 8 },
+ "comments": [ "Horse-Drawn" ],
"note_number": "19",
"id": "ru/o:019",
"gpid": 529
},
{ "name": "122mm G obr. 38",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "H": 6, "s": 8 },
"note_number": "20",
"id": "ru/o:020",
@@ -169,7 +165,6 @@
},
{ "name": "122mm P obr. 31",
"type": "ART",
- "capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "21",
"id": "ru/o:021",
@@ -177,50 +172,43 @@
},
{ "name": "152mm G obr. 38",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "22",
"id": "ru/o:022",
"gpid": 532
},
{ "name": "152mm GP obr. 37",
"type": "ART",
- "capabilities": [ "NT" ],
"note_number": "23",
"id": "ru/o:023",
"gpid": 533
},
{ "name": "203mm B-4 obr. 1931",
"type": "ART",
- "capabilities": [ "NT", "RFNM" ],
- "comments": [ "No IF." ],
+ "comments": [ "RFNM", "No IF" ],
"note_number": "23.1",
"id": "ru/o:024",
"gpid": 6995
},
{ "name": "25mm ZP obr. 40",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "24",
"id": "ru/o:025",
"gpid": 536
},
{ "name": "37mm ZP obr. 39",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "25\u2020",
"id": "ru/o:026",
"gpid": 537
},
{ "name": "76.2mm ZP obr. 38",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "26\u2020",
"id": "ru/o:027",
"gpid": 538
},
{ "name": "85mm ZP obr. 39",
"type": "AA",
- "capabilities": [ "T" ],
"note_number": "27",
"id": "ru/o:028",
"gpid": 539
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/belgian.json b/vasl_templates/webapp/data/vehicles/allied-minor/belgian.json
index 8a1e869..9bbc8c6 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/belgian.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/belgian.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "14\u2020",
"notes": [ "A", "Q\u20201" ],
+ "comments": [ "CE DRM: Direct Fire VCA only", "VCA change → No Fire" ],
"id": "be/v:000",
"gpid": 2292
},
@@ -15,6 +16,7 @@
"CS#": "4:brewup\u2020",
"note_number": "15\u2020",
"notes": [ "A" ],
+ "comments": [ "Turret: armored/unarmored", "Indirect Fire: +1 CE DRM, CS# = 2 (brewup)", "TCA Change → No Fire, Move" ],
"id": "be/v:001",
"gpid": 2294
},
@@ -42,6 +44,7 @@
"CS#": "3:brewup",
"note_number": "18\u2020",
"notes": [ "A" ],
+ "comments": [ "CMG: 12.7; Normal Range = 16" ],
"id": "be/v:004",
"gpid": 2300
}
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/common.json b/vasl_templates/webapp/data/vehicles/allied-minor/common.json
index d1fe80a..da3f464 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/common.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/common.json
@@ -15,6 +15,7 @@
"CS#": 2,
"note_number": "31\u2020",
"notes": [ "A", "D" ],
+ "comments": [ "2 TK DR", "BMG: HD Fire OK" ],
"id": "alc/v:001",
"gpid": [ 2233, 2331 ]
},
@@ -40,6 +41,7 @@
"CS#": 2,
"note_number": "32\u2020",
"notes": [ "A", "F" ],
+ "comments": [ "Road Rate NA" ],
"id": "alc/v:004",
"gpid": 2239
},
@@ -47,10 +49,10 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
- "no_if": true,
"capabilities2": { "AP": 9 },
"note_number": "32\u2020",
"notes": [ "A", "F" ],
+ "comments": [ "Road Rate NA", "No IF" ],
"id": "alc/v:005",
"gpid": 2241
},
@@ -69,6 +71,7 @@
"CS#": 4,
"note_number": "34\u2020",
"notes": [ "A", "V" ],
+ "comments": [ "MA: 12.7", "{{4|MA|2*}}", "Inherent Crew & Passenger", "Pas: No Mounted Fire penalty", "Unpossessed SW ok", "Crew: .50-cal MA only", "MG Removal OK" ],
"id": "alc/v:007",
"gpid": 2245
},
@@ -85,6 +88,7 @@
"cs#": 5,
"note_number": "35\u2020",
"notes": [ "A" ],
+ "comments": [ "Deployed Passengers" ],
"id": "alc/v:009",
"gpid": 2249
},
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/danish.json b/vasl_templates/webapp/data/vehicles/allied-minor/danish.json
index b8e7882..cb8b6b6 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/danish.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/danish.json
@@ -2,9 +2,8 @@
{ "name": "Nimbus",
"type": "TDmc",
- "CS#": [ null, "\u2020" ],
- "capabilities": [ "M8\u2020" ],
"note_number": "24\u2020",
+ "comments": [ "As motorcycle (2× 2-2-8 Crew Riders)", "MA: - Fire by dismounted Infantry only
- Unhook OK
- R2, X6
", "IFE: B# = 10", "Case C: +2 TH DRM", "AAMG: - No Mounted Fire penalty
- Dismounted Infantry OK
- No Unqualified Use penalty
- Removal OK (dm MMG)
", "KIA: eliminated", "K/#: replace with HS motorcycle", "Wreck Check dr 6: MA & AAMG malf", "0 PP" ],
"id": "da/v:000",
"gpid": 2314
}
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/dutch.json b/vasl_templates/webapp/data/vehicles/allied-minor/dutch.json
index f534135..2e9f4bb 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/dutch.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/dutch.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "25\u2020",
"notes": [ "A", "V" ],
+ "comments": [ "+3 Target Size & HD in Water" ],
"id": "du/v:000",
"gpid": 2315
},
@@ -15,6 +16,7 @@
"CS#": 2,
"note_number": "26\u2020",
"notes": [ "A", "V" ],
+ "comments": [ "CMG: Port VCA NA", "TCA restrictions" ],
"id": "du/v:001",
"gpid": 2317
},
@@ -54,6 +56,7 @@
"CS#": 4,
"note_number": "29\u2020",
"notes": [ "A", "V" ],
+ "comments": [ "2 TK DR", "Reverse MP ×3" ],
"id": "du/v:005",
"gpid": 2325
},
@@ -62,6 +65,7 @@
"cs#": "2\u2020",
"note_number": "30\u2020",
"notes": [ "A", "V" ],
+ "comments": [ "Inherent Crew if armed (with CS#)", "AAMG Removal OK (MMG)", "Bog assistance" ],
"id": "du/v:006",
"gpid": [ 2327, 2328 ]
}
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/polish.json b/vasl_templates/webapp/data/vehicles/allied-minor/polish.json
index 3d16308..ddfad9f 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/polish.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/polish.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "D" ],
+ "comments": [ "12: Immob, 11: Stall" ],
"id": "po/v:000",
"gpid": 2259
},
@@ -15,6 +16,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "D" ],
+ "comments": [ "12: Immob, 11: Stall" ],
"id": "po/v:001",
"gpid": 2261
},
@@ -24,6 +26,7 @@
"CS#": 3,
"note_number": "2\u2020",
"notes": [ "A", "K\u20201" ],
+ "comments": [ "2× MA", "Turret Knock-Out: Non-HE TK = Final TK" ],
"id": "po/v:002",
"gpid": 2263
},
@@ -42,6 +45,7 @@
"CS#": 3,
"note_number": "3\u2020",
"notes": [ "K\u20201" ],
+ "comments": [ "2× MA", "Turret Knock-Out: Non-HE TK = Final TK" ],
"id": "po/v:004",
"gpid": 2267
},
@@ -76,6 +80,7 @@
"no_radio": "\u00ae",
"CS#": 5,
"note_number": "6\u2020",
+ "comments": [ "BMG: Rear VCA only", "CMG: Left Rear TCA only" ],
"id": "po/v:008",
"gpid": 2275
},
@@ -100,6 +105,7 @@
"CS#": 7,
"note_number": "8\u2020",
"notes": [ "A", "Q\u20201", "AA\u20202" ],
+ "comments": [ "Rear TF NA", "TCA restrictions", "Reverse MP ×2", "Needs Ammo Vehicle/Dump" ],
"id": "po/v:011",
"gpid": 2281
},
@@ -108,6 +114,7 @@
"CS#": 5,
"note_number": "9\u2020",
"notes": [ "G\u20201", "Q\u20202", "AA\u20203" ],
+ "comments": [ "Rear TF NA", "TCA restrictions" ],
"id": "po/v:012",
"gpid": 2283
},
@@ -115,6 +122,7 @@
"type": "AAtr",
"CS#": 3,
"note_number": "10\u2020",
+ "comments": [ "MA: No Bnd (F)F, Motion Fire in VCA", "AAMG Removal OK (6 FP dm HMG)" ],
"id": "po/v:013",
"gpid": 2285
},
@@ -137,6 +145,7 @@
"cs#": 3,
"note_number": "13\u2020",
"notes": [ "Q\u20201" ],
+ "comments": [ "Crew Passenger", "Horse-Drawn", "Wreck Check: dr 6 = elim", "AAMG: - Fired by Passenger
- Fire VCA NA
- No Removal/Scrounge
" ],
"id": "po/v:016",
"gpid": 2291
}
diff --git a/vasl_templates/webapp/data/vehicles/allied-minor/yugoslavian.json b/vasl_templates/webapp/data/vehicles/allied-minor/yugoslavian.json
index d6e4d2d..7061cc4 100644
--- a/vasl_templates/webapp/data/vehicles/allied-minor/yugoslavian.json
+++ b/vasl_templates/webapp/data/vehicles/allied-minor/yugoslavian.json
@@ -32,6 +32,7 @@
"CS#": 2,
"note_number": "21\u2020",
"notes": [ "A", "H\u20201", "L" ],
+ "comments": [ "Turret Hit: As unarmored", "Crew Gunshield (Direct Fire)" ],
"id": "yu/v:003",
"gpid": 2308
},
@@ -40,6 +41,7 @@
"CS#": 2,
"note_number": "22\u2020",
"notes": [ "A", "H\u20201", "L", "AA\u20202" ],
+ "comments": [ "Turret Hit: As unarmored" ],
"id": "yu/v:004",
"gpid": 2310
},
diff --git a/vasl_templates/webapp/data/vehicles/american.json b/vasl_templates/webapp/data/vehicles/american.json
index aacf8de..e87622f 100644
--- a/vasl_templates/webapp/data/vehicles/american.json
+++ b/vasl_templates/webapp/data/vehicles/american.json
@@ -59,6 +59,7 @@
"capabilities": [ "C5\u20202" ],
"note_number": "7\u2020",
"notes": [ "B\u20201", "C\u20202", "G", "N" ],
+ "comments": [ "37LL MA: T", "75 SA: NT", "AAMG: BU Fire & CC ok [EXC: vs Aerial NA]" ],
"id": "am/v:006",
"gpid": 919
},
@@ -176,6 +177,7 @@
"capabilities2": { "s": 5, "WP": 7, "sM": 6 },
"note_number": "18\u2020",
"notes": [ "G", "R\u20201" ],
+ "comments": [ "Front-hull hit: +2 TH DRM (unless level < firer)" ],
"id": "am/v:019",
"gpid": 945
},
@@ -185,6 +187,7 @@
"capabilities2": { "s": 5, "WP": 7, "sM": 6 },
"note_number": "19\u2020",
"notes": [ "G", "P", "R\u20201" ],
+ "comments": [ "VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on]", "Movement restrictions", "Mine clearance" ],
"id": "am/v:020",
"gpid": 947
},
@@ -194,6 +197,7 @@
"capabilities2": { "s": [ [5,"J4+"] ], "WP": [ [7,"J4+"], "\u20202" ], "sM": 4 },
"note_number": "20\u2020",
"notes": [ "G", "R\u20201", "BB\u20202" ],
+ "comments": [ "Mine & Wire Clearance", "+1 DRM if PTO or pre-7/44 in Italy" ],
"id": "am/v:021",
"gpid": 949
},
@@ -203,6 +207,7 @@
"capabilities2": { "sM": 8 },
"note_number": "21\u2020",
"notes": [ "P" ],
+ "comments": [ "TCA restrictions" ],
"id": "am/v:022",
"gpid": 951
},
@@ -256,6 +261,7 @@
"CS#": 4,
"note_number": "27\u20201",
"notes": [ "E\u2020", "H", "I\u2020", "N" ],
+ "comments": [ "MA: 12.7" ],
"id": "am/v:028",
"gpid": 965
},
@@ -264,6 +270,7 @@
"CS#": 5,
"note_number": "28\u2020",
"notes": [ "N" ],
+ "comments": [ "MA: As MMG for TK & Removal" ],
"id": "am/v:029",
"gpid": 967
},
@@ -272,6 +279,7 @@
"CS#": 5,
"note_number": "29\u20201",
"notes": [ "E\u2020", "H", "I\u2020", "Z" ],
+ "comments": [ "MA: 12.7" ],
"id": "am/v:030",
"gpid": 969
},
@@ -280,6 +288,7 @@
"CS#": 5,
"note_number": "30\u2020",
"notes": [ "E\u2020", "H", "N", "P" ],
+ "comments": [ "{{4|MA|4*|4*}}", "MA: 12.7", "Inherent Crew & Passenger" ],
"id": "am/v:031",
"gpid": 971
},
@@ -288,6 +297,7 @@
"CS#": 5,
"note_number": "30\u2020",
"notes": [ "E\u2020", "H", "N", "P" ],
+ "comments": [ "{{4|MA|6*|6*}}", "MA: 12.7", "Inherent Crew & Passenger" ],
"id": "am/v:032",
"gpid": 973
},
@@ -297,6 +307,7 @@
"capabilities2": { "WP": 8 },
"note_number": "31\u2020",
"notes": [ "J\u2020", "M\u20201", "N", "O\u20202", "P" ],
+ "comments": [ "+1 TH DRM vs Moving/Motion", "Inherent Infantry Crew", "AAMG: Removal OK (MMG)" ],
"id": "am/v:033",
"gpid": 975
},
@@ -306,6 +317,7 @@
"capabilities2": { "WP": 8 },
"note_number": "32\u2020",
"notes": [ "J\u20201", "M\u20202", "O\u20203" ],
+ "comments": [ "Inherent Infantry Crew", "AAMG: Removal OK (MMG)" ],
"id": "am/v:034",
"gpid": 977
},
@@ -315,6 +327,7 @@
"capabilities2": { "WP": 8 },
"note_number": "33",
"notes": [ "M", "O\u2020", "P" ],
+ "comments": [ "Inherent Infantry Crew", "AAMG: Removal OK (HMG)" ],
"id": "am/v:035",
"gpid": 979
},
@@ -332,6 +345,7 @@
"capabilities2": { "H": 5, "AP": 7, "WP": 9 },
"note_number": "35\u20201",
"notes": [ "K\u2020", "N", "O\u2020", "P", "U" ],
+ "comments": [ "AAMG: Removal OK (.50-cal HMG)" ],
"id": "am/v:037",
"gpid": 985
},
@@ -341,6 +355,7 @@
"capabilities2": { "H": 5, "s": 7, "WP": 8 },
"note_number": "36\u2020",
"notes": [ "K\u20201", "N", "O\u20201", "P" ],
+ "comments": [ "AAMG: Removal OK (.50-cal HMG)", "Ammo trailer (0 AF)" ],
"id": "am/v:038",
"gpid": 987
},
@@ -349,6 +364,7 @@
"CS#": 4,
"note_number": "37\u2020",
"notes": [ "N", "V\u2020", "AA\u20201" ],
+ "comments": [ "CMG Removal/Scrounge NA", "CMG: Normal Range = 16", "Turret Rear unarmored [EXC: N.Africa]" ],
"id": "am/v:039",
"gpid": 990
},
@@ -357,6 +373,7 @@
"CS#": 4,
"note_number": "38\u2020",
"notes": [ "V\u2020", "AA\u20201" ],
+ "comments": [ "MA Removal/Scrounge NA", "MA: [16] TH", "4 TK DR", "CE: +1 Side/Rear Turret" ],
"id": "am/v:040",
"gpid": 992
},
@@ -365,6 +382,7 @@
"CS#": 4,
"note_number": "39\u20201",
"notes": [ "E\u2020", "H", "I\u2020", "N" ],
+ "comments": [ "Inherent Crew & Passenger", "MA: 12.7", "Pas: No Mounted Fire penalty", "Unpossessed SW ok" ],
"id": "am/v:041",
"gpid": 996
},
@@ -374,6 +392,7 @@
"capabilities2": { "sP": 5 },
"note_number": "40\u2020",
"notes": [ "D\u20203", "O\u20202", "W\u20201", "Z" ],
+ "comments": [ "MA: 12.7" ],
"id": "am/v:042",
"gpid": 998
},
@@ -382,6 +401,7 @@
"CS#": 5,
"note_number": "41\u2020",
"notes": [ "O\u20201", "P" ],
+ "comments": [ "MA: 12.7", "As fully-tracked", "AAMG: Removal OK (.50-cal HMG)" ],
"id": "am/v:043",
"gpid": 1000
},
@@ -416,10 +436,10 @@
{ "name": "M12 GMC",
"type": "SPA",
"CS#": 9,
- "no_if": true,
"capabilities2": { "AP": 6, "WP": 8 },
"note_number": "45\u2020",
"notes": [ "P" ],
+ "comments": [ "Limbered: Fire NA", "Unlimbered: RFNM, always CE (0/+1 DRM)", "No IF" ],
"id": "am/v:047",
"gpid": 1011
},
@@ -429,6 +449,7 @@
"capabilities2": { "C": [ [10,"P"], "\u20202" ] },
"note_number": "46\u20201",
"notes": [ "C\u20202", "G", "H", "P", "T\u2020" ],
+ "comments": [ "AAMG: 4&4; NA VCA" ],
"id": "am/v:048",
"gpid": 1014
},
@@ -479,6 +500,7 @@
"CS#": 7,
"note_number": "51\u2020",
"notes": [ "D", "H", "T\u20201", "X\u20202" ],
+ "comments": [ "MA:12.7", "{{6|MA|4|4}}", "MA: VCA only", "SA: VCA NA" ],
"id": "am/v:054",
"gpid": [ 1028, 1030 ]
},
@@ -486,6 +508,7 @@
"type": "PC",
"CS#": 6,
"note_number": "51.1\u2020",
+ "comments": [ "MA: 12.7" ],
"id": "am/v:055",
"gpid": 1050
},
@@ -495,13 +518,14 @@
"note_number": "52\u2020",
"notes": [ "D\u20203", "O\u20202", "CC\u20201" ],
"id": "am/v:056",
- "gpid": 1032
+ "gpid": [ 1032, 1034 ]
},
{ "name": "¼-Ton Jeep GPA",
"type": "atr",
"cs#": 2,
"note_number": "53\u2020",
"notes": [ "L\u20201" ],
+ "comments": [ "+3 Target Size & HD in Water" ],
"id": "am/v:057",
"gpid": 1036
},
@@ -510,6 +534,7 @@
"cs#": "2\u20201",
"note_number": "54\u2020",
"notes": [ "L\u20202", "N", "O\u20203", "CC\u20201" ],
+ "comments": [ "AAMG Removal OK" ],
"id": "am/v:058",
"gpid": [ 1039, 1040, 1041 ]
},
diff --git a/vasl_templates/webapp/data/vehicles/axis-minor/common.json b/vasl_templates/webapp/data/vehicles/axis-minor/common.json
index 70dadd4..67fc502 100644
--- a/vasl_templates/webapp/data/vehicles/axis-minor/common.json
+++ b/vasl_templates/webapp/data/vehicles/axis-minor/common.json
@@ -13,9 +13,9 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
- "no_if": true,
"note_number": "30\u2020",
"notes": [ "C", "D", "R" ],
+ "comments": [ "Road Rate NA" ],
"id": "axc/v:001",
"gpid": 3789
},
@@ -26,6 +26,7 @@
"capabilities2": { "AP": 9 },
"note_number": "30\u2020",
"notes": [ "C", "D", "R" ],
+ "comments": [ "Road Rate NA", "No IF" ],
"id": "axc/v:002",
"gpid": 3791
},
@@ -90,6 +91,7 @@
"CS#": 4,
"note_number": "36\u2020",
"notes": [ "A\u20201", "D", "E", "H", "S" ],
+ "comments": [ "Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]" ],
"id": "axc/v:009",
"gpid": 3797
},
@@ -144,6 +146,7 @@
"capabilities2": { "A": [ [3,4] ], "s": 8, "sD": 7 },
"note_number": "40\u2020",
"notes": [ "B", "E", "H", "Q", "R" ],
+ "comments": [ "AAMG: VCA only" ],
"id": "axc/v:015",
"gpid": 3845
},
@@ -153,6 +156,7 @@
"capabilities2": { "A": [ [3,4] ], "HE": 7 },
"note_number": "41\u2020",
"notes": [ "B", "E", "H" ],
+ "comments": [ "AAMG: BU only, Rider NA, elevation restrictions" ],
"id": "axc/v:016",
"gpid": 3803
},
@@ -161,6 +165,7 @@
"CS#": 4,
"note_number": "42",
"notes": [ "E", "R" ],
+ "disabled_comments": [ "?:Black TH#" ],
"id": "axc/v:017",
"gpid": 3847
},
@@ -169,6 +174,7 @@
"CS#": 5,
"note_number": "42\u2020",
"notes": [ "C", "E", "R" ],
+ "disabled_comments": [ "?:Black TH#" ],
"id": "axc/v:018",
"gpid": 3849
},
@@ -178,6 +184,7 @@
"capabilities2": { "H": 5, "s": 8 },
"note_number": "42\u2020",
"notes": [ "E", "R" ],
+ "comments": [ "CMG: VCA only" ],
"id": "axc/v:019",
"gpid": 3851
},
@@ -187,6 +194,7 @@
"CS#": 2,
"note_number": "43\u2020",
"notes": [ "E", "R", "S" ],
+ "comments": [ "LMG", "Reverse NA" ],
"id": "axc/v:020",
"gpid": 3805
},
@@ -222,6 +230,8 @@
"capabilities2": { "sD": 6 },
"note_number": "46\u2020",
"notes": [ "B", "E", "M\u20201", "P\u20202", "R" ],
+ "disabled_comments": [ "?:Black TH#" ],
+ "comments": [ "German ESB" ],
"id": "axc/v:024",
"gpid": 3857
},
@@ -230,6 +240,7 @@
"cs#": "2\u20201",
"note_number": "47\u2020",
"notes": [ "B", "C", "E", "F", "H", "I\u20201", "J", "R", "S" ],
+ "comments": [ "Pas: Always CE; +1 VCA" ],
"id": "axc/v:025",
"gpid": [ 3809, 3811 ]
},
diff --git a/vasl_templates/webapp/data/vehicles/axis-minor/croatian.json b/vasl_templates/webapp/data/vehicles/axis-minor/croatian.json
index 1ba9fca..c616132 100644
--- a/vasl_templates/webapp/data/vehicles/axis-minor/croatian.json
+++ b/vasl_templates/webapp/data/vehicles/axis-minor/croatian.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "24\u2020",
"notes": [ "F" ],
+ "comments": [ "12: Immob, 11: Stall" ],
"id": "cr/v:000",
"gpid": 3892
},
@@ -15,6 +16,7 @@
"CS#": 2,
"note_number": "24\u2020",
"notes": [ "F" ],
+ "comments": [ "12: Immob, 11: Stall" ],
"id": "cr/v:001",
"gpid": 3894
},
@@ -46,6 +48,7 @@
"CS#": 3,
"note_number": "27\u2020",
"notes": [ "O\u20201" ],
+ "comments": [ "Always CE" ],
"id": "cr/v:005",
"gpid": 3902
}
diff --git a/vasl_templates/webapp/data/vehicles/axis-minor/hungarian.json b/vasl_templates/webapp/data/vehicles/axis-minor/hungarian.json
index 53f2fb3..5c90b17 100644
--- a/vasl_templates/webapp/data/vehicles/axis-minor/hungarian.json
+++ b/vasl_templates/webapp/data/vehicles/axis-minor/hungarian.json
@@ -5,6 +5,7 @@
"CS#": 3,
"note_number": "7\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "MA: ATR 12 [TH]", "MA: Scrounge OK" ],
"id": "hu/v:000",
"gpid": 4009
},
@@ -13,6 +14,7 @@
"CS#": 3,
"note_number": "8\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "AP TK# = 9" ],
"id": "hu/v:001",
"gpid": 4011
},
@@ -40,6 +42,7 @@
"capabilities2": { "sN": 6 },
"note_number": "11\u2020",
"notes": [ "E" ],
+ "comments": [ "12: Stall" ],
"id": "hu/v:004",
"gpid": 4043
},
@@ -49,6 +52,7 @@
"capabilities2": { "A": [ [3,4] ], "sN": 6 },
"note_number": "12\u2020",
"notes": [ "E" ],
+ "comments": [ "Morale 8" ],
"id": "hu/v:005",
"gpid": 4045
},
@@ -90,6 +94,7 @@
"capabilities2": { "H": [ ["6[9]","3+"] ] },
"note_number": "16\u2020",
"notes": [ "P\u20201" ],
+ "comments": [ "HEAT TK# = 26" ],
"id": "hu/v:010",
"gpid": 4059
}
diff --git a/vasl_templates/webapp/data/vehicles/axis-minor/romanian.json b/vasl_templates/webapp/data/vehicles/axis-minor/romanian.json
index 181f237..eab4ed3 100644
--- a/vasl_templates/webapp/data/vehicles/axis-minor/romanian.json
+++ b/vasl_templates/webapp/data/vehicles/axis-minor/romanian.json
@@ -6,6 +6,8 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "E" ],
+ "disabled_comments": [ "Black TH#" ],
+ "comments": [ "BMG: Starboard VCA only" ],
"id": "ro/v:000",
"gpid": 3861
},
@@ -23,6 +25,7 @@
"CS#": 3,
"note_number": "3\u2020",
"notes": [ "E" ],
+ "comments": [ "AP TK# = 16" ],
"id": "ro/v:002",
"gpid": 3865
},
@@ -31,6 +34,7 @@
"CS#": 3,
"note_number": "3\u2020",
"notes": [ "E" ],
+ "comments": [ "AP TK# = 16" ],
"id": "ro/v:003",
"gpid": 3867
},
@@ -40,6 +44,7 @@
"capabilities2": { "AP": 5 },
"note_number": "4\u2020",
"notes": [ "E", "N" ],
+ "comments": [ "AP TK# = 13" ],
"id": "ro/v:004",
"gpid": 3869
},
@@ -66,6 +71,7 @@
"cs#": "2\u20201",
"note_number": "6\u2020",
"notes": [ "F", "I\u20201", "J" ],
+ "comments": [ "Pas: 1 PP, always CE" ],
"id": "ro/v:007",
"gpid": [ 3875, 3877 ]
}
diff --git a/vasl_templates/webapp/data/vehicles/axis-minor/slovakian.json b/vasl_templates/webapp/data/vehicles/axis-minor/slovakian.json
index 888846c..d0a5def 100644
--- a/vasl_templates/webapp/data/vehicles/axis-minor/slovakian.json
+++ b/vasl_templates/webapp/data/vehicles/axis-minor/slovakian.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "17\u2020",
"notes": [ "E", "F", "G\u20202", "K\u20201" ],
+ "disabled_comments": [ "Black TH#" ],
"id": "sl/v:000",
"gpid": 3879
},
@@ -32,6 +33,7 @@
"capabilities2": { "sD": 6 },
"note_number": "20\u2020",
"notes": [ "E", "K\u20201" ],
+ "disabled_comments": [ "Black TH#" ],
"id": "sl/v:003",
"gpid": 3885
},
@@ -41,6 +43,7 @@
"capabilities2": { "A": [ [4,3], [3,4] ], "HE": 7, "s": 7, "sD": 6 },
"note_number": "21\u2020",
"notes": [ "E" ],
+ "comments": [ "CE: +3 Front" ],
"id": "sl/v:004",
"gpid": 3887
},
@@ -49,14 +52,18 @@
"cs#": "2\u20201",
"note_number": "22\u2020",
"notes": [ "E", "I\u20201", "L\u20202" ],
+ "disabled_comments": [ "German ESB", "Black TH#" ],
+ "comments": [ "German ESB" ],
"id": "sl/v:005",
- "gpid": 3889
+ "gpid": [ 3889, 3890 ]
},
{ "name": "SdKfz 2(g)",
"type": "htMC",
"cs#": 2,
"note_number": "23\u2020",
"notes": [ "E", "L\u20201" ],
+ "disabled_comments": [ "Black TH#" ],
+ "comments": [ "German ESB", "Crew/HS Rider OK", "Hidden AT Mine attacks NA", "AP Mine attacks: Area Fire" ],
"id": "sl/v:006",
"gpid": 3891
}
diff --git a/vasl_templates/webapp/data/vehicles/british.json b/vasl_templates/webapp/data/vehicles/british.json
index 3eb206d..345b259 100644
--- a/vasl_templates/webapp/data/vehicles/british.json
+++ b/vasl_templates/webapp/data/vehicles/british.json
@@ -6,6 +6,7 @@
"capabilities2": { "sD": 6 },
"note_number": "1\u2020",
"notes": [ "N", "P" ],
+ "comments": [ "2 TK DR (12.7 & MG)" ],
"id": "br/v:000",
"gpid": 1208
},
@@ -31,6 +32,7 @@
"capabilities2": { "HE": "9\u20201", "s": [ null, "\u20201" ], "sD": 6 },
"note_number": "2\u2020",
"notes": [ "S\u20201" ],
+ "comments": [ "{? -10/1943 | ∞ Smoke | s9, ∞ HE | ∞ Smoke [EXC: post-10/43: s9, ∞ HE] ?}" ],
"id": "br/v:003",
"gpid": 1214
},
@@ -76,6 +78,7 @@
"capabilities2": { "sD": 6 },
"note_number": "6\u2020",
"notes": [ "K\u20201", "N" ],
+ "comments": [ "BMG: Scrounge NA" ],
"id": "br/v:008",
"gpid": [ 1224, 1226 ]
},
@@ -85,6 +88,7 @@
"capabilities2": { "s": [ null, "\u20202" ], "sD": 6 },
"note_number": "6\u2020",
"notes": [ "K\u20201", "N", "S\u20202" ],
+ "comments": [ "∞ Smoke", "BMG: Scrounge NA" ],
"id": "br/v:009",
"gpid": [ 1228, 1230 ]
},
@@ -103,6 +107,7 @@
"capabilities2": { "s": [ null, "\u20202" ], "sD": 6 },
"note_number": "7\u2020",
"notes": [ "K\u20201", "N", "S\u20202" ],
+ "comments": [ "∞ Smoke" ],
"id": "br/v:011",
"gpid": [ 1242, 1244, 1246 ]
},
@@ -130,6 +135,7 @@
"capabilities2": { "s": [ null, "\u20202" ], "sD": 6 },
"note_number": "8\u2020",
"notes": [ "K\u20201", "N", "S\u20202" ],
+ "comments": [ "∞ Smoke" ],
"id": "br/v:014",
"gpid": 1260
},
@@ -139,6 +145,7 @@
"capabilities2": { "sM": 8 },
"note_number": "9\u2020",
"notes": [ "K\u20201", "N" ],
+ "comments": [ "BMG: extended port-side" ],
"id": "br/v:015",
"gpid": [ 1262, 1264 ]
},
@@ -148,6 +155,7 @@
"capabilities2": { "HE": 9, "s": [ null, "\u20202" ], "sM": 8 },
"note_number": "9\u2020",
"notes": [ "K\u20201", "N", "S\u20202" ],
+ "comments": [ "BMG: extended port-side", "∞ Smoke" ],
"id": "br/v:016",
"gpid": [ 1266, 1268 ]
},
@@ -166,6 +174,7 @@
"capabilities2": { "HE": 9, "s": [ null, "\u20202" ], "sM": 8 },
"note_number": "9\u2020",
"notes": [ "K\u20201", "N", "S\u20202" ],
+ "comments": [ "∞ Smoke" ],
"id": "br/v:018",
"gpid": [ 1274, 1276 ]
},
@@ -184,6 +193,7 @@
"capabilities2": { "HE": [ null, "4+" ], "C": [ [5,"4+"], "\u20201" ], "s": "8\u2020", "sM": 8 },
"note_number": "11\u2020",
"notes": [ "A", "C\u20201", "G", "N", "P" ],
+ "comments": [ "37LL: T", "75 SA: NT (bow-mounted)", "Smoke: 75 SA only", "HE & C: 37 MA only", "BMG: +1 DRM vs Moving/Motion" ],
"id": "br/v:020",
"gpid": 1280
},
@@ -193,6 +203,7 @@
"capabilities2": { "HE": [ null, "4+" ], "C": [ [5,"4+"], "\u20201" ], "s": "8\u2020", "sD": 6 },
"note_number": "11\u2020",
"notes": [ "A", "C\u20201", "G", "N", "P" ],
+ "comments": [ "37LL: T", "75 SA: NT (bow-mounted)", "Smoke: 75 SA only", "HE & C: 37 MA only", "BMG: +1 DRM vs Moving/Motion", "AAMG: BU Fire & CC ok [EXC: vs Aerial NA]" ],
"id": "br/v:021",
"gpid": [ 1282, 1284 ]
},
@@ -328,6 +339,7 @@
"capabilities2": { "s": 8, "WP": 6, "sD": 6 },
"note_number": "23\u2020",
"notes": [ "A", "G", "K\u20202", "P", "R\u20201" ],
+ "comments": [ "Front-hull hit: +2 TH DRM (unless level < firer)" ],
"id": "br/v:036",
"gpid": [ 1328, 1330 ]
},
@@ -337,6 +349,7 @@
"capabilities2": { "s": 8, "WP": 6, "sD": 6 },
"note_number": "24\u2020",
"notes": [ "A", "G", "K\u20202", "P", "R\u20201" ],
+ "comments": [ "Mine & Wire Clearance" ],
"id": "br/v:037",
"gpid": [ 1332, 1334 ]
},
@@ -347,6 +360,7 @@
"capabilities2": { "sD": 5 },
"note_number": "25\u2020",
"notes": [ "B\u20201" ],
+ "comments": [ "MA: 12.7", "Road Rate NA" ],
"id": "br/v:038",
"gpid": [ 1338, 1340 ]
},
@@ -356,6 +370,7 @@
"capabilities2": { "sD": 6 },
"note_number": "26\u2020",
"notes": [ "B\u20201", "K\u20202", "N", "P" ],
+ "comments": [ "Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]" ],
"id": "br/v:039",
"gpid": [ 1342, 1344, 1346, 1348 ]
},
@@ -365,6 +380,7 @@
"capabilities2": { "HE": "9\u20202", "s": [ null, "\u20202" ], "sD": 6 },
"note_number": "26\u2020",
"notes": [ "K\u20201", "N", "P", "S\u20202" ],
+ "comments": [ "Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]", "{? -10/1943 | ∞ Smoke | s9, ∞ HE | ∞ Smoke [EXC: post-10/43: s9, ∞ HE] ?}" ],
"id": "br/v:040",
"gpid": [ 1350, 1352 ]
},
@@ -409,6 +425,7 @@
"capabilities2": { "HE": "9\u20202", "s": [ null, "\u20202" ], "sD": [ [5,4] ], "sM": "8\u20201" },
"note_number": "31\u2020",
"notes": [ "NT", "S\u20202", "Z\u20201", "CC" ],
+ "comments": [ "40 MA: T", "76 SA: NT (bow-mounted)", "76 SA: +1 DRM vs Moving/Motion", "Smoke & HE: 76 SA only", "{? -10/1943 | 76 SA: ∞ Smoke | 76 SA: s9, ∞ HE | 76 SA: ∞ Smoke [EXC: post-10/43: s9, ∞ HE] ?}" ],
"id": "br/v:045",
"gpid": 1364
},
@@ -463,6 +480,7 @@
"capabilities2": { "sD": 7 },
"note_number": "36\u2020",
"notes": [ "M", "P" ],
+ "comments": [ "Inherent Crew" ],
"id": "br/v:051",
"gpid": 1376
},
@@ -472,16 +490,17 @@
"capabilities2": { "sD": 7 },
"note_number": "36\u2020",
"notes": [ "M", "CC" ],
+ "comments": [ "Inherent Crew", "VBM NA (with bridge)" ],
"id": "br/v:052",
"gpid": 1380
},
{ "name": "Churchill AVRE",
"type": "HTv",
"CS#": 8,
- "no_if": true,
"capabilities2": { "sD": 7, "sM": "8\u20201" },
"note_number": "37\u2020",
"notes": [ "Z\u20201", "CC" ],
+ "comments": [ "Crew: Assault Engineers & Sappers", "Inherent 4× DC (Throw NA, Fanaticism)", "MA: Area Target Type & TH Case L NA", "TH# = 12 - 2 × range", "TCA alignment", "Mine Clearance", "Wall/Hedge Breaches", "No IF" ],
"id": "br/v:053",
"gpid": [ 1384, 1386 ]
},
@@ -491,6 +510,7 @@
"capabilities2": { "s": 8, "WP": 6, "sD": 7, "sM": "8\u20201" },
"note_number": "38\u2020",
"notes": [ "Z\u20201", "CC" ],
+ "comments": [ "Trailer (AF 6)" ],
"id": "br/v:054",
"gpid": 1390
},
@@ -500,6 +520,7 @@
"capabilities2": { "HE": [ [7,"F3+"], "\u20202" ] },
"note_number": "39\u2020",
"notes": [ "L\u20201", "N", "Y\u20202" ],
+ "comments": [ "Starboard VCA NA", "TCA restrictions", "Turret Rear unarmored", "CE: +3 Front/Side Turret" ],
"id": "br/v:055",
"gpid": 1393
},
@@ -527,6 +548,7 @@
"capabilities2": { "HE": 7, "D": [ [6,4], [7,5], "\u20201" ], "sD": 7 },
"note_number": "41\u2020",
"notes": [ "J\u20201" ],
+ "comments": [ "MA: Rear VCA only", "No Bnd FF, Motion Fire" ],
"id": "br/v:058",
"gpid": 1399
},
@@ -554,6 +576,7 @@
"capabilities2": { "sD": [ [4,"4+"], "\u2020" ] },
"note_number": "43\u2020",
"notes": [ "L\u20201", "M", "P", "BB\u20202" ],
+ "comments": [ "MA: CE, Rider, vs Aerial NA" ],
"id": "br/v:061",
"gpid": 1405
},
@@ -562,6 +585,8 @@
"CS#": 5,
"note_number": "44\u2020",
"notes": [ "A", "D", "NT", "P" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "MA: VCA only", "2 TK DR (MG)", "As fully-tracked" ],
"id": "br/v:062",
"gpid": 1407
},
@@ -571,6 +596,7 @@
"capabilities2": { "sD": 5 },
"note_number": "45\u2020",
"notes": [ "L\u20201", "N", "P", "Q\u20202" ],
+ "disabled_comments": [ "Q" ],
"id": "br/v:063",
"gpid": 1409
},
@@ -580,6 +606,7 @@
"capabilities2": { "sD": 5 },
"note_number": "45\u2020",
"notes": [ "L\u20201", "P", "Q\u20202" ],
+ "disabled_comments": [ "Q" ],
"id": "br/v:064",
"gpid": 1411
},
@@ -614,6 +641,7 @@
"CS#": 4,
"note_number": "49\u2020",
"notes": [ "L\u20201", "N", "AA\u20202" ],
+ "comments": [ "MA & CMG: AA ok", "Red TH#" ],
"id": "br/v:068",
"gpid": 1419
},
@@ -638,6 +666,8 @@
"CS#": 4,
"note_number": "49\u2020",
"notes": [ "K\u20202", "L\u20201", "N", "T\u20202" ],
+ "disabled_comments": [ "T" ],
+ "comments": [ "AAMG: Rear VCA only", "Red TH#" ],
"id": "br/v:071",
"gpid": [ 1425, 1427 ]
},
@@ -719,16 +749,17 @@
"capabilities2": { "s": 9, "sD": 6 },
"note_number": "54\u2020",
"notes": [ "A", "K\u20203", "S\u20202", "X\u20201" ],
+ "comments": [ "∞ Smoke" ],
"id": "br/v:080",
"gpid": [ 1451, 1453 ]
},
{ "name": "Bishop",
"type": "SPA",
"CS#": 5,
- "no_if": true,
"capabilities2": { "s": 8 },
"note_number": "55\u2020",
"notes": [ "K\u20201", "N", "P" ],
+ "comments": [ "+1 TH DRM vs Moving/Motion", "No IF" ],
"id": "br/v:081",
"gpid": [ 1457, 1459 ]
},
@@ -756,6 +787,7 @@
"capabilities2": { "s": 8, "WP": [ [7,"J4+"], "\u20201" ] },
"note_number": "58\u2020",
"notes": [ "A", "NT", "W\u20201" ],
+ "comments": [ "CE: +3 Front" ],
"id": "br/v:084",
"gpid": 1467
},
@@ -773,6 +805,7 @@
"capabilities2": { "sD": 7 },
"note_number": "60\u2020",
"notes": [ "AA\u20201" ],
+ "comments": [ "2 TK DR", "CE Fire NA" ],
"id": "br/v:086",
"gpid": [ 1471, 1473 ]
},
@@ -781,6 +814,7 @@
"CS#": 4,
"note_number": "61\u2020",
"notes": [ "A", "F\u2020", "AA\u20201" ],
+ "comments": [ "CE: +1 Side/Rear Turret", "MA: VCA ≤ level NA", "4 TK DR" ],
"id": "br/v:087",
"gpid": 1475
},
@@ -797,6 +831,7 @@
"CS#": 3,
"note_number": "62\u2020",
"notes": [ "A", "F\u2020", "X\u20201", "AA\u20202" ],
+ "comments": [ "2 TK DR" ],
"id": "br/v:089",
"gpid": 1479
},
@@ -805,6 +840,8 @@
"cs#": "5\u20201",
"note_number": "63\u2020",
"notes": [ "A", "I\u20201", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "MA Removal OK (.30-cal MMG)" ],
"id": "br/v:090",
"gpid": [ 1481, 1483 ]
},
@@ -813,6 +850,8 @@
"cs#": "4\u20201",
"note_number": "63\u2020",
"notes": [ "A", "I\u20201", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "MA Removal OK (.30-cal MMG)" ],
"id": "br/v:091",
"gpid": [ 1489, 1491 ]
},
@@ -821,6 +860,8 @@
"cs#": "5\u2020",
"note_number": "63",
"notes": [ "A", "I\u2020" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "MA Removal OK (.50-cal HMG)" ],
"id": "br/v:092",
"gpid": [ 1485, 1487 ]
},
@@ -829,6 +870,8 @@
"cs#": "4\u2020",
"note_number": "63",
"notes": [ "A", "I\u2020" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "MA Removal OK (.50-cal HMG)" ],
"id": "br/v:093",
"gpid": [ 1493, 1495 ]
},
@@ -838,6 +881,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20201" ] },
"note_number": "64\u2020",
"notes": [ "N", "P", "U\u20201" ],
+ "comments": [ "Always CE", "BMG: AA ok" ],
"id": "br/v:094",
"gpid": 1497
},
@@ -847,6 +891,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20202" ] },
"note_number": "64\u2020",
"notes": [ "N", "P", "Q\u20201", "U\u20202" ],
+ "comments": [ "Always CE" ],
"id": "br/v:095",
"gpid": 1499
},
@@ -856,6 +901,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20201" ] },
"note_number": "64\u2020",
"notes": [ "N", "P", "U\u20201" ],
+ "comments": [ "Always CE", "MA: Removal NA", "{? 07/1943- | PIAT | | PIATJ3+ ?}" ],
"id": "br/v:096",
"gpid": 1501
},
@@ -865,6 +911,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20202" ] },
"note_number": "65\u2020",
"notes": [ "N", "P", "Q\u20201", "U\u20202" ],
+ "comments": [ "Always CE", "BATR SA: HD VCA Fire OK" ],
"id": "br/v:097",
"gpid": [ 1503, 1505 ]
},
@@ -874,6 +921,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20202" ] },
"note_number": "65\u2020",
"notes": [ "U\u20202", "BB\u20201" ],
+ "comments": [ "Always CE", "Normal Range = 14" ],
"id": "br/v:098",
"gpid": 1507
},
@@ -883,6 +931,7 @@
"capabilities2": { "IR": [ [null,"2+"], "\u2020" ], "s": 7 },
"note_number": "66\u2020",
"notes": [ "N", "P", "U\u20201" ],
+ "comments": [ "Always CE", "MA: Removal OK" ],
"id": "br/v:099",
"gpid": 1509
},
@@ -891,6 +940,7 @@
"CS#": "4:brewup\u20201",
"note_number": "67\u2020",
"notes": [ "H\u20201", "N", "P", "U", "BB\u20202" ],
+ "comments": [ "Always CE", "Inherent dm 76* MTR" ],
"id": "br/v:100",
"gpid": 1511
},
@@ -899,6 +949,8 @@
"CS#": 7,
"note_number": "68\u2020",
"notes": [ "A", "D" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "MA: 12.7(a)" ],
"id": "br/v:101",
"gpid": 1513
},
@@ -907,6 +959,8 @@
"CS#": 7,
"note_number": "68\u2020",
"notes": [ "A", "D", "K\u20201" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:102",
"gpid": [ 1515, 1517 ]
},
@@ -915,6 +969,8 @@
"cs#": "4\u20201",
"note_number": "69\u2020",
"notes": [ "A", "I\u20201", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "Unpossessed SW ok", "Pas: No Mounted Fire penalty" ],
"id": "br/v:103",
"gpid": [ 1519, 1521 ]
},
@@ -931,6 +987,7 @@
"CS#": 4,
"note_number": "70\u2020",
"notes": [ "N", "P", "Q\u20202", "V", "X\u20201" ],
+ "comments": [ "BU Fire OK" ],
"id": "br/v:105",
"gpid": 1525
},
@@ -939,6 +996,7 @@
"CS#": 4,
"note_number": "70\u2020",
"notes": [ "P", "Q\u20201", "V", "X\u2020" ],
+ "comments": [ "BATR SA: BU/HD Fire OK" ],
"id": "br/v:106",
"gpid": 1527
},
@@ -949,6 +1007,7 @@
"capabilities2": { "s": 8, "WP": 7 },
"note_number": "71\u20202",
"notes": [ "E\u20203", "H\u2020", "P", "V", "X\u20201", "BB\u20204" ],
+ "comments": [ "MA: Rear VCA only" ],
"id": "br/v:107",
"gpid": [ 1529, 1531 ]
},
@@ -958,6 +1017,8 @@
"capabilities2": { "sD": "5\u2020" },
"note_number": "72\u2020",
"notes": [ "K\u20201", "U" ],
+ "disabled_comments": [ "U" ],
+ "comments": [ "Always CE", "sD: 2 hexes" ],
"id": "br/v:108",
"gpid": [ 1533, 1535 ]
},
@@ -966,6 +1027,8 @@
"CS#": 3,
"note_number": "72\u2020",
"notes": [ "A", "K\u20201", "M" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:109",
"gpid": [ 1537, 1539 ]
},
@@ -975,6 +1038,7 @@
"capabilities2": { "sD": "5\u2020" },
"note_number": "73\u2020",
"notes": [ "A", "D", "AA\u20201" ],
+ "comments": [ "sD: Water OK", "Bog: 0 DRM for soft, mud, snow-covered ground" ],
"id": "br/v:110",
"gpid": 1541
},
@@ -984,6 +1048,8 @@
"capabilities2": { "sD": "5\u2020" },
"note_number": "73\u2020",
"notes": [ "A", "D", "E\u20201", "AA\u20202" ],
+ "disabled_comments": [ "(Un)load ×2" ],
+ "comments": [ "sD: Water OK", "Bog: 0 DRM for soft, mud, snow-covered ground" ],
"id": "br/v:111",
"gpid": 1543
},
@@ -1001,14 +1067,17 @@
"cs#": "7\u20201",
"note_number": "75\u2020",
"notes": [ "A", "D", "I\u20201", "P" ],
+ "disabled_comments": [ "A", "MG Removal NA" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:113",
- "gpid": 1549
+ "gpid": [ 1549, 1551 ]
},
{ "name": "Terrapin Mk I",
"type": "atr",
"cs#": 7,
"note_number": "76\u2020",
"notes": [ "D" ],
+ "disabled_comments": [ "MG Removal NA" ],
"id": "br/v:114",
"gpid": 1553
},
@@ -1017,6 +1086,7 @@
"CS#": "4\u20201",
"note_number": "77\u2020",
"notes": [ "H\u20201", "N", "P" ],
+ "comments": [ "MA: NA VCA" ],
"id": "br/v:115",
"gpid": 1555
},
@@ -1025,6 +1095,7 @@
"CS#": 4,
"note_number": "78\u2020",
"notes": [ "P", "AA\u20201" ],
+ "comments": [ "No Bnd (F)F, Motion Fire" ],
"id": "br/v:116",
"gpid": 1557
},
@@ -1033,14 +1104,16 @@
"cs#": 5,
"note_number": "79\u2020",
"notes": [ "N", "P" ],
+ "comments": [ "Not a Carrier" ],
"id": "br/v:117",
"gpid": 1559
},
{ "name": "Quad FAT",
"type": "tr",
- "CS#": "5:brewup\u2020",
+ "cs#": "5:brewup\u2020",
"note_number": "80\u2020",
"notes": [ "N", "P" ],
+ "comments": [ "Burning Wreck: -1 DRM" ],
"id": "br/v:118",
"gpid": 1561
},
@@ -1073,6 +1146,8 @@
"cs#": "2\u20201",
"note_number": "84\u2020",
"notes": [ "A", "I\u20201", "N", "P" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+", "Bog assistance" ],
"id": "br/v:122",
"gpid": [ 1569, 1570 ]
},
@@ -1081,6 +1156,8 @@
"cs#": 4,
"note_number": "85",
"notes": [ "A", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:123",
"gpid": 1571
},
@@ -1089,6 +1166,8 @@
"cs#": 6,
"note_number": "85",
"notes": [ "A", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:124",
"gpid": 1573
},
@@ -1097,6 +1176,8 @@
"cs#": 7,
"note_number": "85",
"notes": [ "A", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:125",
"gpid": 1575
},
@@ -1105,6 +1186,8 @@
"cs#": 7,
"note_number": "85\u2020",
"notes": [ "A", "N" ],
+ "disabled_comments": [ "A" ],
+ "comments": [ "American ESB+" ],
"id": "br/v:126",
"gpid": 1577
}
diff --git a/vasl_templates/webapp/data/vehicles/chinese.json b/vasl_templates/webapp/data/vehicles/chinese.json
index ce94ba3..55b1d3a 100644
--- a/vasl_templates/webapp/data/vehicles/chinese.json
+++ b/vasl_templates/webapp/data/vehicles/chinese.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "A", "B" ],
+ "comments": [ "+3 Target Size & HD in Water" ],
"id": "ch/v:000",
"gpid": 2063
},
@@ -15,6 +16,7 @@
"CS#": "2\u2020",
"note_number": "2\u2020",
"notes": [ "A", "B", "D\u20201" ],
+ "comments": [ "Stun = Recall, CE & Fire NA" ],
"id": "ch/v:001",
"gpid": 2065
},
@@ -42,6 +44,7 @@
"CS#": 3,
"note_number": "5\u2020",
"notes": [ "A", "E\u20201" ],
+ "comments": [ "12: Immob, 11: Stall", "{? 01/1941- | MA: B# = (11) | MA: B# = 11 | MA: B# (11)1+ ?}" ],
"id": "ch/v:004",
"gpid": [ 2071, 2073 ]
},
@@ -60,6 +63,7 @@
"capabilities2": { "s": 8, "WP": [ [7,"J4+"], "\u2020" ] },
"note_number": "7\u2020",
"notes": [ "A", "B", "E\u20201", "G" ],
+ "comments": [ "Multiple Hits" ],
"id": "ch/v:006",
"gpid": [ 2079, 2081 ]
},
@@ -68,6 +72,7 @@
"CS#": 4,
"note_number": "8\u2020",
"notes": [ "A", "B", "E\u20201" ],
+ "comments": [ "MA: 12.7", "{{4|MA|2*}}", "Independent AAMG's", "Inherent Crew & Passenger", "Unpossessed SW ok", "Pas: No Mounted Fire penalty", "MG Removal OK", "Crew: .50-cal MA only" ],
"id": "ch/v:007",
"gpid": 2085
},
@@ -76,6 +81,7 @@
"CS#": 5,
"note_number": "9\u2020",
"notes": [ "A", "B", "D\u20201", "E\u20202" ],
+ "comments": [ "MA: VCA only", "(Un)load ×2", "Pas: Mounted Fire", "Unpossessed SW ok", "MG Removal NA", "As fully-tracked" ],
"id": "ch/v:008",
"gpid": 2087
},
@@ -85,6 +91,7 @@
"CS#": 4,
"note_number": "10\u20201",
"notes": [ "B", "E\u20202", "F\u2020" ],
+ "comments": [ "CMG: Normal Range = 8", "CMG: Removal/Scrounge OK", "Reverse MP ×3" ],
"id": "ch/v:009",
"gpid": 2089
},
@@ -93,6 +100,7 @@
"CS#": 2,
"note_number": "11\u2020",
"notes": [ "A", "B", "F\u2020" ],
+ "comments": [ "CMG: BU Fire NA", "MA: AA ok", "Reverse MP ×4" ],
"id": "ch/v:010",
"gpid": 2091
},
@@ -101,6 +109,7 @@
"CS#": 3,
"note_number": "11\u2020",
"notes": [ "A", "B", "E\u20201", "F\u2020" ],
+ "comments": [ "MA: AA ok", "Reverse MP ×3" ],
"id": "ch/v:011",
"gpid": 2093
},
@@ -119,6 +128,7 @@
"CS#": 4,
"note_number": "12",
"notes": [ "A", "B", "E\u20201", "F\u2020" ],
+ "comments": [ "{? 01/1941- | MA: B# = (11) | MA: B# = 11 | B# (11)1+ ?}" ],
"id": "ch/v:013",
"gpid": 2097
},
@@ -127,6 +137,7 @@
"CS#": "2\u2020",
"note_number": "13\u2020",
"notes": [ "A", "B", "H\u20201" ],
+ "comments": [ "As Carrier", "Always CE", "Inherent Crew", "Riders NA", "Stun = Recall, Fire NA", "Combined (un)hooking/(un)loading" ],
"id": "ch/v:014",
"gpid": [ 2101, 2103 ]
},
@@ -135,6 +146,7 @@
"CS#": 3,
"note_number": "14\u2020",
"notes": [ "A" ],
+ "comments": [ "Always CE", "BMG: AA ok", "Combined (un)hooking/(un)loading", "{? 01/1945- | Tow OK | Tow NA | Tow45 ?}" ],
"id": "ch/v:015",
"gpid": 2105
},
@@ -143,6 +155,7 @@
"CS#": 3,
"note_number": "14\u2020",
"notes": [ "A", "E\u20201" ],
+ "comments": [ "Always CE", "ATR: [12] TH", "ATR: Removal/Scrounge OK", "Combined (un)hooking/(un)loading", "{? 01/1945- | Tow OK | Tow NA | Tow45 ?}" ],
"id": "ch/v:016",
"gpid": 2107
},
@@ -151,6 +164,7 @@
"CS#": 3,
"note_number": "14\u2020",
"notes": [ "A", "E\u20201" ],
+ "comments": [ "Always CE", "MA: Removal NA, Scrounge OK (LMG)", "Combined (un)hooking/(un)loading", "{? 01/1945- | Tow OK | Tow NA | Tow45 ?}" ],
"id": "ch/v:017",
"gpid": 2109
},
@@ -167,8 +181,9 @@
"cs#": "2\u2020",
"note_number": "16\u2020",
"notes": [ "A", "H\u20201" ],
+ "comments": [ "Inherent Crew if armed (with CS#)", "AAMG: Removal OK" ],
"id": "ch/v:019",
- "gpid": 2113
+ "gpid": [ 2113, 2114, 2115 ]
},
{ "name": "2½-Ton(a)",
"type": "tr",
diff --git a/vasl_templates/webapp/data/vehicles/finnish.json b/vasl_templates/webapp/data/vehicles/finnish.json
index bdc21dd..18950b9 100644
--- a/vasl_templates/webapp/data/vehicles/finnish.json
+++ b/vasl_templates/webapp/data/vehicles/finnish.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "D", "M" ],
+ "comments": [ "+3 Target Size & HD in Water" ],
"id": "fi/v:000",
"gpid": 6841
},
@@ -41,6 +42,7 @@
"CS#": 3,
"note_number": "5\u2020",
"notes": [ "D", "M" ],
+ "comments": [ "Turret Knock-Out: Non-HE TK = Final TK", "CMG: Scrounge as BMG" ],
"id": "fi/v:004",
"gpid": 6865
},
@@ -133,6 +135,7 @@
"capabilities2": { "A": 3, "sD": "6\u2020" },
"note_number": "14\u2020",
"notes": [ "D" ],
+ "comments": [ "sD: single use" ],
"id": "fi/v:014",
"gpid": 6911
},
@@ -157,11 +160,11 @@
"type": "AG",
"no_radio": "\u00ae",
"CS#": "3:brewup",
- "no_if": true,
"capabilities": [ "H\u2020" ],
"capabilities2": { "s": 6 },
"note_number": "16\u2020",
"notes": [ "D", "M" ],
+ "comments": [ "TCA: Pays NT DRM", "∞ HEAT", "HEAT TK# = 15", "No IF" ],
"id": "fi/v:017",
"gpid": 6925
},
@@ -171,6 +174,7 @@
"capabilities2": { "A": 3, "H": 4, "s": 8 },
"note_number": "17\u2020",
"notes": [ "D" ],
+ "comments": [ "AAMG: VCA Only" ],
"id": "fi/v:018",
"gpid": 6929
},
@@ -187,6 +191,7 @@
"type": "AC",
"CS#": 5,
"note_number": "19\u2020",
+ "comments": [ "CMG: AA ok (TCA only)", "MA: [16] TH", "Black TH#" ],
"id": "fi/v:020",
"gpid": 6937
},
@@ -194,6 +199,7 @@
"type": "AC",
"CS#": 5,
"note_number": "19\u2020",
+ "comments": [ "CMG: AA ok (TCA only)", "MA: [12] TH", "Black TH#" ],
"id": "fi/v:021",
"gpid": 6941
},
@@ -219,6 +225,7 @@
"CS#": 4,
"note_number": "22\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "4 TK DR", "AAMG: Scrounge NA" ],
"id": "fi/v:024",
"gpid": 6955
},
@@ -227,6 +234,7 @@
"CS#": "2\u2020",
"note_number": "23\u2020",
"notes": [ "D" ],
+ "comments": [ "Inherent Crew if armed (with CS#)", "Stun = Recall, CE & Fire NA", "Pas: Always CE; +1 VCA", "Unpossessed SW ok" ],
"id": "fi/v:025",
"gpid": 6959
},
@@ -250,6 +258,7 @@
"type": "tr",
"cs#": 2,
"note_number": "26\u2020",
+ "comments": [ "Bog assistance" ],
"id": "fi/v:028",
"gpid": 6979
},
diff --git a/vasl_templates/webapp/data/vehicles/free-french.json b/vasl_templates/webapp/data/vehicles/free-french.json
index e1801df..ff86ef0 100644
--- a/vasl_templates/webapp/data/vehicles/free-french.json
+++ b/vasl_templates/webapp/data/vehicles/free-french.json
@@ -81,7 +81,8 @@
"notes": [ "Fr W\u2020" ]
},
{ "id": "ff/v:018",
- "copy_from": "fr/v:020"
+ "copy_from": "fr/v:020",
+ "disabled_comments": [ "Fr F" ]
},
{ "id": "ff/v:019",
"copy_from": "am/v:041",
@@ -162,22 +163,26 @@
{ "id": "ff/v:036",
"copy_from": "br/v:094",
"note_number": "Fr 48\u20201",
- "notes": [ "Fr W\u2020" ]
+ "notes": [ "Fr W\u2020" ],
+ "comments": [ "Inherent Passenger (HS)" ]
},
{ "id": "ff/v:037",
"copy_from": "br/v:095",
"note_number": "Fr 48\u20201",
- "notes": [ "Fr W\u2020" ]
+ "notes": [ "Fr W\u2020" ],
+ "comments": [ "Inherent Passenger (HS)" ]
},
{ "id": "ff/v:038",
"copy_from": "br/v:096",
"note_number": "Fr 48\u20201",
- "notes": [ "Fr W\u2020" ]
+ "notes": [ "Fr W\u2020" ],
+ "comments": [ "Inherent Passenger (HS)" ]
},
{ "id": "ff/v:039",
"copy_from": "br/v:097",
"note_number": "Fr 48\u20201",
- "notes": [ "Fr W\u2020" ]
+ "notes": [ "Fr W\u2020" ],
+ "comments": [ "Inherent Passenger (HS)" ]
},
{ "id": "ff/v:040",
"copy_from": "fr/v:042"
diff --git a/vasl_templates/webapp/data/vehicles/french.json b/vasl_templates/webapp/data/vehicles/french.json
index 8ce5747..66d1085 100644
--- a/vasl_templates/webapp/data/vehicles/french.json
+++ b/vasl_templates/webapp/data/vehicles/french.json
@@ -6,6 +6,7 @@
"CS#": 2,
"note_number": "1\u2020",
"notes": [ "C" ],
+ "comments": [ "Road Rate NA" ],
"id": "fr/v:000",
"gpid": 1713
},
@@ -16,6 +17,7 @@
"capabilities2": { "AP": 9 },
"note_number": "1\u2020",
"notes": [ "C" ],
+ "comments": [ "Road Rate NA" ],
"id": "fr/v:001",
"gpid": 1715
},
@@ -23,9 +25,9 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": "3:brewup",
- "no_if": true,
"note_number": "1\u2020",
"notes": [ "C" ],
+ "comments": [ "Road Rate NA", "No IF" ],
"id": "fr/v:002",
"gpid": 1717
},
@@ -176,10 +178,10 @@
"type": "HT",
"no_radio": "\u00ae9\u20201",
"CS#": "5:brewup",
- "no_if": "75\u2020",
"capabilities": [ "AP975\u2020" ],
"note_number": "13\u2020",
"notes": [ "A\u20204", "B\u20203", "C", "E", "F", "I\u20202", "R\u20201" ],
+ "comments": [ "47 MA: 1MT", "75* SA: NT (bow-mounted)", "75* SA: +1 TH DRM vs Moving/Motion", "75* SA: No IF", "AP: 75* SA only", "Acquisition Loss", "Port hull CH: Original 3" ],
"id": "fr/v:018",
"gpid": [ 1757, 1759 ]
},
@@ -198,6 +200,7 @@
"capabilities2": { "AP": 10 },
"note_number": "15\u2020",
"notes": [ "F" ],
+ "comments": [ "CMG: AA ok", "MA NA in AA mode", "Partially armored - +2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed]
" ],
"id": "fr/v:020",
"gpid": [ 1767, 1769, 1771 ]
},
@@ -236,6 +239,7 @@
"CS#": 4,
"note_number": "18\u2020",
"notes": [ "E" ],
+ "comments": [ "AAMG: TCA only" ],
"id": "fr/v:024",
"gpid": [ 1779, 1781 ]
},
@@ -244,6 +248,7 @@
"CS#": 3,
"note_number": "19\u2020",
"notes": [ "E", "J\u20201" ],
+ "comments": [ "MA: Rear CVA only", "Crew Gunshield (Direct Fire)" ],
"id": "fr/v:025",
"gpid": 1785
},
@@ -253,6 +258,7 @@
"capabilities2": { "s": 8 },
"note_number": "20\u2020",
"notes": [ "F", "M\u20201" ],
+ "comments": [ "Fire NA if VCA ≤ level", "AAMG: TCA only" ],
"id": "fr/v:026",
"gpid": 1787
},
@@ -262,6 +268,7 @@
"capabilities2": { "s": 8 },
"note_number": "20\u2020",
"notes": [ "M\u20201" ],
+ "comments": [ "Fire NA if VCA ≤ level" ],
"id": "fr/v:027",
"gpid": 1789
},
@@ -269,6 +276,7 @@
"type": "AAtr",
"CS#": 4,
"note_number": "21\u2020",
+ "comments": [ "MA: AA ok", "Bnd FF & Motion Fire NA VCA" ],
"id": "fr/v:028",
"gpid": 1791
},
@@ -277,6 +285,7 @@
"CS#": 4,
"note_number": "21\u2020",
"notes": [ "AA\u20201" ],
+ "comments": [ "Bnd FF & Motion Fire NA VCA", "2 TK DR" ],
"id": "fr/v:029",
"gpid": 1793
},
@@ -285,6 +294,7 @@
"CS#": 4,
"note_number": "21\u2020",
"notes": [ "AA\u20201" ],
+ "comments": [ "Bnd FF & Motion Fire NA VCA" ],
"id": "fr/v:030",
"gpid": 1795
},
@@ -293,6 +303,7 @@
"CS#": 4,
"note_number": "21\u2020",
"notes": [ "F", "AA\u20201" ],
+ "comments": [ "Bnd FF & Motion Fire NA VCA", "{? -12/1940 | MA: B# = (11) | MA: B# = 12 | MA: B# (11)40 ?}" ],
"id": "fr/v:031",
"gpid": 1797
},
@@ -309,6 +320,7 @@
"CS#": 7,
"note_number": "23\u2020",
"notes": [ "D\u20201", "F", "AA\u20202" ],
+ "comments": [ "MA: No Bnd (F)F, Motion Fire", "Rear TF NA", "Requires Ammo Vehicle/Dump" ],
"id": "fr/v:033",
"gpid": 1803
},
@@ -356,6 +368,7 @@
"cs#": "2\u20201",
"note_number": "28\u2020",
"notes": [ "G\u20201", "K" ],
+ "comments": [ "Stun = Recall, CE & Fire NA", "Pas: SMC = 1PP, always CE" ],
"id": "fr/v:039",
"gpid": [ 1817, 1819 ]
},
@@ -364,6 +377,7 @@
"cs#": "3/2\u2020",
"note_number": "29\u2020",
"notes": [ "E", "H\u2020" ],
+ "comments": [ "Trailer (AF 0)", "Unpossessed SW ok" ],
"id": "fr/v:040",
"gpid": 1821
},
@@ -372,6 +386,7 @@
"CS#": 3,
"note_number": "30\u2020",
"notes": [ "E", "K" ],
+ "comments": [ "Always CE", "Captured Use (unless French Partisans or Free French)" ],
"id": "fr/v:041",
"gpid": 1824
},
@@ -380,6 +395,7 @@
"CS#": 3,
"note_number": "31\u2020",
"notes": [ "F", "M\u20201" ],
+ "comments": [ "Inherent Crew (not HS)", "No Passengers", "Always CE" ],
"id": "fr/v:042",
"gpid": 1826
},
@@ -404,6 +420,8 @@
"cs#": 5,
"note_number": "34\u2020",
"notes": [ "E", "J\u20201" ],
+ "disabled_comments": [ "Moves as AC [EXC: Hedge NA]" ],
+ "comments": [ "Moves as Truck" ],
"id": "fr/v:045",
"gpid": 1832
},
diff --git a/vasl_templates/webapp/data/vehicles/german.json b/vasl_templates/webapp/data/vehicles/german.json
index 58615d4..c3a5b3c 100644
--- a/vasl_templates/webapp/data/vehicles/german.json
+++ b/vasl_templates/webapp/data/vehicles/german.json
@@ -6,6 +6,7 @@
"capabilities2": { "sD": 6 },
"note_number": "1\u2020",
"notes": [ "NF" ],
+ "comments": [ "2 TK DR" ],
"id": "ge/v:000",
"gpid": 2524
},
@@ -31,6 +32,7 @@
"CS#": "2:brewup",
"capabilities2": { "sD": "7\u2020" },
"note_number": "4\u2020",
+ "comments": [ "sD: 3 hex range" ],
"id": "ge/v:003",
"gpid": 2530
},
@@ -81,6 +83,7 @@
"CS#": 2,
"note_number": "9.1\u2020",
"notes": [ "a", "c", "f" ],
+ "comments": [ "Road Rate NA" ],
"id": "ge/v:009",
"gpid": [ 2542, 7124 ]
},
@@ -90,6 +93,7 @@
"capabilities2": { "AP": 9 },
"note_number": "9.1\u2020",
"notes": [ "a", "c", "f" ],
+ "comments": [ "Road Rate NA" ],
"id": "ge/v:010",
"gpid": [ 2544, 7128 ]
},
@@ -287,9 +291,10 @@
{ "name": "PzKpfw VIE",
"type": "HT",
"CS#": 6,
- "capabilities2": { "A": [ [6,2] ], "sD": 7, "M": "7\u2020" },
+ "capabilities2": { "A": [ [6,2] ], "sD": 7 },
"note_number": "30\u2020",
"notes": [ "K", "NFT" ],
+ "comments": [ "SA: Mines (CC: 12 FP)" ],
"id": "ge/v:033",
"gpid": 2598
},
@@ -358,20 +363,20 @@
{ "name": "StuPz IV",
"type": "AG",
"CS#": 6,
- "no_if": true,
"capabilities2": { "H": 7, "s": 9 },
"note_number": "37\u2020",
"notes": [ "S" ],
+ "comments": [ "BMG: HD Fire OK", "No IF" ],
"id": "ge/v:041",
"gpid": [ 2618, 2620 ]
},
{ "name": "Sturmtiger",
"type": "AG",
"CS#": 5,
- "no_if": true,
"capabilities2": { "sN": 9 },
"note_number": "37.1\u2020",
"notes": [ "K" ],
+ "comments": [ "MA: No Bnd (F)F, Motion Fire, Acq, CE", "No Area Target Type, same Location, consecutive Fire", "+1 TH DRM vs Moving/Motion/Dash", "Riders Bail Out when MA fires", "IFT: 36+ FP with -3 DRM", "HE TK#: - Direct Hit (dr 1-2): 28 (armored), 22 (unarmored);
Specific Collateral Attack = full FP - Near Miss: 10 (armored), 16 (unarmored);
Specific Collateral Attack = 20 FP ", "No IF" ],
"id": "ge/v:042",
"gpid": 2670
},
@@ -403,10 +408,10 @@
{ "name": "StuG 105/25(i)",
"type": "AG",
"CS#": 3,
- "no_if": true,
"capabilities2": { "H": 7, "s": 9 },
"note_number": "41",
"notes": [ "I", "P\u2020" ],
+ "comments": [ "No IF" ],
"id": "ge/v:046",
"gpid": 2630
},
@@ -445,7 +450,7 @@
"id": "ge/v:050",
"gpid": 2550
},
-{ "name": "Marder I",
+{ "name": "Marder I(f)",
"type": "TD",
"CS#": "4:brewup",
"capabilities2": { "A": [ [6,2] ], "HE": 7, "s": 7 },
@@ -478,6 +483,8 @@
"capabilities2": { "A": [ [6,2] ], "HE": 7, "s": 7, "sD": 6 },
"note_number": "47",
"notes": [ "E", "G", "NF" ],
+ "disabled_comments": [ "G" ],
+ "comments": [ "{? 01/1943- | CE +3 F | | CE +3 F43+ ?}" ],
"id": "ge/v:054",
"gpid": 2646
},
@@ -537,9 +544,9 @@
{ "name": "StuIG 33B",
"type": "AG",
"CS#": 5,
- "no_if": true,
"capabilities2": { "H": 7, "s": 9 },
"note_number": "53\u2020",
+ "comments": [ "BMG: HD Fire OK", "No IF" ],
"id": "ge/v:061",
"gpid": 2668
},
@@ -582,6 +589,7 @@
"CS#": "4\u2020",
"note_number": "58\u2020",
"notes": [ "J\u2020", "N" ],
+ "comments": [ "Inherent Crew & Passenger", "CMG: Normal Range = 16, VCA only", "CMG: Removal/Scrounge OK (LMG)", "AAMG: Removal OK (dm HMG); Scrounge OK (LMG)" ],
"id": "ge/v:066",
"gpid": 2676
},
@@ -592,6 +600,7 @@
"capabilities2": { "s": 8 },
"note_number": "59",
"notes": [ "J\u2020", "N" ],
+ "comments": [ "Inherent Infantry Crew" ],
"id": "ge/v:067",
"gpid": 2678
},
@@ -634,6 +643,7 @@
"CS#": "5\u2020",
"note_number": "58\u2020",
"notes": [ "C\u2020", "J\u2020", "N" ],
+ "comments": [ "Inherent Crew & Passenger", "CMG: Normal Range = 16, VCA only", "CMG: Removal/Scrounge OK (LMG)", "AAMG: Removal OK (dm HMG); Scrounge OK (LMG)" ],
"id": "ge/v:072",
"gpid": 2690
},
@@ -644,6 +654,7 @@
"capabilities2": { "s": 8 },
"note_number": "59",
"notes": [ "C\u2020", "J\u2020", "N" ],
+ "comments": [ "Inherent Infantry Crew" ],
"id": "ge/v:073",
"gpid": 2692
},
@@ -662,6 +673,7 @@
"capabilities2": { "A": [ [4,1] ] },
"note_number": "65",
"notes": [ "C\u2020", "J\u2020", "N" ],
+ "comments": [ "{? 09/1943- | PSK | ATR | 9/43+: PSK, else ATR ?}" ],
"id": "ge/v:075",
"gpid": 2698
},
@@ -669,6 +681,7 @@
"type": "ht",
"CS#": "4:brewup",
"note_number": "66\u2020",
+ "comments": [ "Port/starboard FT's" ],
"id": "ge/v:076",
"gpid": 2700
},
@@ -676,6 +689,7 @@
"type": "ht",
"CS#": 4,
"note_number": "66.1\u2020",
+ "comments": [ "3 TK DR", "MA: AA ok" ],
"id": "ge/v:077",
"gpid": 2702
},
@@ -700,11 +714,11 @@
{ "name": "mSPW S307(f)",
"type": "SPA",
"CS#": 4,
- "no_if": true,
"capabilities": [ "IR" ],
"capabilities2": { "s": 5 },
"note_number": "67.2",
"notes": [ "a", "e" ],
+ "comments": [ "CE: +1 Rear & Indirect Fire", "VCA Facing", "Extra Smoke", "No IF" ],
"id": "ge/v:080",
"gpid": 2708
},
@@ -712,6 +726,7 @@
"type": "SC",
"CS#": 2,
"note_number": "68\u2020",
+ "comments": [ "Always CE" ],
"id": "ge/v:081",
"gpid": 2717
},
@@ -721,6 +736,7 @@
"capabilities2": { "sD": 6 },
"note_number": "69\u2020",
"notes": [ "A\u2020", "N" ],
+ "comments": [ "BU Fire NA", "Reverse MP ×4" ],
"id": "ge/v:082",
"gpid": 2719
},
@@ -730,6 +746,7 @@
"capabilities2": { "sD": 6 },
"note_number": "70\u2020",
"notes": [ "A\u2020", "N" ],
+ "comments": [ "Reverse MP ×3" ],
"id": "ge/v:083",
"gpid": 2721
},
@@ -739,6 +756,7 @@
"capabilities2": { "sD": 6 },
"note_number": "70\u2020",
"notes": [ "A\u2020", "NF" ],
+ "comments": [ "Reverse MP ×3" ],
"id": "ge/v:084",
"gpid": 2723
},
@@ -746,6 +764,7 @@
"type": "AC",
"CS#": 4,
"note_number": "71\u2020",
+ "comments": [ "Reverse MP ×2" ],
"id": "ge/v:085",
"gpid": [ 2725, 2727 ]
},
@@ -806,36 +825,37 @@
"CS#": "5:brewup",
"capabilities2": { "HE": 7, "s": 7 },
"note_number": "77\u2020",
+ "comments": [ "Reverse MP ×4" ],
"id": "ge/v:092",
"gpid": 2743
},
{ "name": "sIG IB",
"type": "SPA",
"CS#": "4:brewup",
- "no_if": true,
"capabilities2": { "H": 6, "s": 9 },
"note_number": "78",
"notes": [ "G" ],
+ "comments": [ "No IF" ],
"id": "ge/v:093",
"gpid": 2747
},
{ "name": "sIG II",
"type": "SPA",
"CS#": "4:brewup",
- "no_if": true,
"capabilities2": { "H": 6, "s": 9 },
"note_number": "79",
"notes": [ "N" ],
+ "comments": [ "No IF" ],
"id": "ge/v:094",
"gpid": 2749
},
{ "name": "sIG 38(t)M",
"type": "SPA",
"CS#": "4:brewup",
- "no_if": true,
"capabilities2": { "H": 6, "s": 9 },
"note_number": "80",
"notes": [ "E", "NFT" ],
+ "comments": [ "No IF" ],
"id": "ge/v:095",
"gpid": 2751
},
@@ -851,10 +871,10 @@
{ "name": "PzA LrS(f)",
"type": "SPA",
"CS#": 4,
- "no_if": true,
"capabilities2": { "H": 4, "s": 8 },
"note_number": "82",
"notes": [ "a", "N" ],
+ "comments": [ "No IF" ],
"id": "ge/v:097",
"gpid": 2757
},
@@ -870,9 +890,9 @@
{ "name": "PzA III/IV",
"type": "SPA",
"CS#": 6,
- "no_if": true,
"capabilities2": { "H": 5, "s": 8 },
"note_number": "83",
+ "comments": [ "No IF" ],
"id": "ge/v:099",
"gpid": 2761
},
@@ -881,6 +901,7 @@
"CS#": 4,
"note_number": "84",
"notes": [ "A\u2020", "E" ],
+ "comments": [ "CE: +1" ],
"id": "ge/v:100",
"gpid": 2763
},
@@ -897,6 +918,7 @@
"CS#": 6,
"note_number": "86",
"notes": [ "A\u2020" ],
+ "comments": [ "4 TK DR" ],
"id": "ge/v:103",
"gpid": [ 2768, 2817 ]
},
@@ -937,6 +959,7 @@
"CS#": 4,
"note_number": "90",
"notes": [ "A\u2020", "D\u2020", "N" ],
+ "comments": [ "4 TK DR" ],
"id": "ge/v:108",
"gpid": 2781
},
@@ -945,6 +968,7 @@
"CS#": 3,
"note_number": "91\u2020",
"notes": [ "N" ],
+ "comments": [ "2 TK DR (MG)" ],
"id": "ge/v:109",
"gpid": 2784
},
@@ -976,6 +1000,7 @@
"cs#": "2\u2020",
"note_number": "94\u2020",
"notes": [ "L\u2020", "N" ],
+ "comments": [ "Inherent Crew if armed (with CS#)" ],
"id": "ge/v:113",
"gpid": 2791
},
@@ -984,6 +1009,7 @@
"cs#": 2,
"note_number": "95\u2020",
"notes": [ "L\u2020" ],
+ "comments": [ "+3 Target Size & HD in Water" ],
"id": "ge/v:114",
"gpid": 2793
},
@@ -1008,6 +1034,7 @@
"cs#": 2,
"note_number": "97\u2020",
"notes": [ "L\u2020", "N" ],
+ "comments": [ "As vehicle (not motorcycle)", "Crew/HS Riders OK", "Hidden AT Mine attacks NA", "AP Mine attacks: Area Fire" ],
"id": "ge/v:117",
"gpid": [ 2710, 2798 ]
},
diff --git a/vasl_templates/webapp/data/vehicles/italian.json b/vasl_templates/webapp/data/vehicles/italian.json
index 0e6acc1..eda7067 100644
--- a/vasl_templates/webapp/data/vehicles/italian.json
+++ b/vasl_templates/webapp/data/vehicles/italian.json
@@ -32,6 +32,7 @@
"CS#": 2,
"note_number": "3\u2020",
"notes": [ "C", "E\u20202", "F\u20201", "N", "R" ],
+ "comments": [ "BMG: CE Fire NA", "BMG: Removal OK (dm MMG)" ],
"id": "it/v:003",
"gpid": 3472
},
@@ -41,6 +42,8 @@
"CS#": 2,
"note_number": "4\u2020",
"notes": [ "E", "J\u20201", "N" ],
+ "disabled_comments": [ "BMG: HD Fire OK" ],
+ "comments": [ "MA: CE use NA" ],
"id": "it/v:004",
"gpid": 3474
},
@@ -50,6 +53,7 @@
"CS#": 2,
"note_number": "5\u2020",
"notes": [ "E\u20201", "N" ],
+ "comments": [ "Trailer (AF 0)" ],
"id": "it/v:005",
"gpid": 3476
},
@@ -67,6 +71,7 @@
"CS#": 3,
"note_number": "7\u2020",
"notes": [ "A\u20201", "N" ],
+ "comments": [ "B11: SA only" ],
"id": "it/v:007",
"gpid": 3481
},
@@ -100,6 +105,7 @@
"CS#": 2,
"note_number": "11\u2020",
"notes": [ "I\u20201" ],
+ "comments": [ "CMG: AA ok (TCA only)", "CE: +1 Rear Turret & Indirect Fire", "French ESB+" ],
"id": "it/v:011",
"gpid": 3495
},
@@ -142,10 +148,10 @@
{ "name": "SMV M43 105/25",
"type": "AG",
"CS#": 4,
- "no_if": true,
"capabilities2": { "H": 7, "s": 8 },
"note_number": "14",
"notes": [ "C\u2020" ],
+ "comments": [ "No IF" ],
"id": "it/v:016",
"gpid": 3511
},
@@ -154,6 +160,7 @@
"CS#": 3,
"note_number": "15\u2020",
"notes": [ "NT", "R" ],
+ "comments": [ "Always CE" ],
"id": "it/v:017",
"gpid": 3513
},
@@ -163,6 +170,7 @@
"capabilities2": { "HE": 7 },
"note_number": "16\u2020",
"notes": [ "D\u20201" ],
+ "comments": [ "Same Location fire NA", "CE: 0/+1" ],
"id": "it/v:018",
"gpid": 3515
},
@@ -171,6 +179,7 @@
"CS#": 3,
"note_number": "17\u2020",
"notes": [ "L\u20201", "M", "N" ],
+ "comments": [ "As Truck" ],
"id": "it/v:019",
"gpid": 3519
},
@@ -179,6 +188,7 @@
"CS#": 4,
"note_number": "17\u2020",
"notes": [ "G\u20201", "L\u20202", "M", "N", "AA\u20201" ],
+ "comments": [ "As Truck" ],
"id": "it/v:020",
"gpid": 3521
},
@@ -187,6 +197,7 @@
"CS#": 4,
"note_number": "17\u2020",
"notes": [ "G\u20201", "J\u20201", "L\u20202", "M", "N" ],
+ "comments": [ "As Truck" ],
"id": "it/v:021",
"gpid": 3523
},
@@ -204,6 +215,7 @@
"CS#": 6,
"note_number": "19\u2020",
"notes": [ "A\u20202", "F\u20203", "M\u20201" ],
+ "comments": [ "Rear MG: Removal OK (dm MMG)", "Wire clearance" ],
"id": "it/v:023",
"gpid": 3527
},
@@ -213,6 +225,7 @@
"CS#": 5,
"note_number": "20\u2020",
"notes": [ "A\u20202", "F\u20203", "M\u20201" ],
+ "comments": [ "Rear MG: Removal OK (dm MMG)" ],
"id": "it/v:024",
"gpid": 3529
},
@@ -223,6 +236,7 @@
"capabilities2": { "HE": 7 },
"note_number": "20\u2020",
"notes": [ "F\u20202", "M\u20201" ],
+ "comments": [ "Rear MG: Removal OK (dm MMG)" ],
"id": "it/v:025",
"gpid": 3531
},
@@ -231,6 +245,7 @@
"CS#": 4,
"note_number": "21",
"notes": [ "A\u2020", "I\u20201", "N" ],
+ "comments": [ "Rear MG: AA ok (TCA only)" ],
"id": "it/v:026",
"gpid": 3533
},
@@ -247,6 +262,7 @@
"CS#": 4,
"note_number": "22\u2020",
"notes": [ "R" ],
+ "comments": [ "As Armored HT", "Moves as AC", "Reverse MP ×4" ],
"id": "it/v:028",
"gpid": 3539
},
@@ -255,6 +271,7 @@
"CS#": 4,
"note_number": "23\u2020",
"notes": [ "G\u20201", "N", "R", "AA\u2020" ],
+ "comments": [ "British for Hamm.Immob. & Sand Bog" ],
"id": "it/v:029",
"gpid": 3545
},
@@ -264,8 +281,9 @@
"capabilities2": { "H": [ [7,"S2+"], "\u20202" ] },
"note_number": "23\u2020",
"notes": [ "G\u20201", "H\u20202", "N" ],
+ "comments": [ "British for Hamm.Immob. & Sand Bog" ],
"id": "it/v:030",
- "gpid": 3541
+ "gpid": [ 3541, 3543 ]
},
{ "name": "Autocann 75/27",
"type": "AAtr",
@@ -289,6 +307,7 @@
"cs#": 5,
"note_number": "25\u2020",
"notes": [ "L\u20201", "M", "N", "R" ],
+ "comments": [ "Ammo: 4PP" ],
"id": "it/v:033",
"gpid": 3551
},
@@ -297,6 +316,7 @@
"cs#": 5,
"note_number": "25\u2020",
"notes": [ "L\u20201", "M", "N", "R" ],
+ "comments": [ "Ammo: 4PP" ],
"id": "it/v:034",
"gpid": 3553
},
@@ -305,6 +325,7 @@
"cs#": 5,
"note_number": "25\u2020",
"notes": [ "L\u20201", "M", "N", "R" ],
+ "comments": [ "Ammo: 4PP" ],
"id": "it/v:035",
"gpid": 3555
},
@@ -321,6 +342,7 @@
"cs#": "2\u20201",
"note_number": "27\u2020",
"notes": [ "A\u20202", "K\u20201", "N", "R" ],
+ "comments": [ "No Passengers", "AAMG: VCA only", "AAMG: Removal NA, Scrounge OK", "Bog Assistance" ],
"id": "it/v:037",
"gpid": [ 3561, 3562 ]
},
diff --git a/vasl_templates/webapp/data/vehicles/japanese.json b/vasl_templates/webapp/data/vehicles/japanese.json
index ac5d8d9..3eb183a 100644
--- a/vasl_templates/webapp/data/vehicles/japanese.json
+++ b/vasl_templates/webapp/data/vehicles/japanese.json
@@ -15,6 +15,7 @@
"CS#": 3,
"note_number": "1\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "MA: CMG or BMG", "BMG: 12,7", "BMG: AA ok (VCA only, HD ok, no AA mode)", "Recall: Both MG disabled" ],
"id": "ja/v:001",
"gpid": 3312
},
@@ -31,6 +32,7 @@
"no_radio": "\u00ae",
"CS#": 5,
"note_number": "3\u2020",
+ "comments": [ "MA: Normal Range = 8", "MA: Removal/Scrounge OK" ],
"id": "ja/v:003",
"gpid": 3316
},
@@ -46,8 +48,8 @@
"type": "Tt",
"no_radio": "\u00ae",
"CS#": 2,
- "no_if": true,
"note_number": "4\u2020",
+ "comments": [ "No IF" ],
"id": "ja/v:005",
"gpid": 3320
},
@@ -58,6 +60,7 @@
"capabilities2": { "sD": [ [5,"4+"], "\u20201" ] },
"note_number": "5\u2020",
"notes": [ "B\u20201", "C\u20202" ],
+ "comments": [ "Rear MG: 4:00 from MA" ],
"id": "ja/v:006",
"gpid": 3322
},
@@ -65,6 +68,7 @@
"type": "aLT",
"CS#": "5\u2020",
"note_number": "6\u2020",
+ "comments": [ "Amphibious", "Movement restrictions", "Near misses" ],
"id": "ja/v:007",
"gpid": 3326
},
@@ -81,6 +85,7 @@
"CS#": 4,
"note_number": "7\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "AP TK# = 8" ],
"id": "ja/v:009",
"gpid": 3329
},
@@ -89,6 +94,7 @@
"no_radio": "\u00ae",
"CS#": 4,
"note_number": "7\u2020",
+ "comments": [ "Rear MG: 8:00 from MA", "AP TK# = 8" ],
"id": "ja/v:010",
"gpid": 3331
},
@@ -123,6 +129,7 @@
"CS#": 6,
"note_number": "10\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "BMG: Normal Range = 8", "Reverse MP ×3" ],
"id": "ja/v:014",
"gpid": [ 3341, 3343, 3345 ]
},
@@ -131,6 +138,7 @@
"CS#": 4,
"note_number": "11\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "Reverse MP ×4" ],
"id": "ja/v:015",
"gpid": [ 3347, 3349 ]
},
@@ -145,9 +153,9 @@
{ "name": "Type 4 HO-RO",
"type": "SPA",
"CS#": "5:brewup",
- "no_if": true,
"capabilities2": { "WP": 6 },
"note_number": "13\u2020",
+ "comments": [ "No IF" ],
"id": "ja/v:017",
"gpid": 3355
},
@@ -169,6 +177,7 @@
"type": "PC",
"cs#": 5,
"note_number": "16\u2020",
+ "comments": [ "Ammo: 4PP" ],
"id": "ja/v:020",
"gpid": 3361
},
@@ -176,6 +185,7 @@
"type": "tr",
"cs#": 2,
"note_number": "17\u2020",
+ "comments": [ "Bog assistance" ],
"id": "ja/v:021",
"gpid": 3363
},
@@ -195,6 +205,7 @@
},
{ "name": "Vickers 8-in. Costal Defense Gun Turret",
"note_number": "19\u2020",
+ "comments": [ "Always CE (+3 DRM)", "As OT Armored Cupola", "CC: As Immobile OT AFV [EXC: PAATC NA]", "AP TK# = 19" ],
"id": "ja/v:024",
"gpid": 3299
}
diff --git a/vasl_templates/webapp/data/vehicles/kfw/bcfk.json b/vasl_templates/webapp/data/vehicles/kfw/bcfk.json
index 0699a65..386fce7 100644
--- a/vasl_templates/webapp/data/vehicles/kfw/bcfk.json
+++ b/vasl_templates/webapp/data/vehicles/kfw/bcfk.json
@@ -24,6 +24,7 @@
"capabilities2": { "s": "8\u2020", "sD": 7, "sM": "8\u20201" },
"note_number": "35\u2020",
"notes": [ "N", "ZZ\u20201" ],
+ "comments": [ "AP & WP NA", "OP Tank: MA ok" ],
"id": "kfw-bcfk/v:002",
"gpid": 1320
},
@@ -33,6 +34,7 @@
"capabilities2": { "sD": 7 },
"note_number": "36\u20201",
"notes": [ "TT\u2020" ],
+ "comments": [ "Inherent Crew" ],
"id": "kfw-bcfk/v:003",
"gpid": "3b5:7658"
},
@@ -42,6 +44,7 @@
"capabilities2": { "s": 8, "WP": 6, "sD": 7, "sM": "8\u20201" },
"note_number": "37\u2020",
"notes": [ "N", "CC", "ZZ\u20201" ],
+ "comments": [ "Steep climbs" ],
"id": "kfw-bcfk/v:004",
"gpid": 1372
},
@@ -51,6 +54,7 @@
"capabilities2": { "HE": 8, "D": [ "\u2020" ], "s": 8, "WP": 6, "sD": 7, "sM": "8\u20201" },
"note_number": "38\u2020",
"notes": [ "CC", "ZZ\u20201" ],
+ "comments": [ "Steep climbs", "AP TK# = 26", "APDS TK# = 35 (TH -1 DRM per 18 hexes FRU)", "∞ D", "Gyrostabilizer" ],
"id": "kfw-bcfk/v:005",
"gpid": 11365
},
@@ -60,6 +64,7 @@
"capabilities2": { "D": 8, "s": 8, "WP": 6, "sD": 7, "sM": "8\u20202" },
"note_number": "38\u2020",
"notes": [ "CC", "FF\u20201", "ZZ\u20202" ],
+ "comments": [ "Steep climbs", "AP TK# = 26", "APDS TK# = 35 (TH -1 DRM per 18 hexes FRU)", "Gyrostabilizer" ],
"id": "kfw-bcfk/v:006",
"gpid": "3b5:7669"
},
@@ -69,6 +74,7 @@
"capabilities2": { "sD": 7 },
"note_number": "39\u2020",
"notes": [ "N", "CC" ],
+ "comments": [ "Inherent Crew", "Passengers & Riders NA", "VBM NA (with bridge)", "Stun = Recall" ],
"id": "kfw-bcfk/v:007",
"gpid": "3b5:7681"
},
@@ -79,6 +85,8 @@
"capabilities2": { "WP": 8 },
"note_number": "40\u2020",
"notes": [ "Q\u20201", "NN", "UU" ],
+ "disabled_comments": [ "Q" ],
+ "comments": [ "MA: Rear VCA only", "MA Removal OK (dm M1(L) 81mm Mortar)" ],
"id": "kfw-bcfk/v:008",
"gpid": "3b5:7705"
},
@@ -96,6 +104,7 @@
"capabilities2": { "sD": 4 },
"note_number": "42\u2020",
"notes": [ "N" ],
+ "comments": [ "Stun = Recall, CE & Fire NA" ],
"id": "kfw-bcfk/v:010",
"gpid": 1401
},
@@ -105,6 +114,7 @@
"capabilities2": { "sD": 5 },
"note_number": "43\u2020",
"notes": [ "N", "U\u20201" ],
+ "comments": [ "Always CE", "BMG: AA ok" ],
"id": "kfw-bcfk/v:011",
"gpid": 1497
},
@@ -114,6 +124,7 @@
"capabilities2": { "sD": 5 },
"note_number": "43\u2020",
"notes": [ "N", "U\u20202", "Z\u20201" ],
+ "comments": [ "Always CE", "MA: Removal NA", "{? 08/1943- | PIAT | | PIATJ3+ ?}" ],
"id": "kfw-bcfk/v:012",
"gpid": 1501
},
@@ -123,6 +134,7 @@
"capabilities2": { "sD": 5 },
"note_number": "44\u2020",
"notes": [ "N", "U\u20201" ],
+ "comments": [ "Always CE" ],
"id": "kfw-bcfk/v:013",
"gpid": 1503
},
@@ -131,6 +143,7 @@
"CS#": "4:brewup",
"note_number": "45\u2020",
"notes": [ "U", "MM\u20201", "NN" ],
+ "comments": [ "Always CE", "Pas: 1 SMC and/or 1PP SW" ],
"id": "kfw-bcfk/v:014",
"gpid": 1511
},
@@ -139,6 +152,7 @@
"CS#": "5\u2020",
"note_number": "46\u2020",
"notes": [ "EE\u20201" ],
+ "comments": [ "Inherent Crew" ],
"id": "kfw-bcfk/v:015",
"gpid": "3b5:7735"
},
@@ -171,6 +185,7 @@
"CS#": 4,
"note_number": "49\u2020",
"notes": [ "N", "W\u20201" ],
+ "comments": [ "As wheeled OT AFV [EXC: D6.82-.83]", "Unpossessed SW ok" ],
"id": "kfw-bcfk/v:019",
"gpid": 1527
},
@@ -180,6 +195,7 @@
"capabilities2": { "sD": "5\u2020" },
"note_number": "50\u2020",
"notes": [ "N", "U" ],
+ "comments": [ "Always CE", "sD: 2 hexes" ],
"id": "kfw-bcfk/v:020",
"gpid": 1533
},
@@ -188,6 +204,7 @@
"CS#": 4,
"note_number": "51\u2020",
"notes": [ "N", "AA\u20201" ],
+ "comments": [ "No Bnd (F)F, Motion Fire" ],
"id": "kfw-bcfk/v:021",
"gpid": 1557
},
@@ -196,6 +213,7 @@
"cs#": "5:brewup\u2020",
"note_number": "52\u2020",
"notes": [ "N" ],
+ "comments": [ "Burning Wreck: -1 DRM" ],
"id": "kfw-bcfk/v:022",
"gpid": 1561
},
diff --git a/vasl_templates/webapp/data/vehicles/kfw/kpa.json b/vasl_templates/webapp/data/vehicles/kfw/kpa.json
index 2d1309b..8e6feb6 100644
--- a/vasl_templates/webapp/data/vehicles/kfw/kpa.json
+++ b/vasl_templates/webapp/data/vehicles/kfw/kpa.json
@@ -5,6 +5,7 @@
"CS#": 6,
"capabilities2": { "A": 6, "sD": "6\u2020" },
"note_number": "1\u2020",
+ "comments": [ "sD: single-use" ],
"id": "kfw-kpa/v:000",
"gpid": "3b5:8212"
},
@@ -21,6 +22,7 @@
"CS#": 2,
"note_number": "3\u2020",
"notes": [ "B" ],
+ "comments": [ "MA: AA ok", "BU Fire NA" ],
"id": "kfw-kpa/v:002",
"gpid": "3b5:8216"
},
@@ -29,6 +31,7 @@
"cs#": 2,
"note_number": "4\u2020",
"notes": [ "B" ],
+ "comments": [ "Bog assistance" ],
"id": "kfw-kpa/v:003",
"gpid": "3b5:11102"
},
diff --git a/vasl_templates/webapp/data/vehicles/kfw/un-common.json b/vasl_templates/webapp/data/vehicles/kfw/un-common.json
index 4eca4ed..a72a62e 100644
--- a/vasl_templates/webapp/data/vehicles/kfw/un-common.json
+++ b/vasl_templates/webapp/data/vehicles/kfw/un-common.json
@@ -5,6 +5,7 @@
"CS#": 5,
"note_number": "54\u2020",
"notes": [ "E\u2020", "H", "K", "Y", "Z\u20201", "UU" ],
+ "comments": [ "MA: 12.7", "{{4|MA|2*}}", "AAMG Removal OK (dm .50-cal HMG, dm MMG)", "BAZ" ],
"id": "kfw-un-common/v:000",
"gpid": [ 969, "3b5:7703", "3b5:4019" ]
},
@@ -14,6 +15,7 @@
"capabilities2": { "sP": 5 },
"note_number": "55\u2020",
"notes": [ "D\u20204", "K", "Q\u20202", "W\u20201", "Y", "Z\u20203", "UU" ],
+ "comments": [ "MA: 12.7", "BAZ", "AAMG Removal OK (.50-cal HMG)" ],
"id": "kfw-un-common/v:001",
"gpid": [ 998, "3b5:7697", "3b5:4036" ]
},
diff --git a/vasl_templates/webapp/data/vehicles/kfw/us-rok-ounc.json b/vasl_templates/webapp/data/vehicles/kfw/us-rok-ounc.json
index d6bc922..19e5af3 100644
--- a/vasl_templates/webapp/data/vehicles/kfw/us-rok-ounc.json
+++ b/vasl_templates/webapp/data/vehicles/kfw/us-rok-ounc.json
@@ -6,6 +6,7 @@
"capabilities2": { "s": 5, "WP": 7, "sM": 8 },
"note_number": "1\u2020",
"notes": [ "O", "Y" ],
+ "comments": [ "Multiple Hits" ],
"id": "kfw-uro/v:000",
"gpid": [ 12652, "3b5:8419" ]
},
@@ -51,6 +52,7 @@
"capabilities2": { "C": 5, "sM": 8 },
"note_number": "5\u2020",
"notes": [ "C", "M" ],
+ "comments": [ "TCA restrictions", "CE: MA, SA Fire NA", "Fire MA & SA NA" ],
"id": "kfw-uro/v:005",
"gpid": "3b5:3632"
},
@@ -59,6 +61,7 @@
"CS#": 6,
"note_number": "6\u2020",
"notes": [ "K", "M", "P" ],
+ "comments": [ "Front turret AF = 4", "(Un)load: 2 MF", "May tow vehicles", "Bog assistance" ],
"id": "kfw-uro/v:006",
"gpid": "3b5:3634"
},
@@ -102,6 +105,7 @@
"CS#": 2,
"capabilities2": { "H": [ "\u2020" ] },
"note_number": "11\u2020",
+ "comments": [ "MA: RCL (crew only)", "Red TH#", "No Bnd FF, Motion Fire", "Rear VCA NA", "∞ H", "HEAT TK# = 25" ],
"id": "kfw-uro/v:011",
"gpid": "3b5:3642"
},
@@ -110,6 +114,7 @@
"CS#": 5,
"note_number": "12\u2020",
"notes": [ "K", "Y" ],
+ "comments": [ "MA: As MMG for TK & Removal" ],
"id": "kfw-uro/v:012",
"gpid": [ 967, "3b5:4017" ]
},
@@ -118,6 +123,7 @@
"CS#": 5,
"note_number": "13\u2020",
"notes": [ "E\u2020", "H", "K", "Y" ],
+ "comments": [ "Inherent Crew & Passenger", "MA: 12.7", "{{4|MA|4*|4*}}", "MG Removal OK (dm .50-cal HMG, dm MMG)" ],
"id": "kfw-uro/v:013",
"gpid": [ 971, "3b5:4021" ]
},
@@ -126,6 +132,7 @@
"CS#": 5,
"note_number": "13\u2020",
"notes": [ "E\u2020", "H", "K", "Y" ],
+ "comments": [ "Inherent Crew & Passenger", "MA: 12.7", "{{4|MA|6*|6*}}", "MG Removal OK (dm .50-cal HMG, dm HMG)" ],
"id": "kfw-uro/v:014",
"gpid": [ 973, "3b5:4023" ]
},
@@ -134,6 +141,7 @@
"CS#": 4,
"note_number": "14\u2020",
"notes": [ "AA\u20201" ],
+ "comments": [ "MA: VCA < level NA", "Trailer (0 AF)" ],
"id": "kfw-uro/v:015",
"gpid": "3b5:3676"
},
@@ -142,6 +150,7 @@
"CS#": 4,
"note_number": "15\u2020",
"notes": [ "O", "V\u20201", "Y", "AA\u20202", "DD\u20201" ],
+ "comments": [ "CMG: Normal Range = 16", "CMG Removal NA" ],
"id": "kfw-uro/v:016",
"gpid": [ 990, "3b5:8421" ]
},
@@ -150,6 +159,7 @@
"CS#": 4,
"note_number": "16\u2020",
"notes": [ "AA\u20202", "DD\u20201" ],
+ "comments": [ "CE: +1" ],
"id": "kfw-uro/v:017",
"gpid": "3b5:3686"
},
@@ -158,6 +168,7 @@
"CS#": 4,
"note_number": "17\u2020",
"notes": [ "F\u20201", "V\u20201", "Y", "AA\u20202", "DD\u20201" ],
+ "comments": [ "CE: +1 Side/Rear Turret" ],
"id": "kfw-uro/v:018",
"gpid": 992
},
@@ -166,6 +177,7 @@
"CS#": 5,
"note_number": "18\u2020",
"notes": [ "F\u20201", "V\u20201", "AA\u20202", "DD\u20201" ],
+ "comments": [ "CE: +3 Front Turret" ],
"id": "kfw-uro/v:019",
"gpid": "3b5:3688"
},
@@ -182,6 +194,7 @@
"CS#": "5:brewup",
"capabilities2": { "WP": 8 },
"note_number": "19\u2020",
+ "comments": [ "Inherent Infantry Crew", "MA Removal OK (dm M1(L) 81mm Mortar)" ],
"id": "kfw-uro/v:021",
"gpid": 12279
},
@@ -205,29 +218,29 @@
{ "name": "M41 HMC",
"type": "SPA",
"CS#": 9,
- "no_if": true,
"capabilities2": { "s": 7, "WP": 8 },
"note_number": "22\u2020",
"notes": [ "S\u20201" ],
+ "comments": [ "No IF" ],
"id": "kfw-uro/v:024",
"gpid": "3b5:10290"
},
{ "name": "M40 GMC",
"type": "SPA",
"CS#": 9,
- "no_if": true,
"capabilities2": { "AP": 4, "s": 7, "WP": 8 },
"note_number": "23",
"notes": [ "S\u2020" ],
+ "comments": [ "No IF" ],
"id": "kfw-uro/v:025",
"gpid": "3b5:4148"
},
{ "name": "M43 HMC",
"type": "SPA",
"CS#": 9,
- "no_if": true,
"note_number": "23",
"notes": [ "S\u2020" ],
+ "comments": [ "No IF" ],
"id": "kfw-uro/v:026",
"gpid": "3b5:4154"
},
@@ -237,6 +250,7 @@
"capabilities2": { "H": 8, "C": 7, "WP": 8 },
"note_number": "24\u2020",
"notes": [ "H", "T\u20201", "X\u20202" ],
+ "comments": [ "AAMG: 4&4; NA opposite side" ],
"id": "kfw-uro/v:027",
"gpid": 11344
},
@@ -254,6 +268,8 @@
"CS#": 7,
"note_number": "25\u2020",
"notes": [ "D\u2020", "H", "M", "T\u20201", "X\u20202" ],
+ "disabled_comments": [ "(Un)load ×2" ],
+ "comments": [ "{{6|MA|4*}} (optional)", "MG VCA only", "MA: 12.7", "CE: +3 Front", "(Un)load: must be CE, Rear unarmored" ],
"id": "kfw-uro/v:029",
"gpid": [ "3b5:3704", "3b5:3706" ]
},
@@ -262,6 +278,8 @@
"CS#": 7,
"note_number": "25\u2020",
"notes": [ "D\u2020", "M", "T\u20201", "X\u20202", "BB\u2020" ],
+ "disabled_comments": [ "(Un)load ×2" ],
+ "comments": [ "MA: Rear VCA < level NA", "(Un)load: Rear unarmored" ],
"id": "kfw-uro/v:030",
"gpid": 11348
},
@@ -286,6 +304,7 @@
"CS#": 3,
"note_number": "28\u2020",
"notes": [ "B\u20201", "M", "T\u20201" ],
+ "comments": [ "Bog Checks NA for Marsh, Mudflat, Swamp" ],
"id": "kfw-uro/v:033",
"gpid": "3b5:3896"
},
@@ -302,20 +321,22 @@
"CS#": "7\u20201",
"note_number": "30\u2020",
"notes": [ "D\u20202", "M", "Q\u20201", "Y" ],
+ "comments": [ "AAMG Removal OK (.50-cal HMG)" ],
"id": "kfw-uro/v:035",
- "gpid": 1032
+ "gpid": [ 1032, 1034 ]
},
{ "name": "TACP Jeep",
"type": "trv",
"CS#": "2\u2020",
"note_number": "31\u2020",
"notes": [ "L\u20201", "M" ],
+ "comments": [ "Inherent Crew", "Morale 8", "(Un)load: 1 MF", "Contact: 10", "Radio: R2, X6" ],
"id": "kfw-uro/v:036",
"gpid": "3b5:3643"
},
{ "name": "7½-Ton",
"type": "tr",
- "CS#": 7,
+ "cs#": 7,
"note_number": "32",
"notes": [ "Y" ],
"id": "kfw-uro/v:037",
@@ -325,6 +346,7 @@
"type": "trv",
"CS#": "7\u2020",
"note_number": "33\u2020",
+ "comments": [ "Inherent Crew", "IB VCA NA", "Reliability DR: 10", "Sighting TC" ],
"id": "kfw-uro/v:038",
"gpid": "3b5:10093"
}
diff --git a/vasl_templates/webapp/data/vehicles/landing-craft.json b/vasl_templates/webapp/data/vehicles/landing-craft.json
index 004885a..3711f0c 100644
--- a/vasl_templates/webapp/data/vehicles/landing-craft.json
+++ b/vasl_templates/webapp/data/vehicles/landing-craft.json
@@ -5,6 +5,7 @@
"damage_points": 2,
"note_number": "1\u2020",
"notes": [ "A\u20201", "B\u20203", "C\u20202", "D" ],
+ "comments": [ "British: Unarmored & unarmed; Inherent Crew", "MA: 4&4" ],
"id": "sh/v:000",
"gpid": [ 399, 397 ]
},
@@ -12,6 +13,7 @@
"CS#": 6,
"damage_points": 3,
"note_number": "2\u2020",
+ "comments": [ "Personnel/SW only", "Collateral Attacks: ½ FP" ],
"id": "sh/v:001",
"gpid": 401
},
@@ -20,6 +22,7 @@
"damage_points": 3,
"note_number": "3\u2020",
"notes": [ "B\u20202", "C\u20201" ],
+ "comments": [ "Inherent Crew", "MA: 4&4", "{? 06/1943- | | Unarmored & unarmed | Unarmored & unarmed (pre-6/43) ?}" ],
"id": "sh/v:002",
"gpid": [ 403, 405 ]
},
@@ -28,6 +31,7 @@
"damage_points": 5,
"note_number": "4\u2020",
"notes": [ "B\u20202", "C\u20201" ],
+ "comments": [ "MA: 2&2 or 6&6" ],
"id": "sh/v:004",
"gpid": [ 407, 409 ]
},
@@ -36,6 +40,7 @@
"damage_points": 14,
"note_number": "5\u2020",
"notes": [ "C\u20203", "D", "E\u20202", "F\u20201", "G" ],
+ "comments": [ "AAMG: 2&2", "-3 Target Size - One-level LOS obstacle across Side
- Units may not move through Location
", "Cloaked Passengers" ],
"id": "sh/v:005",
"gpid": 411
},
@@ -44,6 +49,7 @@
"damage_points": 10,
"note_number": "6\u2020",
"notes": [ "C\u20203", "E\u20202", "F\u20201", "G" ],
+ "comments": [ "-4 Target Size - One-level LOS obstacle across Side
- Units may not move through Location
", "Infantry Stack unload" ],
"id": "sh/v:006",
"gpid": [ 413, 415 ]
},
@@ -52,6 +58,7 @@
"damage_points": 3,
"note_number": "7\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "AAMG: Rear/port-side only" ],
"id": "sh/v:007",
"gpid": 417
},
@@ -60,6 +67,7 @@
"damage_points": 2,
"note_number": "8\u2020",
"notes": [ "A\u2020", "D" ],
+ "comments": [ "Passengers: BU NA" ],
"id": "sh/v:008",
"gpid": 419
}
diff --git a/vasl_templates/webapp/data/vehicles/russian.json b/vasl_templates/webapp/data/vehicles/russian.json
index 5c72626..3a13fe9 100644
--- a/vasl_templates/webapp/data/vehicles/russian.json
+++ b/vasl_templates/webapp/data/vehicles/russian.json
@@ -15,6 +15,7 @@
"CS#": 2,
"note_number": "1.1\u2020",
"notes": [ "M", "Q" ],
+ "comments": [ "Riders: 1 crew, 1 SMC only (NA if Towing)" ],
"id": "ru/v:001",
"gpid": 7032
},
@@ -24,6 +25,7 @@
"CS#": 2,
"note_number": "2\u2020",
"notes": [ "H\u2020" ],
+ "comments": [ "2 TK DR (12.7 & MG)" ],
"id": "ru/v:002",
"gpid": 543
},
@@ -87,6 +89,7 @@
"CS#": 3,
"note_number": "6.1\u2020",
"notes": [ "M", "P" ],
+ "comments": [ "CMG: Scrounge OK" ],
"id": "ru/v:009",
"gpid": 7036
},
@@ -96,6 +99,7 @@
"CS#": 3,
"note_number": "6.2\u2020",
"notes": [ "M", "P" ],
+ "comments": [ "CMG: Scrounge OK" ],
"id": "ru/v:010",
"gpid": 7040
},
@@ -113,6 +117,7 @@
"CS#": 3,
"note_number": "6.4\u2020",
"notes": [ "M" ],
+ "comments": [ "VBM NA (with bridge)", "TCA restrictions", "Riders NA" ],
"id": "ru/v:012",
"gpid": 7048
},
@@ -131,6 +136,7 @@
"CS#": 3,
"note_number": "7.1\u2020",
"notes": [ "M" ],
+ "comments": [ "CMG: 2:00 from MA" ],
"id": "ru/v:014",
"gpid": 573
},
@@ -224,10 +230,10 @@
"type": "MTv",
"no_radio": "\u00ae\u2020",
"CS#": 4,
- "no_if": true,
"capabilities2": { "A": [ [2,2] ], "AP": 7 },
"note_number": "15\u2020",
"notes": [ "C\u2020", "M" ],
+ "comments": [ "No IF" ],
"id": "ru/v:024",
"gpid": 595
},
@@ -264,6 +270,7 @@
"capabilities2": { "A": [ [3,4] ], "s": 8, "sM": 8 },
"note_number": "19\u2020",
"notes": [ "N" ],
+ "comments": [ "Black TH#", "U.S. AP & APCR TK #'s" ],
"id": "ru/v:028",
"gpid": 603
},
@@ -283,6 +290,7 @@
"capabilities2": { "s": 9 },
"note_number": "21\u2020",
"notes": [ "M" ],
+ "comments": [ "45L SA: Always BU; No TCA Change DRM; No IF" ],
"id": "ru/v:030",
"gpid": 607
},
@@ -297,7 +305,7 @@
{ "name": "T-100",
"type": "HT",
"CS#": 7,
- "note_number": "22.1",
+ "note_number": "21.2",
"notes": [ "M", "T\u2020" ],
"id": "ru/v:032",
"gpid": 7060
@@ -339,10 +347,10 @@
{ "name": "KV-2",
"type": "HT",
"CS#": 7,
- "no_if": true,
"capabilities2": { "AP": 9 },
"note_number": "24\u2020",
"notes": [ "M" ],
+ "comments": [ "Pays NT TCA DRM", "No IF" ],
"id": "ru/v:037",
"gpid": 623
},
@@ -351,7 +359,7 @@
"CS#": 6,
"capabilities2": { "A": [ [4,2] ], "AP": 7 },
"note_number": "15\u2020",
- "notes": [ "D", "M" ],
+ "notes": [ "C", "M" ],
"id": "ru/v:038",
"gpid": [ 625, 627 ]
},
@@ -375,28 +383,28 @@
{ "name": "IS-2",
"type": "HT",
"CS#": 6,
- "no_if": true,
"note_number": "27",
"notes": [ "B\u2020" ],
+ "comments": [ "No IF" ],
"id": "ru/v:041",
"gpid": 633
},
{ "name": "IS-2m",
"type": "HT",
"CS#": 6,
- "no_if": true,
"note_number": "28",
"notes": [ "B\u2020", "G\u2020" ],
+ "comments": [ "No IF" ],
"id": "ru/v:042",
"gpid": [ 635, 637 ]
},
{ "name": "IS-3",
"type": "HT",
"CS#": 6,
- "no_if": true,
"capabilities2": { "sD": "6\u2020" },
"note_number": "29",
"notes": [ "G\u2020", "J\u2020" ],
+ "comments": [ "No IF" ],
"id": "ru/v:043",
"gpid": [ 639, 641 ]
},
@@ -414,42 +422,43 @@
"capabilities2": { "A": [ [5,3] ] },
"note_number": "31",
"notes": [ "K" ],
+ "comments": [ "German ESB" ],
"id": "ru/v:045",
"gpid": 647
},
{ "name": "SU-122",
"type": "AG",
"CS#": 5,
- "no_if": true,
"capabilities2": { "H": 9, "s": 8 },
"note_number": "32",
+ "comments": [ "No IF" ],
"id": "ru/v:046",
"gpid": 649
},
{ "name": "SU-152",
"type": "AG",
"CS#": 6,
- "no_if": true,
"note_number": "33\u2020",
+ "comments": [ "No IF" ],
"id": "ru/v:047",
"gpid": 651
},
{ "name": "ISU-122",
"type": "AG",
"CS#": 6,
- "no_if": true,
"capabilities2": { "s": 8 },
"note_number": "34",
"notes": [ "G\u2020" ],
+ "comments": [ "No IF" ],
"id": "ru/v:048",
"gpid": [ 653, 655 ]
},
{ "name": "ISU-152",
"type": "AG",
"CS#": 6,
- "no_if": true,
"note_number": "34",
"notes": [ "G\u2020" ],
+ "comments": [ "No IF" ],
"id": "ru/v:049",
"gpid": [ 657, 659 ]
},
@@ -475,6 +484,7 @@
"capabilities2": { "A": [ [5,3] ], "HE": 7 },
"note_number": "37",
"notes": [ "K" ],
+ "comments": [ "American ESB" ],
"id": "ru/v:052",
"gpid": 665
},
@@ -500,6 +510,7 @@
"CS#": 2,
"note_number": "40\u2020",
"notes": [ "A\u2020" ],
+ "comments": [ "BU Fire NA" ],
"id": "ru/v:055",
"gpid": 673
},
@@ -508,6 +519,7 @@
"CS#": 4,
"note_number": "41\u2020",
"notes": [ "A\u2020" ],
+ "comments": [ "Pays NT CA DRM" ],
"id": "ru/v:056",
"gpid": 677
},
@@ -525,6 +537,7 @@
"CS#": 4,
"note_number": "43\u2020",
"notes": [ "A\u2020" ],
+ "comments": [ "4 TK DR", "AAMG: Removal/Scrounge NA" ],
"id": "ru/v:058",
"gpid": 681
},
@@ -551,6 +564,7 @@
"CS#": 5,
"note_number": "44.2\u2020",
"notes": [ "A\u20201" ],
+ "comments": [ "CE: +1 Front & Indirect Fire", "VCA Target Facing & CE DRM" ],
"id": "ru/v:061",
"gpid": 7068
},
@@ -560,6 +574,7 @@
"capabilities2": { "AP": 7 },
"note_number": "45",
"notes": [ "A\u2020", "F\u2020" ],
+ "comments": [ "No Bnd (F)F" ],
"id": "ru/v:062",
"gpid": 685
},
@@ -575,6 +590,7 @@
"type": "APC",
"CS#": "2\u2020",
"note_number": "46.1\u2020",
+ "comments": [ "Inherent Crew if armed (with CS#)", "Pas: CE; +1 VCA", "Unpossessed SW ok", "Stun = Recall, CE & Fire NA" ],
"id": "ru/v:064",
"gpid": 687
},
@@ -618,6 +634,7 @@
"CS#": "2\u2020",
"note_number": "47.1\u2020",
"notes": [ "S\u20201" ],
+ "comments": [ "Inherent Crew if armed (with CS#)", "Rear VCA & Aerial NA" ],
"id": "ru/v:070",
"gpid": 7082
},
@@ -626,6 +643,7 @@
"cs#": 2,
"note_number": "47.1\u2020",
"notes": [ "S\u20201" ],
+ "comments": [ "Rear VCA & Aerial NA" ],
"id": "ru/v:071",
"gpid": 7084
},
@@ -634,6 +652,7 @@
"CS#": 2,
"note_number": "47.2\u2020",
"notes": [ "Q", "S\u20201" ],
+ "comments": [ "Rear VCA & Aerial NA" ],
"id": "ru/v:072",
"gpid": 7085
},
@@ -642,6 +661,7 @@
"CS#": 3,
"note_number": "47.3\u2020",
"notes": [ "S\u20201" ],
+ "comments": [ "R/S VCA & Aerial NA" ],
"id": "ru/v:073",
"gpid": 7089
}
diff --git a/vasl_templates/webapp/data/vehicles/russian.lend-lease.json b/vasl_templates/webapp/data/vehicles/russian.lend-lease.json
index 2c30232..c9eaebd 100644
--- a/vasl_templates/webapp/data/vehicles/russian.lend-lease.json
+++ b/vasl_templates/webapp/data/vehicles/russian.lend-lease.json
@@ -16,6 +16,7 @@
"capabilities2": { "C": "4\u2020", "s": "8\u2020" },
"note_number": "49\u2020",
"notes": [ "B\u20201", "N", "O", "LL" ],
+ "comments": [ "37LL MA: T", "75 SA: NT (bow-mounted)", "Canister: 37LL MA only", "Smoke: 75 SA only", "AAMG: BU Fire OK (vs Aerial NA, CC ok)" ],
"id": "ru/v:075",
"gpid": [ 704, 7423 ],
"_comment_": "VASL has 2 other GPID's, with different capabilities."
@@ -45,8 +46,10 @@
"capabilities2": { "sD": 6 },
"note_number": "51\u2020",
"notes": [ "M\u20201", "N", "LL" ],
+ "disabled_comments": [ "M" ],
+ "comments": [ "Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]", "Mech.Reliability if Deep Snow or Extreme Winter" ],
"id": "ru/v:078",
- "gpid": null,
+ "gpid": [ 7150 ],
"_comment_": "VASL has a Russian variant with CS 4."
},
{ "id": "ru/v:085",
@@ -76,6 +79,7 @@
"capabilities2": { "D": [ [6,"J4"], [7,5], "\u2020" ], "HE": [ [7,"F3"], [8,"4+"], "\u2020" ], "sD": [ [6,"4+"] ], "sM": "8\u2020" },
"note_number": "53\u2020",
"notes": [ "N", "LL" ],
+ "comments": [ "Steep climbs" ],
"id": "ru/v:081",
"gpid": [ 732, 7115 ]
},
@@ -85,17 +89,20 @@
"name": "M3A1 Scout Car(a)",
"note_number": "54",
"extra_notes": [ "LL" ],
+ "comments": [ "Inherent Crew & HS Passenger" ],
"gpid": [ 7426, 7428 ]
},
{ "id": "ru/v:086",
"copy_from": "br/v:090",
"note_number": "55",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:087",
- "copy_from": "br/v:091",
+ "copy_from": "br/v:093",
"note_number": "55",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:088",
"copy_from": "br/v:087",
@@ -105,27 +112,32 @@
{ "id": "ru/v:089",
"copy_from": "br/v:094",
"note_number": "57",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ]
},
{ "id": "ru/v:090",
"copy_from": "br/v:095",
"note_number": "57",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ]
},
{ "id": "ru/v:091",
"copy_from": "br/v:096",
"note_number": "57",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ]
},
{ "id": "ru/v:092",
"copy_from": "br/v:097",
"note_number": "57",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ]
},
{ "id": "ru/v:093",
"copy_from": "br/v:098",
"note_number": "57",
- "extra_notes": [ "LL" ]
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ]
},
{ "name": "Jeep(a)",
@@ -133,35 +145,40 @@
"cs#": 2,
"note_number": "58",
"notes": [ "H\u2020", "L\u20201", "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ],
"id": "ru/v:083",
"gpid": [ 758, 759, 7119 ]
},
{ "id": "ru/v:094",
"copy_from": "br/v:123",
- "note_number": null,
- "extra_notes": [ "LL" ]
+ "note_number": "58",
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:095",
"copy_from": "br/v:124",
- "note_number": null,
- "extra_notes": [ "LL" ]
+ "note_number": "58",
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:096",
"copy_from": "br/v:125",
- "note_number": null,
- "extra_notes": [ "LL" ]
+ "note_number": "58",
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:097",
"copy_from": "br/v:126",
- "note_number": null,
- "extra_notes": [ "LL" ]
+ "note_number": "58",
+ "extra_notes": [ "LL" ],
+ "disabled_comments": [ "?:Black TH#", "?:Red TH#" ]
},
{ "id": "ru/v:084",
"copy_from": "am/v:056",
- "note_number": null,
+ "note_number": "60",
"extra_notes": [ "LL" ],
+ "disabled_comments": [ "Black TH#" ],
"gpid": 7120
}
]
-
diff --git a/vasl_templates/webapp/data/vo-comments.json b/vasl_templates/webapp/data/vo-comments.json
new file mode 100644
index 0000000..e250113
--- /dev/null
+++ b/vasl_templates/webapp/data/vo-comments.json
@@ -0,0 +1,273 @@
+{
+
+"_comment_": "This file contains comments that will be added to vehicles/ordnance based on their Multi-Applicable Notes.",
+
+"german": {
+ "vehicles": {
+ "A": "MA & CMG: AA ok",
+ "D": "Ammo trailer",
+ "E": "ESB: 0 DRM",
+ "F": "12: Burn, 11: Immob, 10: Stall",
+ "G": "CE: +3 Front",
+ "H": "12: Stall",
+ "I": [ "Red TH#", "Italian ESB" ],
+ "J": "AAMG: NA VCA",
+ "K": "Morale 9",
+ "L": "Bog assistance",
+ "O": "AAMG: BU only, Rider NA, elevation restrictions",
+ "P": "AAMG: VCA only",
+ "Q": "CMG: VCA only",
+ "a": "French ESB",
+ "b": "CMG: AA ok (TCA only)",
+ "c": "CE: +1 Rear Turret & Indirect Fire",
+ "d": "Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]"
+ },
+ "ordnance": {
+ "A": [ "Use APCR TK vs AFV", "∞ APCR" ],
+ "O": "Animal-Packed",
+ "P": [
+ "{? 01/1941-08/1943 | En Portee (Opel truck) | En Portee NA | En Portee41-8/43 ?}",
+ "{? 01/1941-08/1943 | Portee Fire OK | | Portee Fire41-8/43 ?}"
+ ]
+ }
+},
+
+"russian": {
+ "vehicles": {
+ "A": "MA & CMG: AA ok",
+ "B": "BMG: +1 DRM vs Moving/Motion",
+ "F": "MA: VCA ≤ level NA",
+ "H": "+3 Target Size & HD if in Water",
+ "J": "sD: single-use",
+ "K": "Red TH#",
+ "L": "Bog assistance",
+ "M": "12: Immob, 11: Stall",
+ "Q": "Stun = Recall, CE & Fire NA",
+ "R": "Multiple Hits",
+ "T": [ "76 MA: RST", "45L SA: RST; Always BU; No IF", "TCA restrictions" ],
+ "LL": "Lend-Lease"
+ },
+ "ordnance": {
+ "A": "Animal-Packed"
+ }
+},
+
+"american": {
+ "vehicles": {
+ "B": "BMG: +1 DRM vs Moving/Motion",
+ "D": [ "(Un)load ×2", "Pas: Mounted Fire", "Unpossessed SW ok", "MG Removal OK" ],
+ "E": "Crew: .50 cal MA only",
+ "H": "Independent AAMG's",
+ "I": [ "{{4|MA|2*}}", "AAMG: Removal OK" ],
+ "J": "MA: Rear VCA only",
+ "K": "AAMG: NA VCA",
+ "L": "Bog assistance",
+ "M": "MTR: Removal OK",
+ "Q": [ "MA: 12.7", "{{6|MA|4|4}}" ],
+ "R": "Multiple Hits",
+ "T": "Bog: 0 DRM for soft, mud, snow-covered ground",
+ "U": "CE: +3 Front",
+ "V": "MA & CMG: VCA ≤ level NA" ,
+ "W": "Reverse MP ×4",
+ "X": "BMG: HD Fire OK",
+ "Z": "BAZ",
+ "AA": "MA & CMG: AA ok",
+ "CC": "Inherent Crew if armed (with CS#)"
+ },
+ "ordnance": {
+ "D": "Crewed"
+ }
+},
+
+"british": {
+ "vehicles": {
+ "A": "{? 01/1944- | | Red TH# | Red TH# (pre '44) ?}",
+ "D": [ "(Un)load ×2", "Pas: Mounted Fire", "Unpossessed SW ok", "MG Removal NA" ],
+ "E": "BMG: HD Fire OK",
+ "F": [ "MA: [16] TH", "MA: Removal/Scrounge NA" ],
+ "H": "Inherent Infantry Crew",
+ "I": "Inherent Crew if armed (with CS#)",
+ "L": "Reverse MP ×3",
+ "M": "Stun = Recall, CE & Fire NA",
+ "O": [ "BU Fire NA", "4 TK DR (MG)" ],
+ "Q": [ "ATR: [12] TH", "ATR: Removal/Scrounge OK" ],
+ "R": "Multiple Hits",
+ "T": "AAMG: Rear TCA only",
+ "U": [ "Combined (un)hooking/(un)loading", "{? 01/1944- | Towing OK | Towing NA | Towing44+ ?}" ],
+ "V": [ "As wheeled OT AFV [EXC: D6.82-.83, H1.43]", "Unpossessed SW ok" ],
+ "X": "Reverse MP ×4",
+ "AA": "MA & CMG: AA ok",
+ "BB": "Pas: 1 SMC or 1PP SW",
+ "CC": "Steep climbs"
+ },
+ "ordnance": {
+ "D": "Animal-Packed"
+ }
+},
+
+"french": {
+ "vehicles": {
+ "A": [ "CMG: AA ok (TCA only)", "CMG: Scrounge OK" ],
+ "B": [ "BMG: +1 DRM vs Moving/Motion", "BMG: Scrounge NA" ],
+ "C": "CE: +1 Rear Turret & Indirect Fire",
+ "D": "Reverse MP ×2",
+ "G": "Inherent Crew if armed (with CS#)",
+ "H": "Deployed Passengers",
+ "I": "Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]",
+ "J": [ "Moves as AC [EXC: Hedge NA]", "Reverse MP ×3" ],
+ "K": "Unpossessed SW ok",
+ "L": "Ammo: 4 PP",
+ "M": "MA: No Bnd FF, Motion Fire",
+ "AA": "MA: AA ok"
+ },
+ "ordnance": {
+ "A": "Animal-Packed",
+ "C": "Crewed",
+ "G": "{? 01/1941- | MA: B# = 12 | MA: B# = (11) | MA: B# (11)40 ?}",
+ "V": "No Captured Use penalty for Vichy French"
+ }
+},
+
+"italian": {
+ "vehicles": {
+ "A": "2 TK DR",
+ "C": "AAMG: VCA only",
+ "D": "MA: No Bnd (F)F, Motion Fire",
+ "E": [ "Stun = Recall, CE & Fire NA", "BMG: HD Fire OK" ],
+ "G": "MA: No Bnd (F)F, Motion Fire in VCA",
+ "J": [ "MA: ATR 12 [TH]", "MA: Removal/Scrounge OK" ],
+ "K": "Inherent Crew if armed (with CS#)",
+ "L": "Moves as AC [EXC: Hedge NA]",
+ "M": "Reverse MP ×3",
+ "AA": "MA: AA ok"
+ },
+ "ordnance": {
+ "A": "Animal-Packed",
+ "B": "Acquisition NA",
+ "C": "En Portee (Autocarro L)"
+ }
+},
+
+"finnish" :{
+ "vehicles": {
+ "A": "MA: AA ok",
+ "B": [ "BMG: Normal Range = 2", "BMG: Scrounge NA" ],
+ "E": [ "AP TK# = 13", "APCR TK# = 14" ],
+ "M": "12: Immob, 11: Stall"
+ },
+ "ordnance": {
+ "A": "Animal-Packed",
+ "C": "Tow NA",
+ "D": "En Portee (Medium Truck)",
+ "E": "AP TK# = 16",
+ "F": "Acquisition NA"
+ }
+},
+
+"japanese": {
+ "ordnance": {
+ "A": "Animal-Packed",
+ "B": "As 82mm MTR",
+ "C": "Tow NA",
+ "D": "No Move"
+ }
+},
+
+"chinese": {
+ "vehicles": {
+ "D": "2 TK DR",
+ "F": "12: Immob",
+ "H": "Bog assistance"
+ },
+ "ordnance": {
+ "A": "Animal-Packed"
+ }
+},
+
+"allied-minor": {
+ "vehicles": {
+ "D": "Stun = Recall, CE & Fire NA",
+ "E": [ "CMG: AA ok (TCA only)", "CMG: Scrounge OK" ],
+ "F": "CE: +1 Rear Turret & Indirect Fire",
+ "G": "Reverse MP ×4",
+ "H": "Always CE",
+ "L": "Black TH#",
+ "Q": "MA: No Bnd (F)F, Motion Fire",
+ "AA": "MA: AA ok"
+ },
+ "ordnance": {
+ "A": "Animal-Packed",
+ "D": "Dismantle NA",
+ "T": "Tow NA"
+ }
+},
+
+"axis-minor": {
+ "vehicles": {
+ "A": "CMG: AA ok (TCA only)",
+ "D": "CE: +1 Rear Turret & Indirect Fire",
+ "F": "Stun = Recall, CE & Fire NA",
+ "I": "Inherent Crew if armed (with CS#)",
+ "J": "Unpossessed SW ok",
+ "K": "2 TK DR",
+ "L": "Bog Assistance",
+ "M": "Reverse MP ×3",
+ "N": [ "ESB: +1 DRM", "Red TH#" ],
+ "P": "MA & CMG: AA ok"
+ },
+ "ordnance": {
+ "A": "Animal-Packed",
+ "T": "Tow NA"
+ }
+},
+
+"landing-craft": {
+ "vehicles": {
+ "A": "Front as Open-Topped AFV",
+ "B": "Normal Range = 8",
+ "D": "No ramp, (un)load ×2 [EXC: Pier]",
+ "E": "MA: 2× AA - IFE Normal Range = 16
- VCA and/or adjacent/same-hex ≤ level NA
",
+ "G": [ "Stun: dr ≥ 5", "Unbeaching: -1 DRM" ]
+ }
+},
+
+"kfw-un": {
+ "vehicles": {
+ "A": "∞ A",
+ "B": "Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies",
+ "D": [ "(Un)load ×2", "Pas: Mounted Fire", "Unpossessed SW ok", "MG Removal OK" ],
+ "E": "Crew: .50-cal MA only",
+ "F": [ "4 TK DR", "[16] TH" ],
+ "G": "MA: 12.7",
+ "H": "Independent AAMG's",
+ "L": "Bog assistance",
+ "Q": "Inherent Crew if armed (with CS#)",
+ "S": [ "Limbered: Fire NA", "Unlimbered: RFNM, always CE (0/+1 DRM)" ],
+ "T": "Bog: 0 DRM for soft, mud, snow-covered ground",
+ "U": "Combined (un)hooking/(un)loading",
+ "V": "MA & CMG: Removal/Scrounge NA",
+ "W": "Reverse MP ×4",
+ "X": "BMG: HD Fire OK",
+ "Z": "BAZ/PIAT Removal by crew/passenger only, or Scrounge.",
+ "AA": "MA & CMG: AA ok",
+ "BB": "Pas: Always BU",
+ "CC": "Steep climbs",
+ "DD": "MA & CMG: VCA ≤ level NA",
+ "EE": [ "As fully-tracked OT AFV", "Always CE", "Unpossessed SW ok" ],
+ "MM": "Inherent dm 81* MTR",
+ "NN": "Inherent Infantry Crew",
+ "TT": "Front-hull hit: +2 TH DRM (unless level < firer)"
+ },
+ "ordnance": {
+ "A": "Animal-Packed"
+ }
+},
+
+"kfw-comm": {
+ "ordnance": {
+ "A": "Animal-Packed",
+ "R": [ "Crewed", "Red TH#" ]
+ }
+}
+
+}
diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js
index 5b03012..05dd695 100644
--- a/vasl_templates/webapp/static/snippets.js
+++ b/vasl_templates/webapp/static/snippets.js
@@ -214,6 +214,9 @@ function make_snippet( $btn, params, extra_params, show_date_warnings )
snippet_save_name = params.PLAYER_2 + " ordnance" ;
}
+ // adjust comments
+ adjust_vo_comments( params ) ;
+
// set vehicle/ordnance note parameters
function set_vo_note( vo_type ) {
var data = $btn.parent().parent().data( "sortable2-data" ) ;
@@ -462,6 +465,57 @@ function make_snippet( $btn, params, extra_params, show_date_warnings )
} ;
}
+function adjust_vo_comments( params )
+{
+ // NOTE: I tried replacing things like "(11)" and "(12)" here (for breakdown numbers),
+ // with Unicode 246A and 246B, but they're illegible in VASSAL :-/
+
+ // NOTE: We would like to use "(\|\d\*?)+" to match multiple values after the MA,
+ // but we can't then capture them :-/
+ var splitMGRegex = new RegExp( /\{\{(\d)\|MA(\|\d\*?)(\|\d\*?)?\}\}/ ) ;
+ function adjustSplitMG( val ) {
+ var match = val.match( splitMGRegex ) ;
+ if ( ! match )
+ return val ;
+ var buf = [ match[1], "MA" ] ;
+ for ( var j=2 ; j < match.length ; ++j ) {
+ if ( ! match[j] )
+ continue ;
+ buf.push( " " ) ; // nb: because CSS padding for 's doesn't work in VASSAL :-/
+ if ( match[j].substring( match[j].length-1 ) === "*" )
+ buf.push( "", "&", match[j].substring(1,match[j].length-1), "" ) ;
+ else
+ buf.push( "&", match[j].substring(1) ) ;
+ }
+ return val.substring(0,match.index) + buf.join("") + val.substring(match.index+match[0].length ) ;
+ }
+
+ // allow comment EXC's to be styled
+ var excRegex = new RegExp( /\[EXC: .*?\]/ ) ;
+ function adjustExc( val ) {
+ var match = val.match( excRegex ) ;
+ if ( match ) {
+ val = val.substring( 0, match.index ) +
+ "" + match[0] + "" +
+ val.substring( match.index + match[0].length ) ;
+ }
+ return val ;
+ }
+
+ // adjust comments
+ if ( params.OB_VO ) {
+ for ( var i=0 ; i < params.OB_VO.length ; ++i ) {
+ if ( ! params.OB_VO[i].comments )
+ continue ;
+ for ( var j=0 ; j < params.OB_VO[i].comments.length ; ++j ) {
+ params.OB_VO[i].comments[j] = adjustSplitMG( adjustExc(
+ params.OB_VO[i].comments[j]
+ ) ) ;
+ }
+ }
+ }
+}
+
function get_vo_note_key( vo_entry )
{
// get the note number for the specified vehicle/ordnance
@@ -855,12 +909,20 @@ function unload_snippet_params( unpack_scenario_date, template_id )
if ( elite )
obj.elite = true ;
}
- var comments = $(this).data( "sortable2-data" ).custom_comments ;
- if ( comments ) {
- obj.comments = comments ;
- obj.custom_comments = comments.slice() ;
+ var custom_comments = $(this).data( "sortable2-data" ).custom_comments ;
+ if ( custom_comments ) {
+ obj.comments = custom_comments ;
+ obj.custom_comments = custom_comments.slice() ;
} else {
- obj.comments = vo_entry.comments ;
+ // NOTE: Loading up the vehicle/ordnance comments verbatim here might cause problems with time-based comments,
+ // since the user will see them in the UI and not know what they mean. However, the alternative is to perhaps
+ // load the appropriate comment for the current scenario date, but that means they will become different
+ // to the default set of comments, and thus treated as if the user had changed them. If the scenario date
+ // is then changed, the time-based comments won't update accordingly, which will be more confusing than
+ // the original problem we're trying to fix :-/
+ // We could work around this by checking if a saved comment is the same as the calculated time-based comment
+ // for the scenario date, but this is far, far more trouble than it's worth :-/
+ obj.comments = get_vo_comments( vo_entry, params.SCENARIO_MONTH, params.SCENARIO_YEAR ) ;
}
objs.push( obj ) ;
} ) ;
@@ -875,6 +937,72 @@ function unload_snippet_params( unpack_scenario_date, template_id )
return params ;
}
+function get_vo_comments( vo_entry, month, year )
+{
+ if ( ! vo_entry.comments )
+ return vo_entry.comments ;
+
+ function parseDate( val ) {
+ if ( ! val )
+ return null ;
+ var match = val.trim().match( /^(\d\d)\/(19\d\d)$/ ) ;
+ if ( ! match )
+ return null ;
+ return [ match[1], match[2] ] ;
+ }
+
+ // generate the vehicle/ordnance's comments
+ var voComments=[], cmt, i ;
+ for ( i=0 ; i < vo_entry.comments.length ; ++i ) {
+ cmt = vo_entry.comments[i] ;
+ if ( cmt.substr(0,2) === "{?" && cmt.substr(cmt.length-2) === "?}" ) {
+ // this is a time-based comment, check the scenario date
+ var words = cmt.substring( 2, cmt.length-2 ).split( "|" ) ;
+ var dates = words[0].split( "-" ) ;
+ dates = [ parseDate(dates[0]), parseDate(dates[1]) ] ;
+ if ( words.length != 4 || dates.length != 2 || (!dates[0] && !dates[1]) ) {
+ showErrorMsg( "Invalid time-based vehicle/ordnance comment: " + cmt ) ;
+ continue ;
+ }
+ if ( !month || !year )
+ cmt = words[3] ;
+ else {
+ var rc = true ;
+ if ( dates[0] && ( year < dates[0][1] || ( year == dates[0][1] && month < dates[0][0] ) ) )
+ rc = false ;
+ if ( dates[1] && ( year > dates[1][1] || ( year == dates[1][1] && month > dates[1][0] ) ) )
+ rc = false ;
+ cmt = rc ? words[1] : words[2] ;
+ }
+ }
+ cmt = cmt.trim() ;
+ if ( cmt )
+ voComments.push( cmt ) ;
+ }
+
+ // remove any disabled comments
+ // NOTE: We do this in the backend, but we need to do it here as well,
+ // to remove any time-based comments.
+ if ( vo_entry.disabled_comments ) {
+ var disabled = {} ;
+ for ( i=0 ; i < vo_entry.disabled_comments.length ; ++i ) {
+ cmt = vo_entry.disabled_comments[ i ] ;
+ if ( cmt.substring( 0, 2 ) === "?:" )
+ disabled[ cmt.substring(2).trim() ] = true ;
+ else
+ disabled[ cmt ] = true ;
+ }
+ var voComments2 = [] ;
+ for ( i=0 ; i < voComments.length ; ++i ) {
+ if ( ! disabled[ voComments[i] ] )
+ voComments2.push( voComments[i] ) ;
+ }
+ voComments = voComments2 ;
+ }
+
+ return voComments ;
+}
+
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function make_capabilities( raw, vo_entry, vo_type, nat, elite, scenario_theater, scenario_year, scenario_month, show_warnings )
@@ -885,19 +1013,6 @@ function make_capabilities( raw, vo_entry, vo_type, nat, elite, scenario_theater
if ( vo_entry.no_radio )
capabilities.push( vo_entry.no_radio ) ;
- // check if the vehicle has no intensive fire
- if ( vo_entry.no_if ) {
- var no_if = "no IF" ;
- if ( typeof(vo_entry.no_if) === "string" ) { // nb: only for the French B1-bis :-/
- no_if = vo_entry.no_if ;
- if ( no_if.substring(no_if.length-1) === "\u2020" )
- no_if = "no IF" + no_if.substring(0,no_if.length-1) + "\u2020" ;
- else
- no_if = "no IF" + no_if + "" ;
- }
- capabilities.push( no_if ) ;
- }
-
// extract the static capabilities
var i ;
if ( "capabilities" in vo_entry ) {
@@ -976,12 +1091,6 @@ function make_capabilities( raw, vo_entry, vo_type, nat, elite, scenario_theater
}
}
- // extract any other capabilities
- if ( "capabilities_other" in vo_entry ) {
- for ( i=0 ; i < vo_entry.capabilities_other.length ; ++i )
- capabilities.push( vo_entry.capabilities_other[i] ) ;
- }
-
// include damage points (for Landing Craft)
if ( "damage_points" in vo_entry )
capabilities.push( "DP " + vo_entry.damage_points ) ;
@@ -1001,14 +1110,7 @@ function make_capabilities( raw, vo_entry, vo_type, nat, elite, scenario_theater
if ( elite )
adjust_capabilities_for_elite( capabilities, +1 ) ;
- // remove uninteresting capabilities
- var adjusted_capabilities = [] ;
- for ( i=0 ; i < capabilities.length ; ++i ) {
- if ( ["T","NT","ST"].indexOf( capabilities[i] ) === -1 )
- adjusted_capabilities.push( capabilities[i] ) ;
- }
-
- return adjusted_capabilities ;
+ return capabilities ;
}
function make_raw_capability( name, capability )
diff --git a/vasl_templates/webapp/static/utils.js b/vasl_templates/webapp/static/utils.js
index f52d14b..72fed09 100644
--- a/vasl_templates/webapp/static/utils.js
+++ b/vasl_templates/webapp/static/utils.js
@@ -422,6 +422,7 @@ function strReplaceAll( val, searchFor, replaceWith )
if ( pos === -1 )
return val ;
val = val.substr(0,pos) + replaceWith + val.substr(pos+searchFor.length) ;
+ pos += replaceWith.length ;
}
}
diff --git a/vasl_templates/webapp/templates/vo-report.html b/vasl_templates/webapp/templates/vo-report.html
index afa91b6..74ea00c 100644
--- a/vasl_templates/webapp/templates/vo-report.html
+++ b/vasl_templates/webapp/templates/vo-report.html
@@ -7,7 +7,8 @@
@@ -74,7 +75,16 @@ function load_vo_listings( objs )
var note_number = obj.note_number ? "" + fmtval(obj.note_number) + "" : fmtval("") ;
buf.push( " | ", note_number ) ;
buf.push( " | ", listval(obj.notes) ) ;
- buf.push( " | ", obj.comments ? listval(obj.comments) : "" ) ;
+ if ( ! obj.comments )
+ buf.push( " | " ) ;
+ else {
+ var comments = get_vo_comments( obj, month, year ) ;
+ for ( var j=0 ; j < comments.length ; ++j ) {
+ var val = strReplaceAll( strReplaceAll( comments[j], "", "}]" ) ;
+ comments[j] = val.replace( /\\s*/g, "*:" ) ;
+ }
+ buf.push( "", listval(comments," | ") ) ;
+ }
}
buf.push( "" ) ;
$results.html( buf.join("") ).show() ;
@@ -88,7 +98,7 @@ function fmtval( val )
return val ;
}
-function listval( vals )
+function listval( vals, sep )
{
// return the formatted list of values
if ( ! vals )
@@ -96,7 +106,7 @@ function listval( vals )
var buf = [] ;
for ( var i=0 ; i < vals.length ; ++i )
buf.push( "" + vals[i] + "" ) ;
- return buf.join( " " ) ;
+ return buf.join( sep ? sep : " " ) ;
}
diff --git a/vasl_templates/webapp/tests/fixtures/data/ordnance/american.json b/vasl_templates/webapp/tests/fixtures/data/ordnance/american.json
index 1a59447..055493f 100644
--- a/vasl_templates/webapp/tests/fixtures/data/ordnance/american.json
+++ b/vasl_templates/webapp/tests/fixtures/data/ordnance/american.json
@@ -17,7 +17,7 @@
},
{ "name": "M3A1 37mm AT Gun",
- "capabilities": [ "NT", "QSU" ],
+ "capabilities": [ "NT", "XYZ" ],
"capabilities2": { "C": [ [7,"A2+"], "\u20201" ] },
"note_number": "6\u2020",
"notes": [ "C\u20201", "N" ],
@@ -25,7 +25,7 @@
},
{ "name": "M1 57mm AT Gun",
- "capabilities": [ "NT", "QSU" ],
+ "capabilities": [ "NT", "XYZ" ],
"capabilities2": { "HE": [ [7,"J4E"], [7,5], "\u2020" ], "D": [ [4,"J4+E"], "\u2020" ] },
"note_number": "7\u2020",
"id": "am/o:006"
diff --git a/vasl_templates/webapp/tests/fixtures/data/ordnance/german.json b/vasl_templates/webapp/tests/fixtures/data/ordnance/german.json
index c923f87..b9ac328 100644
--- a/vasl_templates/webapp/tests/fixtures/data/ordnance/german.json
+++ b/vasl_templates/webapp/tests/fixtures/data/ordnance/german.json
@@ -1,15 +1,14 @@
[
{ "name": "a german ordnance",
- "capabilities": [ "QSU", "IR" ],
+ "capabilities": [ "XYZ", "IR" ],
"capabilities2": { "A": 1, "H": 2 },
- "capabilities_other": [ "can do other stuff" ],
"note_number": "1",
"notes": [ "A", "B\u2020" ],
"id": "ge/o:990"
},
{ "name": "another german ordnance",
- "capabilities": [ "QSU" ],
+ "capabilities": [ "XYZ" ],
"note_number": "2",
"id": "ge/o:991"
},
diff --git a/vasl_templates/webapp/tests/fixtures/data/ordnance/russian.json b/vasl_templates/webapp/tests/fixtures/data/ordnance/russian.json
index 5d0d108..46c3255 100644
--- a/vasl_templates/webapp/tests/fixtures/data/ordnance/russian.json
+++ b/vasl_templates/webapp/tests/fixtures/data/ordnance/russian.json
@@ -3,7 +3,6 @@
{ "name": "a russian ordnance",
"capabilities": [ "NM" ],
"capabilities2": { "s": 1, "sN": 2 },
- "capabilities_other": [ "twerking" ],
"note_number": "1",
"notes": [ "X", "Y\u2020" ],
"id": "ru/o:990"
diff --git a/vasl_templates/webapp/tests/fixtures/data/vehicles/german.json b/vasl_templates/webapp/tests/fixtures/data/vehicles/german.json
index 910a66c..d78bba2 100644
--- a/vasl_templates/webapp/tests/fixtures/data/vehicles/german.json
+++ b/vasl_templates/webapp/tests/fixtures/data/vehicles/german.json
@@ -1,16 +1,15 @@
[
{ "name": "a german vehicle",
- "capabilities": [ "QSU", "IR" ],
+ "capabilities": [ "XYZ", "IR" ],
"capabilities2": { "A": 1, "H": 2 },
- "capabilities_other": [ "can do other stuff" ],
"CS#": 5,
"note_number": "1",
"notes": [ "A", "B\u2020" ],
"id": "ge/v:990"
},
{ "name": "another german vehicle",
- "capabilities": [ "QSU" ],
+ "capabilities": [ "XYZ" ],
"cs#": "4:brewup",
"note_number": "2",
"notes": [ "b", "C" ],
diff --git a/vasl_templates/webapp/tests/fixtures/data/vehicles/russian.json b/vasl_templates/webapp/tests/fixtures/data/vehicles/russian.json
index 6abcd10..866da82 100644
--- a/vasl_templates/webapp/tests/fixtures/data/vehicles/russian.json
+++ b/vasl_templates/webapp/tests/fixtures/data/vehicles/russian.json
@@ -3,7 +3,6 @@
{ "name": "a russian vehicle",
"capabilities": [ "NM" ],
"capabilities2": { "s": 1, "sN": 2 },
- "capabilities_other": [ "twerking" ],
"CS#": 3,
"note_number": "1",
"notes": [ "X", "Y\u2020" ],
diff --git a/vasl_templates/webapp/tests/fixtures/data/vo-comments.json b/vasl_templates/webapp/tests/fixtures/data/vo-comments.json
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/vasl_templates/webapp/tests/fixtures/data/vo-comments.json
@@ -0,0 +1 @@
+{}
diff --git a/vasl_templates/webapp/tests/fixtures/vasl-pieces-6.5.0.txt b/vasl_templates/webapp/tests/fixtures/vasl-pieces-6.5.0.txt
index 53f75d2..08be4e0 100644
--- a/vasl_templates/webapp/tests/fixtures/vasl-pieces-6.5.0.txt
+++ b/vasl_templates/webapp/tests/fixtures/vasl-pieces-6.5.0.txt
@@ -196,6 +196,7 @@ GPID Name Front images
1028 LVT4 am/veh/LVT4.gif
1030 LVT4 am/veh/LVT42.gif
1032 DUKW am/veh/DUKW.gif
+1034 DUKW MG am/veh/DUKW2.gif
1036 Jeep GPA am/veh/JeepGPA.gif
1039 Jeep am/veh/Jeep.gif
1040 Jeep MMG am/veh/Jeep2.gif
@@ -396,6 +397,7 @@ GPID Name Front images
1545 Sherman III DD(a) br/vehicles/sherdd.gif
1547 Sherman III DD(a) br/vehicles/sherdd2.gif
1549 DUKW(a) br/vehicles/dukw.gif
+1551 DUKW(a) MG br/vehicles/dukw2.gif
1553 Terrapin br/vehicles/terra.gif
1555 2pdr Portee ['br/vehicles/portee.gif', 'br/vehicles/portee0.gif']
1557 Morris C9/B br/vehicles/morrc9b.gif
@@ -564,6 +566,8 @@ GPID Name Front images
2109 Carrier C(b) ch/veh/chcarrc.gif
2111 Henschel 33(g) ch/veh/chhensch.gif
2113 Jeep(a) ch/veh/chjeep.gif
+2114 Jeep(a) MMG ch/veh/chjeep2.gif
+2115 Jeep(a) HMG ch/veh/chjeep4.gif
2116 2-1/2 ton truck(a) ch/veh/chton212.gif
2172 46* MTR al/alMTR46.gif al/alMTR46B.gif
2173 50* MTR al/alMTR50.gif al/alMTR50B.gif
@@ -937,6 +941,7 @@ GPID Name Front images
3535 AB 41 it/veh/ab41.gif
3539 Autoprotetto S37 it/veh/auts37.gif
3541 Autocannone 65/17(b) it/veh/aut6517.gif
+3543 Autocannone 65/17(b) MG it/veh/aut65172.gif
3545 Autocannone 20/65(b) it/veh/aut2065.gif
3547 Autocanonne 75/27 CK it/veh/aut7527.gif
3549 Autocanonne 90/53 it/veh/aut9053.gif
@@ -952,6 +957,7 @@ GPID Name Front images
3567 Autocarro Pesante it/veh/autpes.gif
3605 50* MTR (g) fi/fiMTR.gif fi/fiMTRb.gif
3608 20L ATR fi/fiATR.gif fi/fiATRb.gif
+3679 50 MTR(f) ax/axMTRf.gif ax/axMTRfb.gif
3680 50* MTR ax/axMTR.gif ax/axMTRb.gif
3681 50* MTR(r) ax/axMTRr.gif ax/axMTRrb.gif
3682 60* MTR(f) ax/axMTR60f.gif ax/axMTR60fb.gif
@@ -1071,6 +1077,7 @@ GPID Name Front images
3885 LT vz 40(t) ax/veh/slLT40.gif
3887 Marder III(t)H ax/veh/slMiiiH.gif
3889 Kfz 1(g) ax/veh/slKfz1.gif
+3890 Kfz 1(g) MG ax/veh/slKfz12.gif
3891 SdKfz 2(g) ax/veh/slSdKfz2.gif
3892 TKS ax/veh/crTKS.gif
3894 TKS(L) ax/veh/crTKSL.gif
@@ -1078,6 +1085,7 @@ GPID Name Front images
3902 Semovente L40(i) ax/veh/crSemL40.gif
3904 Vickers 6t Mk E ax/veh/buV6E.gif
3906 R-35(f) ax/veh/buR35.gif
+3959 50 MTR(h) hu/huMTRh.gif hu/huMTRhb.gif
3993 40L AT MAVAG 40 M hu/gun/huAT40L.gif hu/gun/huAT40Lb.gif
3999 76 ART Skoda M05/08 hu/gun/huAR76.gif hu/gun/huAR76b.gif
4001 105 ART MAVAG M40 hu/gun/huAR1052.gif hu/gun/huAR1052b.gif
@@ -1111,6 +1119,7 @@ GPID Name Front images
5944 81* MTR OML 3.2" br/guns/brMTR81.gif br/guns/brMTR76sb.gif
6364 Stuart III(a) ru/veh/ruM3A1.gif
6730 47 MTR fi/fi47mtr.png fi/fi47mtrB.png
+6763 ATR (b) fi/fibATR.png fi/fibATRB.png
6765 81* MTR Krh/32 fi81mmMTR.png fi/gun/fi81mmMTRB.png
6782 81* MTR Savu M42 fi81mmMTR Savu.png fi/gun/fi81mmMTR SavuB.png
6796 7.62 AA fi7.62AA.png fi/gun/fi7.62AAB.png
@@ -1202,6 +1211,7 @@ GPID Name Front images
7128 FT-17 730(m) ge/veh/geFT-17 37.png
7132 38H 735(f) ge/veh/ge38H 735.png
7136 35-S 739(f) ge/veh/ge35S 739.png
+7150 Matilda II ru/veh/ruMatilda.png
7220 T-26B (r) fi/veh/fiT-26b2(r).png
7409 76 ItK/28 B(s) fiAA76L.png fiAA76LB.png
7418 T-28 M34(L) T28M34L.gif
diff --git a/vasl_templates/webapp/tests/fixtures/vasl-pieces-legacy.txt b/vasl_templates/webapp/tests/fixtures/vasl-pieces-legacy.txt
index b5e23da..146b2b7 100644
--- a/vasl_templates/webapp/tests/fixtures/vasl-pieces-legacy.txt
+++ b/vasl_templates/webapp/tests/fixtures/vasl-pieces-legacy.txt
@@ -199,6 +199,7 @@ GPID Name Front images
1028 LVT4 am/veh/LVT4.gif
1030 LVT4 am/veh/LVT42.gif
1032 DUKW am/veh/DUKW.gif
+1034 DUKW MG am/veh/DUKW2.gif
1036 Jeep GPA am/veh/JeepGPA.gif
1039 Jeep am/veh/Jeep.gif
1040 Jeep MMG am/veh/Jeep2.gif
@@ -400,6 +401,7 @@ GPID Name Front images
1545 Sherman III DD(a) br/vehicles/sherdd.gif
1547 Sherman III DD(a) br/vehicles/sherdd2.gif
1549 DUKW(a) br/vehicles/dukw.gif
+1551 DUKW(a) MG br/vehicles/dukw2.gif
1553 Terrapin br/vehicles/terra.gif
1555 2pdr Portee ['br/vehicles/portee.gif', 'br/vehicles/portee0.gif']
1557 Morris C9/B br/vehicles/morrc9b.gif
@@ -568,6 +570,8 @@ GPID Name Front images
2109 Carrier C(b) ch/veh/chcarrc.gif
2111 Henschel 33(g) ch/veh/chhensch.gif
2113 Jeep(a) ch/veh/chjeep.gif
+2114 Jeep(a) MMG ch/veh/chjeep2.gif
+2115 Jeep(a) HMG ch/veh/chjeep4.gif
2116 2-1/2 ton truck(a) ch/veh/chton212.gif
2172 46* MTR al/alMTR46.gif al/alMTR46B.gif
2173 50* MTR al/alMTR50.gif al/alMTR50B.gif
@@ -941,6 +945,7 @@ GPID Name Front images
3535 AB 41 it/veh/ab41.gif
3539 Autoprotetto S37 it/veh/auts37.gif
3541 Autocannone 65/17(b) it/veh/aut6517.gif
+3543 Autocannone 65/17(b) MG it/veh/aut65172.gif
3545 Autocannone 20/65(b) it/veh/aut2065.gif
3547 Autocanonne 75/27 CK it/veh/aut7527.gif
3549 Autocanonne 90/53 it/veh/aut9053.gif
@@ -956,6 +961,7 @@ GPID Name Front images
3567 Autocarro Pesante it/veh/autpes.gif
3605 50* MTR (g) fi/fiMTR.gif fi/fiMTRb.gif
3608 20L ATR fi/fiATR.gif fi/fiATRb.gif
+3679 50 MTR(f) ax/axMTRf.gif ax/axMTRfb.gif
3680 50* MTR ax/axMTR.gif ax/axMTRb.gif
3681 50* MTR(r) ax/axMTRr.gif ax/axMTRrb.gif
3682 60* MTR(f) ax/axMTR60f.gif ax/axMTR60fb.gif
@@ -1079,6 +1085,7 @@ GPID Name Front images
3885 LT vz 40(t) ax/veh/slLT40.gif
3887 Marder III(t)H ax/veh/slMiiiH.gif
3889 Kfz 1(g) ax/veh/slKfz1.gif
+3890 Kfz 1(g) MG ax/veh/slKfz12.gif
3891 SdKfz 2(g) ax/veh/slSdKfz2.gif
3892 TKS ax/veh/crTKS.gif
3894 TKS(L) ax/veh/crTKSL.gif
@@ -1088,6 +1095,7 @@ GPID Name Front images
3902 Semovente L40(i) ax/veh/crSemL40.gif
3904 Vickers 6t Mk E ax/veh/buV6E.gif
3906 R-35(f) ax/veh/buR35.gif
+3959 50 MTR(h) hu/huMTRh.gif hu/huMTRhb.gif
3993 40L AT MAVAG 40 M hu/gun/huAT40L.gif hu/gun/huAT40Lb.gif
3999 76 ART Skoda M05/08 hu/gun/huAR76.gif hu/gun/huAR76b.gif
4001 105 ART MAVAG M40 hu/gun/huAR1052.gif hu/gun/huAR1052b.gif
@@ -1123,6 +1131,7 @@ GPID Name Front images
5944 81* MTR OML 3.2" br/guns/brMTR81.gif br/guns/brMTR76sb.gif
6364 Stuart III(a) ru/veh/ruM3A1.gif
6730 47 MTR fi/fi47mtr.png fi/fi47mtrB.png
+6763 ATR (b) fi/fibATR.png fi/fibATRB.png
6765 81* MTR Krh/32 fi81mmMTR.png fi/gun/fi81mmMTRB.png
6782 81* MTR Savu M42 fi81mmMTR Savu.png fi/gun/fi81mmMTR SavuB.png
6796 7.62 AA fi7.62AA.png fi/gun/fi7.62AAB.png
@@ -1216,6 +1225,7 @@ GPID Name Front images
7128 FT-17 730(f) ge/veh/geFT-17 37.png
7132 38H 735(f) ge/veh/ge38H 735.png
7136 35-S 739(f) ge/veh/ge35S 739.png
+7150 Matilda II ru/veh/ruMatilda.png
7220 T-26B (r) fi/veh/fiT-26b2(r).png
7409 76 ItK/28 B(s) fiAA76L.png fiAA76LB.png
7418 T-28 M34(L) T28M34L.gif
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/landing-craft.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/landing-craft.txt
index 4086fc7..9695d6e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/landing-craft.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/landing-craft.txt
@@ -1,12 +1,12 @@
=== landing craft ===
Name Capabilities (effective) # Notes Comments
--------- -------------- ------------- --- ------------------------------------------------ ----------
-LCP(L) DP 2 CS 4 DP 2 CS 4 1† A†1 B†3 C†2 D
-LCA DP 3 CS 6 DP 3 CS 6 2† n/a
-LCVP DP 3 CS 5 DP 3 CS 5 3† B†2 C†1
-LCM(3) DP 5 CS 6 DP 5 CS 6 4† B†2 C†1
-LCI(S) DP 14 CS 10 DP 14 CS 10 5† C†3 D E†2 F†1 G
-LCT(4) DP 10 CS 9 DP 10 CS 9 6† C†3 E†2 F†1 G
-Daihatsu DP 3 CS 4 DP 3 CS 4 7† A†1
-Shohatsu DP 2 CS 3 DP 2 CS 3 8† A† D
+-------- -------------- ------------- --- ------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+LCP(L) DP 2 CS 4 DP 2 CS 4 1† A†1 B†3 C†2 D British: Unarmored & unarmed; Inherent Crew | MA: 4&4 | Front as Open-Topped AFV | Normal Range = 8 | No ramp, (un)load ×2 [EXC: Pier]
+LCA DP 3 CS 6 DP 3 CS 6 2† n/a Personnel/SW only | Collateral Attacks: ½ FP
+LCVP DP 3 CS 5 DP 3 CS 5 3† B†2 C†1 Inherent Crew | MA: 4&4 | Unarmored & unarmed (pre-6/43) | Normal Range = 8
+LCM(3) DP 5 CS 6 DP 5 CS 6 4† B†2 C†1 MA: 2&2 or 6&6 | Normal Range = 8
+LCI(S) DP 14 CS 10 DP 14 CS 10 5† C†3 D E†2 F†1 G AAMG: 2&2 | -3 Target Size [{ *:One-level LOS obstacle across Side *:Units may not move through Location }] | Cloaked Passengers | No ramp, (un)load ×2 [EXC: Pier] | MA: 2× AA [{ *:IFE Normal Range = 16 *:VCA and/or adjacent/same-hex ≤ level NA }] | Stun: dr ≥ 5 | Unbeaching: -1 DRM
+LCT(4) DP 10 CS 9 DP 10 CS 9 6† C†3 E†2 F†1 G -4 Target Size [{ *:One-level LOS obstacle across Side *:Units may not move through Location }] | Infantry Stack unload | MA: 2× AA [{ *:IFE Normal Range = 16 *:VCA and/or adjacent/same-hex ≤ level NA }] | Stun: dr ≥ 5 | Unbeaching: -1 DRM
+Daihatsu DP 3 CS 4 DP 3 CS 4 7† A†1 AAMG: Rear/port-side only | Front as Open-Topped AFV
+Shohatsu DP 2 CS 3 DP 2 CS 3 8† A† D Passengers: BU NA | Front as Open-Topped AFV | No ramp, (un)load ×2 [EXC: Pier]
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1940.txt
index 01d6e51..6a3fb12 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1940.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1941.txt
index 8b6d4b4..61dde03 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1941.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1942.txt
index b81e1aa..0f99086 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1942.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1943.txt
index bce7820..ba9bc9d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1943.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1944.txt
index 7804c2b..b3309f0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1944.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1945.txt
index 147ef3e..87014db 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/allied-minor-common/1945.txt
@@ -1,18 +1,18 @@
=== ordnance/allied-minor-common/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ----------------------- ----------------------
-Brandt Medium Mortar QSU s8 QSU s8 23† A B Gr N P Y
-37mm Bofors AT QSU QSU 24† A De P
-3.7cm PaK 35/36 QSU QSU 25† Gr Ne Y
-Bohler M35 47mm QSU QSU 26† A Gr Ne Y
-65mm wz.06 QSU h-d QSU h-d 27† A Gr P Y No Gunshield.
-75mm wz.97 QSU s8 QSU s8 28† A Gr N P
-Bofors M34 QSU QSU 29† A B Gr Ne N
-75M 19S QSU h-d AP5 s6 QSU h-d AP5 s6 30† A Gr P Y
+------------------------------- --------------------------- --------------------------- --- ----------------------- ---------------------------------------------------
+Brandt Medium Mortar s8 s8 23† A B Gr N P Y QSU | Animal-Packed
+37mm Bofors AT 24† A De P QSU | En Portee (P-F 621L or Ursus) | Animal-Packed
+3.7cm PaK 35/36 25† Gr Ne Y QSU
+Bohler M35 47mm 26† A Gr Ne Y QSU | Animal-Packed
+65mm wz.06 27† A Gr P Y QSU | No Gunshield | Horse-Drawn | Animal-Packed
+75mm wz.97 s8 s8 28† A Gr N P QSU | Animal-Packed
+Bofors M34 29† A B Gr Ne N QSU | Animal-Packed
+75M 19S AP5 s6 AP5 s6 30† A Gr P Y QSU | Horse-Drawn | Animal-Packed
C105 L 13 S 31† B P Y
-120mm wz. 09/31 h-d s6 h-d s6 32† N P
+120mm wz. 09/31 s6 s6 32† N P Horse-Drawn
155mm 17 S s8 s8 33 B Gr P Y
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 34† T†1 B Gr Y Towing NA†1
+Mitrailleuse de 13.2 CAJ mle 30 34† T†1 B Gr Y Tow NA | 2 TK DR | 16 [TH]
20mm Oerlikon LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 35† C†1 Gr Ne Y
40mm Bofors AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 36† C†1 B N Ne P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1940.txt
index 2eec1da..de97b7a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1940.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1940 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR 1† F N
+M19 60mm Mortar IR WP6[5] IR 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1941.txt
index 4efba43..eef4657 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1941.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1941 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR 1† F N
+M19 60mm Mortar IR WP6[5] IR 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1942.txt
index c183811..2139d97 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1942.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1942 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR 1† F N
+M19 60mm Mortar IR WP6[5] IR 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1943.txt
index 3f75faa..14b26dc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1943.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1943 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU C7†[1] 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR 1† F N
+M19 60mm Mortar IR WP6[5] IR 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] C7†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1944.txt
index c32758a..111dbf0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1944.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1944 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU C7†[1] 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU A4† 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU C4†[1] H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR 1† F N
+M19 60mm Mortar IR WP6[5] IR 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] C7†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] A4† 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 C4†[1] H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1945.txt
index 6502ca4..21a492b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1945.txt
@@ -1,48 +1,48 @@
=== ordnance/american/1945 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- ------ ------------------------------- ----------------------------
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR WP7 5PP OBA† 1† F N
-M19 60mm Mortar IR WP6[5] 4PP IR WP6 4PP 2 F
-M1 81mm Mortar QSU WP8 QSU WP8 3 F N
-M2 4.2-in. Mortar QSU WP10 QSU WP10 4† n/a
-T25 155mm Mortar WP8 WP8 5† P
-M3A1 37mm AT Gun QSU C7[A2+]†[1] QSU C7†[1] 6† C†1 N
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU D4† HE7† 7† n/a
-M5 3-in. AT Gun QSU A4[4]5[5]† s6[5] QSU A5† s6 8† P
-T32 37mm Manpack Gun 5PP (3PP dm)† C5†[1] crewed†[2] 5PP (3PP dm)† C5†[1] crewed†[2] 9† C†1 D†2 F
-M18 57mm Recoilless Rifle 3PP crewed†[1] H7 WP6 3PP crewed†[1] H7 WP6 10 D†1 E†
-M20 75mm Recoilless Rifle 5PP crewed†[1] H7 WP7 5PP crewed†[1] H7 WP7 11 D†1 E†
-M1A1 75mm Pack Howitzer QSU C4[4+]†[1] H7 WP8 QSU C4†[1] H7 WP8 12† C†1 F
-M1897A2 75mm Gun QSU WP8 QSU WP8 13 P
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
-M1 4.5-in. Gun 16† P
-M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
-M1 155mm Howitzer WP8 s7 WP8 s7 18† N
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 19† A†1 N No IF.
-M1A1 155mm Gun RFNM AP4†[1] WP8 s7[5] RFNM AP4†[1] WP8 s7 20† A†1 No IF.
-M1 8-in. Howitzer RFNM RFNM 21† n/a No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 22† n/a
-M1A2 37mm AA Gun 23† N
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
-M3 3-in. AA Gun NM NM 25 P
-M1A1 90mm AA Gun NM NM 26† N
-M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
-20mm Oerlikon Mk4 2 TK DR's† 2 TK DR's† 1† US P Multiple Hits (C3.8) are NA.
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- ------ ------------------------------- --------------------------------------------------------------
+M2 60mm Mortar IR WP7[5] IR WP7 1† F N
+M19 60mm Mortar IR WP6[5] IR WP6 2 F
+M1 81mm Mortar WP8 WP8 3 F N QSU
+M2 4.2-in. Mortar WP10 WP10 4† n/a QSU | Area FP = 12
+T25 155mm Mortar WP8 WP8 5† P Tow NA
+M3A1 37mm AT Gun C7[A2+]†[1] C7†[1] 6† C†1 N QSU
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† D4† HE7† 7† n/a QSU
+M5 3-in. AT Gun A4[4]5[5]† s6[5] A5† s6 8† P QSU
+T32 37mm Manpack Gun C5†[1] C5†[1] 9† C†1 D†2 F As HMG | Crewed
+M18 57mm Recoilless Rifle H7 WP6 H7 WP6 10 D†1 E† HEAT TK# = 11 | Crewed
+M20 75mm Recoilless Rifle H7 WP7 H7 WP7 11 D†1 E† Crewed
+M1A1 75mm Pack Howitzer C4[4+]†[1] H7 WP8 C4†[1] H7 WP8 12† C†1 F QSU
+M1897A2 75mm Gun WP8 WP8 13 P QSU
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 14† C†1 N
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 15† C†1
+M1 4.5-in. Gun 16† P
+M1918 155mm Howitzer WP8 s7[3+] WP8 s7 17† N
+M1 155mm Howitzer WP8 s7 WP8 s7 18† N
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 19† A†1 N RFNM | No IF
+M1A1 155mm Gun AP4†[1] WP8 s7[5] AP4†[1] WP8 s7 20† A†1 RFNM | No IF
+M1 8-in. Howitzer 21† n/a RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 22† n/a 4 TK DR | [16] TH
+M1A2 37mm AA Gun 23† N
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 24† B†1
+M3 3-in. AA Gun 25 P No Move
+M1A1 90mm AA Gun 26† N No Move
+M2 90mm AA Gun LF [90†, 1 ROF, B11] LF [90†, 1 ROF, B11] 27†[1] B†
+20mm Oerlikon Mk4 1† US P 2 TK DR
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1940.txt
index 4785ea4..954528d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1940.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1941.txt
index c716360..922d49d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1941.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1942.txt
index a69dc6b..da46af0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1942.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1943.txt
index 3eec83d..349708e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1943.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU A4 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU A4 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] A4 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 H5 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] A4 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 H4 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1944.txt
index dcaebd0..c4c510c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1944.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU A3 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU A3 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] A3 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 H5 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] A3 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 H4 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1945.txt
index 57a7b75..9e3dba3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1945.txt
@@ -1,33 +1,33 @@
=== ordnance/axis-minor-common/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
-5cm leGrW 36 5PP 5PP 44 A B C H S
-50mm RM obr. 40 4PP 4PP 45 A C H R S
-8cm GrW 34 QSU IR s7 QSU IR s7 46† A B C
-Brandt M27/31 QSU s7 QSU s7 47† A H R S
-PM obr. 38 QSU h-d s8 QSU h-d s8 48† H R
-Ur wz. 35 1PP 1PP 49 B C H R S
-s18-1100 5PP 5PP 50 A H R
-Kanon PUV vz. 37(t) QSU A4[1S]† QSU 51† B E H S
-Bohler M35 QSU QSU 52† A H R S No Gunshield.
-5cm PaK 38(g) QSU A4[3]3[4] QSU A3 53† B E H R S
-7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† B E R
-7.5cm PaK 40(g) QSU A4[3]3[4] QSU A3 55† B E H R S
-Skoda M15 QSU QSU 56† A B C H R S
-Canon de 75 mle 1897 QSU s7 QSU s7 57 B R
-Skoda M29 AP6 AP6 58† A R S
-Skoda M17 QSU QSU 59† A C R S
+------------------------------- --------------------------- --------------------------- --- ---------------------- ----------------------------------
+5cm leGrW 36 44 A B C H S Animal-Packed
+50mm RM obr. 40 45 A C H R S Animal-Packed
+8cm GrW 34 IR s7 IR s7 46† A B C QSU | Animal-Packed
+Brandt M27/31 s7 s7 47† A H R S QSU | Animal-Packed
+PM obr. 38 s8 s8 48† H R QSU | Horse-Drawn
+Ur wz. 35 49 B C H R S No Long Range
+s18-1100 50 A H R No Long Range | Animal-Packed
+Kanon PUV vz. 37(t) A4[1S]† 51† B E H S QSU
+Bohler M35 52† A H R S QSU | No Gunshield | Animal-Packed
+5cm PaK 38(g) A4[3]3[4] A3 53† B E H R S QSU
+7.5cm PaK 97/38(g) H5[3+] s6 H5 s6 54† B E R QSU
+7.5cm PaK 40(g) A4[3]3[4] A3 55† B E H R S QSU
+Skoda M15 56† A B C H R S QSU | Animal-Packed
+Canon de 75 mle 1897 s7 s7 57 B R QSU
+Skoda M29 AP6 AP6 58† A R S Animal-Packed
+Skoda M17 59† A C R S QSU | Animal-Packed
Skoda M28(80) 60† C S
-Skoda M14/19 s8 s8 61† A† C H R S
+Skoda M14/19 s8 s8 61† A† C H R S Animal-Packed
leFH 18(g) H4[3+] s5 H4 s5 62† B E H S
Skoda M35 AP7 C7[CS]† AP7 63† C R S
-G obr. 10/30 h-d s7 h-d s7 64† B R
+G obr. 10/30 s7 s7 64† B R Horse-Drawn
G obr. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
-Skoda M15/16 s6 s6 67† C S No IF.
+Skoda M15/16 s6 s6 67† C S No IF
C mle 17 S s7 s7 68† B R
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† B R T†1
+Mitrailleuse de 13.2 CAJ mle 30 69† B R T†1 2 TK DR | [16] TH | Tow NA
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 B C G† H R S
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† B E G†1 R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†1 R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1940.txt
index f1543b6..65bdb54 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1940.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1940 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1941.txt
index b1ad19f..8a1594b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1941.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1941 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1942.txt
index 3d072e5..64d35c2 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1942.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1942 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1943.txt
index 6c7a84b..3060e18 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1943.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1943 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1944.txt
index 46cc953..bc32369 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1944.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1944 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1945.txt
index 77c8bfe..fb5b856 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/belgian/1945.txt
@@ -1,14 +1,13 @@
=== ordnance/belgian/1945 ===
Name Capabilities (effective) # Notes Comments
------------- ---------------- ---------------- --- ------- ----------
-DBT 3PP 3PP 6† A B D †
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-M76 A h-d LF† [INF] h-d LF† [INF] 7† A B D
-7.6cm FRC QSU QSU 8† A B †
-C47 FRC M 32 QSU QSU 9 B
-C75 TR QSU h-d s5 QSU h-d s5 10 B
+------------ ---------------- ---------------- --- ------- ----------------------------------------------------------------------------------------------------------------
+DBT 6† A B D No Air Bursts | Animal-Packed | Dismantle NA
+M76 A LF† [INF] LF† [INF] 7† A B D Horse-Drawn | Push/Tow as non-Mortar | Unlimbered: Indirect Fire only (as Mortar) | Animal-Packed | Dismantle NA
+7.6cm FRC 8† A B QSU | Indirect Fire OK [{ *:Range: 16-55 *:ROF 3 }] | Animal-Packed
+C47 FRC M 32 9 B QSU
+C75 TR s5 s5 10 B QSU | Horse-Drawn
C75 GP LF [75*, B10] s5 LF [75*, B10] s5 11 B
Ob 105 GP LF [105*] s5 LF [105*] s5 12 B
C120 M31 LF [120*] LF [120*] 13 B
-M27 FRC NM NM 14 B
+M27 FRC 14 B No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt
index 3a7f69e..0773fbc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1940 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt
index 70f1bf3..6d5e35e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1941 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt
index 3392ffb..d3ae50a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1942 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt
index 4f136e1..d436af6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1943 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt
index 7a4f371..080156d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1944 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt
index adcf665..e117475 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt
@@ -1,39 +1,39 @@
=== ordnance/british/1945 ===
-Name Capabilities (effective) # Notes Comments
----------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU D7† HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
-OML 2-in. Mortar IR s7 4PP IR s7 4PP 14 A N
-M19 60mm Mortar IR WP6 4PP IR WP6 4PP 15 A R
-OML 3-in. Mortar QSU IR WP7 s8 QSU IR WP7 s8 16 A
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed†
-OQF 17-Pounder D6 HE8 D6 HE8 18 N
-OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
-OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+---------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† D7† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
+OML 2-in. Mortar IR s7 IR s7 14 A N Animal-Packed
+M19 60mm Mortar IR WP6 IR WP6 15 A R Animal-Packed
+OML 3-in. Mortar IR WP7 s8 IR WP7 s8 16 A QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 17† N Towed
+OQF 17-Pounder D6 HE8 D6 HE8 18 N
+OQF 25-Pounder LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 19† N
+OQF 40mm AA LF [40†, 2 ROF] LF [40†, 2 ROF] 20 B† N
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1940.txt
index 39f36e8..1e68bbd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1940.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1941.txt
index 62d564b..5a1d456 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1941.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1942.txt
index fa93e1c..474b420 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1942.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1943.txt
index 6d18b5a..08e8cb4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1943.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1944.txt
index a0fcc84..208e044 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1944.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1945.txt
index 72250ae..5d7c2bb 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~canadian/1945.txt
@@ -1,29 +1,29 @@
=== ordnance/british~canadian/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU D7† HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† D7† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1940.txt
index fb43d43..3c15a0c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1940.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1941.txt
index 4b8bcc1..40e1e5e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1941.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1942.txt
index 36cd5c6..dbd56d5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1942.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1943.txt
index 99c3adf..4565e5b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1943.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- -----------------------------------------------------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee (15-cwt truck)
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee (30-cwt lorry)
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† 6† B N P QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee (3-ton lorry)
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1944.txt
index c989289..9148cb5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1944.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1945.txt
index 24743a1..1bce44b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british~newzealand/1945.txt
@@ -1,29 +1,29 @@
=== ordnance/british~newzealand/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ --------------------------- --- -------------------- ---------------
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P
-OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† 2† A†1 D N P
-OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed†
-OQF 25mm Hotchkiss QSU QSU 4† B N
-OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU D7† HE8† 6† B N P
-OQF 17/25-Pounder 7 N
-OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
-OQF M1A1 75mm Pack Howitzer QSU H6 WP7 QSU H6 WP7 9† D P
-Canon de 75 mle 1897 QSU s8 QSU s8 10† B N
-OQF 18-Pounder QSU WP7 s8 QSU WP7 s8 11† N P
-OQF 25-Pounder Short QSU s8 QSU s8 12 D P
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
-OQF 3.7-in. Howitzer QSU H6[3+P]† WP7 s8 QSU WP7 s8 14† D N P
-OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
-OBL 4.5-in. Gun 16† N
-OBL 5.5-in. Gun-Howitzer 16† N P
-OBL 6-in. Howitzer 17† N P
-OBL 7.2-in. Howitzer Mk I 18† N P No IF. Acq. NA†
-OBL 7.2-in. Howitzer Mk VI RFNM RFNM 19† P No IF.
-OQF 20mm AA 20 n/a
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
-OQF 3-in. 20-cwt AA 22† E P
-OQF 3.7-in. AA 23† E N P
+Name Capabilities (effective) # Notes Comments
+--------------------------- --------------------------- --------------------------- --- -------------------- ------------------------------------
+OML 2-in. Mortar IR[2+]† s7 IR† s7 1 A† N P
+OML 2-in. Airborne Mortar IR s7 IR s7 1 n/a
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† 2† A†1 D N P QSU | Animal-Packed
+OSB 4.2-in. Mortar WP7 s8 WP7 s8 3† N P Towed
+OQF 25mm Hotchkiss 4† B N QSU | En Portee NA
+OQF 2-Pounder LF [NT, 40†[1], 2 ROF, B11] LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P En Portee NA
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† D7† HE8† 6† B N P QSU | CA restrictions | En Portee NA
+OQF 17/25-Pounder 7 N
+OQF 17-Pounder D5[S4]6[5]† HE8[J4+]† D6† HE8† 8† n/a
+OQF M1A1 75mm Pack Howitzer H6 WP7 H6 WP7 9† D P QSU | Animal-Packed
+Canon de 75 mle 1897 s8 s8 10† B N QSU | En Portee NA
+OQF 18-Pounder WP7 s8 WP7 s8 11† N P QSU
+OQF 25-Pounder Short s8 s8 12 D P QSU | Animal-Packed
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 13† N P
+OQF 3.7-in. Howitzer H6[3+P]† WP7 s8 WP7 s8 14† D N P QSU | Animal-Packed
+OQF 4.5-in. Howitzer WP7 s8 WP7 s8 15† N P
+OBL 4.5-in. Gun 16† N
+OBL 5.5-in. Gun-Howitzer 16† N P
+OBL 6-in. Howitzer 17† N P
+OBL 7.2-in. Howitzer Mk I 18† N P No IF | Acquisition NA
+OBL 7.2-in. Howitzer Mk VI 19† P RFNM | No IF
+OQF 20mm AA 20 n/a
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 21† C†1 N P
+OQF 3-in. 20-cwt AA 22† E P
+OQF 3.7-in. AA 23† E N P
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1940.txt
index fd28135..1f45a38 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1940.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1940 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1941.txt
index f0eed7c..c50aa8d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1941.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1941 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1942.txt
index ab851c2..48f42b6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1942.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1942 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1943.txt
index 13205c1..9e7f956 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1943.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1943 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1944.txt
index f3c1c21..a04209e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1944.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1944 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1945.txt
index 5b937b0..90ac204 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/bulgarian/1945.txt
@@ -1,12 +1,11 @@
=== ordnance/bulgarian/1945 ===
Name Capabilities (effective) # Notes Comments
------------------- ---------------- ---------------- --- -------------- -------------
-LG de 50 mle 37 2PP 2PP 37 A
-Madsen M-35 QSU R2 IFE=B10† QSU R2 IFE=B10† 38† T†1 No Gunshield.
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Skoda Infantry Gun QSU h-d QSU h-d 39† n/a
-Bofors 75mm M36 QSU h-d QSU h-d 40† A
-75mm K-S QSU h-d s5 QSU h-d s5 41† n/a
+------------------ ---------------- ---------------- --- -------------- ---------------------------------------------------
+LG de 50 mle 37 37 A Animal-Packed
+Madsen M-35 38† T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
+Skoda Infantry Gun 39† n/a QSU | Horse-Drawn | Changeable barrel
+Bofors 75mm M36 40† A QSU | Horse-Drawn | Animal-Packed
+75mm K-S s5 s5 41† n/a QSU | Horse-Drawn
Ob 105mm GP LF [105*†[1]] s5 LF [105*†[1]] s5 42† G†1
-D/30 Krupp RFNM RFNM 43 n/a No IF.
+D/30 Krupp 43 n/a RFNM | No IF
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1940.txt
index 1fe69af..5625c8c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1940.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1940 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = 11 | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = 11 | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = 11
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = 11
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = 11
+122mm G obr. 38 s6 s6 13 B D† B# = 11
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = 11
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = 11
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = 11
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1941.txt
index 0983896..cda9579 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1941.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1941 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1942.txt
index 7172684..85a1798 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1942.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1942 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1943.txt
index 970e853..6aaf3df 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1943.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1943 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1944.txt
index 51b8a4f..95f035d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1944.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1944 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1945.txt
index 58d8b37..0ec0f42 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese/1945.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese/1945 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1940.txt
index 5a4508f..48f9a7f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1940.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1940 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = 11 | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = 11 | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = 11
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = 11
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = 11
+122mm G obr. 38 s6 s6 13 B D† B# = 11
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = 11
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = 11
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = 11
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1941.txt
index c6df3a3..41092a5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1941.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1941 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1942.txt
index c9044e0..58b13ce 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1942.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1942 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1943.txt
index 74cddb6..a765df5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1943.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1943 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1944.txt
index 666fcd2..a4c8ad0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1944.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1944 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1945.txt
index ebd9416..ee3d37d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/chinese~gmd/1945.txt
@@ -1,40 +1,40 @@
=== ordnance/chinese~gmd/1945 ===
Name Capabilities (effective) # Notes Comments
------------------------------- ---------------------------- ---------------------------- ------ -------------------------- ------------------
-Type 27 Grenade Launcher 2PP 2PP 1† A Air Bursts NA†
-Mortaio da 45 "Brixia" 4PP 4PP 2 A D†
-5cm leGrW 36 5PP 5PP 2 A
-50mm RM obr. 38 5PP 5PP 2 A
-Type 89 Heavy Grenade Launcher IR WP5 s5 4PP IR WP5 s5 4PP 2† A
-M2 60mm IR 5PP OBA† IR 5PP OBA† 3† A
-Stokes 3-in. QSU QSU 4 A E†
-8cm GrW 34 QSU IR s6 QSU IR s6 4 A E†
-82mm BM obr. 37 QSU IR s6 QSU IR s6 4 A E†
-M1 81mm QSU WP7 QSU WP7 5 A B
-M2 4.2-in. QSU WP9 QSU WP9 5† B
-3.7cm PaK 35/36 QSU QSU 6 E†
-M3A1 37mm QSU C7†[1] QSU C7†[1] 6† C†1
-37mm PP obr. 15R QSU h-d QSU h-d 7† B Low Ammo†
-Cannone da 70/15 QSU h-d QSU h-d 7† A B Acq. NA† Low Ammo†
-7.5cm Krupp M08 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A F†
-Obice da 75/13 QSU h-d QSU h-d 8 A D† F†1
-7.5cm leIG 18 QSU h-d QSU h-d 9† n/a
-76.2mm PP obr. 27 QSU AP6 s6 QSU AP6 s6 9†[1] D†
-M1A1 75mm Pack Howitzer QSU h-d C5†[1] WP7 QSU h-d C5†[1] WP7 10† A C†1
-7.7cm FK 16 QSU h-d AP6 s5 QSU h-d AP6 s5 11 F†
-76.2mm P obr. 02/30 QSU h-d AP6 s6 QSU h-d AP6 s6 11 D† F†1
-OQF 18-Pounder QSU h-d AP6 WP5 s6 QSU h-d AP6 WP5 s6 11 B
-10.5cm leFH 16 h-d s6 h-d s6 12† A
+------------------------------ ---------------------------- ---------------------------- ------ -------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 27 Grenade Launcher 1† A Air Bursts NA | Animal-Packed
+Mortaio da 45 "Brixia" 2 A D† B# = (11) | Animal-Packed
+5cm leGrW 36 2 A Animal-Packed
+50mm RM obr. 38 2 A Animal-Packed
+Type 89 Heavy Grenade Launcher IR WP5 s5 IR WP5 s5 2† A HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }] | Japanese: No Captured Use penalty; Cave OK | Animal-Packed
+M2 60mm IR IR 3† A Animal-Packed
+Stokes 3-in. 4 A E† QSU | Animal-Packed
+8cm GrW 34 IR s6 IR s6 4 A E† QSU | Animal-Packed
+82mm BM obr. 37 IR s6 IR s6 4 A E† QSU | Animal-Packed
+M1 81mm WP7 WP7 5 A B QSU | Animal-Packed
+M2 4.2-in. WP9 WP9 5† B QSU | Area FP = 12
+3.7cm PaK 35/36 6 E† QSU
+M3A1 37mm C7†[1] C7†[1] 6† C†1 QSU
+37mm PP obr. 15R 7† B QSU | Horse-Drawn | Low Ammo
+Cannone da 70/15 7† A B QSU | Acquisition NA | Low Ammo | Horse-Drawn | Animal-Packed
+7.5cm Krupp M08 AP5 s5 AP5 s5 8 A F† QSU | Horse-Drawn | Animal-Packed
+Obice da 75/13 8 A D† F†1 QSU | Horse-Drawn | B# = (11) | Animal-Packed
+7.5cm leIG 18 9† n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 AP6 s6 AP6 s6 9†[1] D† QSU | B# = (11)
+M1A1 75mm Pack Howitzer C5†[1] WP7 C5†[1] WP7 10† A C†1 QSU | Horse-Drawn | Animal-Packed
+7.7cm FK 16 AP6 s5 AP6 s5 11 F† QSU | Horse-Drawn
+76.2mm P obr. 02/30 AP6 s6 AP6 s6 11 D† F†1 QSU | Horse-Drawn | B# = (11)
+OQF 18-Pounder AP6 WP5 s6 AP6 WP5 s6 11 B QSU | Horse-Drawn
+10.5cm leFH 16 s6 s6 12† A Horse-Drawn | Animal-Packed
Cannone da 105/28 AP5 s6 AP5 s6 12 F†
M2A1 105mm Howitzer C5† WP7 s6 C5† WP7 s6 12 B C†
-122mm G obr. 10/30 h-d s6 h-d s6 13 B D†
-122mm G obr. 38 s6 s6 13 B D†
-Obice da 149/13 h-d[C]† WP6[B]† s5 h-d[C]† s5 14† n/a
+122mm G obr. 10/30 s6 s6 13 B D† Horse-Drawn | B# = (11)
+122mm G obr. 38 s6 s6 13 B D† B# = (11)
+Obice da 149/13 WP6[B]† s5 s5 14† n/a China: Horse-Drawn only
Oerlikon FF LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
-Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1
+Cannone-mitragliera da 20/65 LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 15†[2] D† G†1 B# = (11)
2cm FlaK 30 LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 15†[1] G†
3.7cm FlaK 36 o. 37 AP6 AP6 16 B
Bofors 40mm L/60 AP6 LF [40†[1], 2 ROF] AP6 LF [40†[1], 2 ROF] 16† G†1
-Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1
-8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1
+Bofors 75mm M29 AP6 LF [75†[1], 1 ROF, B10†] AP6 LF [75†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
+8.8cm FlaK 18 AP6 LF [88†[1], 1 ROF, B10†] AP6 LF [88†[1], 1 ROF, B10†] 17 B D† G†1 B# = (11)
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1940.txt
index e88105c..7df780f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1940.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1940 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1941.txt
index 9f9ed2a..1c92c30 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1941.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1941 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1942.txt
index 5d392f3..a71f818 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1942.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1942 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1943.txt
index 5206b6b..cb9f7a5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1943.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1943 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1944.txt
index 84f52ab..1054ddd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1944.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1944 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1945.txt
index 9deaadb..628e0be 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1945.txt
@@ -1,6 +1,6 @@
=== ordnance/croatian/1945 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ------- -------------
-Cannone da 65/17 35 A No Gunshield.
-Skoda M28(FE) 36 A
+---------------- -------------- ------------- --- ------- ----------------------------
+Cannone da 65/17 35 A No Gunshield | Animal-Packed
+Skoda M28(FE) 36 A Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1940.txt
index 708f117..37be78d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1940.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1940 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1941.txt
index 7c545ee..50955e5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1941.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1941 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1942.txt
index 747ed8f..ba20db4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1942.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1942 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1943.txt
index 5fc4bb3..0ff8209 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1943.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1943 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1944.txt
index b99f3da..66bdece 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1944.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1944 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1945.txt
index 5406a14..b77af77 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/danish/1945.txt
@@ -1,5 +1,5 @@
=== ordnance/danish/1945 ===
-Name Capabilities (effective) # Notes Comments
------------------------ ------------------ ------------------ --- ----------------- ----------
-Machinecannon 20mm M-35 QSU†[1] R2 IFE=B10 QSU†[1] R2 IFE=B10 19† De T†1
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ----------------- ---------------------------------------------------
+Machinecannon 20mm M-35 19† De T†1 QSU | No Gunshield | IFE: B# = 10 | R2, X6 | Tow NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1940.txt
index 7ee1e84..c1145ee 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1940.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1941.txt
index 5c60b43..5a373d3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1941.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1942.txt
index 8101f34..0d98b86 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1942.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1943.txt
index 98e56d5..b3fe307 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1943.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1944.txt
index 2f8576a..3093e87 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1944.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1945.txt
index 22d29e6..b3c0f29 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/dutch/1945.txt
@@ -1,10 +1,10 @@
=== ordnance/dutch/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------------------ --- ------- ----------
-Solothurn s/18-1100 5PP 5PP 15 A Ne
-Brandt 47mm Mortar 1 n/a
-Krupp 75mm M1933 Field Gun QSU C4† QSU C4† 2 US C†
-Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
-20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
-Bofors 80mm M29/38 LF [80†, 1 ROF, B11] AP TK# 17 LF [80†, 1 ROF, B11] AP TK# 17 6 AxM G†
+Name Capabilities (effective) # Notes Comments
+--------------------------- ------------------------ ------------------------ --- ------- -------------
+Solothurn s/18-1100 15 A Ne Animal-Packed
+Brandt 47mm Mortar 1 n/a
+Krupp 75mm M1933 Field Gun C4† C4† 2 US C† QSU
+Bofors 105mm M1924 Howitzer LF [NT, B11] LF [NT, B11] 3 n/a
+20mm Rheinmetall AA LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 4 Gr C†
+Bofors 80mm M29/38 LF [80†, 1 ROF, B11] LF [80†, 1 ROF, B11] 6 AxM G† AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1940.txt
index 42f9bf8..c4acabc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1940.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1940 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-18 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1941.txt
index 56a9506..6efce4c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1941.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1941 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU HE† 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-18 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† HE† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1942.txt
index bdcf66d..eaac0f1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1942.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1942 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU s8† 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU HE† 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† s8† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-18 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† HE† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1943.txt
index ef311d3..1ec7083 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1943.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1943 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP B12† 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU IR† s8† 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU HE† 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU H6[9]† 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B B# = 12 | Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† IR† s8† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-25 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† HE† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† H6[9]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1944.txt
index 1e74af4..bb2524f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1944.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1944 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP B12† 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU IR† s8† 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU HE† 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU H6[9]† 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 H4 WP6 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d WP6 s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B B# = 12 | Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† IR† s8† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-25 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Light AA fire as MG | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† HE† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† H6[9]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 H4 WP6 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 WP6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1945.txt
index 43e31d4..372de55 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/finnish/1945.txt
@@ -1,43 +1,43 @@
=== ordnance/finnish/1945 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------------------------- ----------------------------------------------------------- --- ------------------ ---------------------------
-47 Krh/41 2PP 2PP 1 A
-50 Krh/39(r) 4PP B12[3+]† 4PP B12† 2† A B
-81 Krh/32 QSU IR[3+]† s8[N1]† 5PP dm QSU IR† s8† 5PP dm 3† A
-81 Savunheitin M/42 QSU s† 4PP dm QSU s† 4PP dm 4† A
-120 Krh/40 QSU QSU 5† n/a
-Boys ATR(b) 1PP 1PP 6† n/a "British"†
-Lahti ATR 4PP B30.35† 4PP B30.35† 7† A Light AA fire in 44+†
-20 PstK/40 QSU R2 IFE=B10 QSU R2 IFE=B10 8† C†1 Towing NA†1
-25 PstK/37(f) QSU QSU 9† B D
-37 PstK/36(s) QSU HE[1+]† QSU HE† 10† A B
-37 PstK/37(g) QSU H6[9][3+]† QSU H6[9]† 11† B D
-45 PstK/32(r) QSU QSU 12† B
-50 PstK/38(g) QSU A4 QSU A4 13 B
-75 PstK/97-38(g) QSU H8 H=B12 QSU H8 H=B12 14† B
-75 PstK/40(g) QSU A3 H4 s7 QSU A3 H4 s7 15 B
-76 RK/27(r) QSU H6[J4+]† s6 QSU H6† s6 16† A B
-75 K/02 QSU s6 QSU s6 17† n/a
-76 LK/13 QSU s6 QSU s6 18 n/a
-76 K/02(r) QSU h-d s6 QSU h-d s6 19† B
-76 K/36(r) QSU s6 QSU s6 20† B E†1
-87 K/95 QSU h-d QSU h-d 21 F† No IF. Acq. NA†
-90 K/77 QSU h-d QSU h-d 22† F†1 No IF. Acq. NA†1
-105 H/33(g) h-d H6[A4+]† s8 h-d H6† s8 23† B
-105 H/37 s6 s6 24† n/a
-105 H/41(t) H6[A4+]† s8 H6† s8 25† B
-107 K 10/13 s5 s5 26† n/a
-107 K/77(r) h-d h-d 27† B F†1 No IF. Acq. NA†1
-114 H/18(b) H4[4+] WP6[4+] s8 H4 WP6 s8 28† n/a
-122 H/10(r) h-d WP6[4+] s6 h-d WP6 s6 29† B
-150 H/40(g) NM H6 s8 NM H6 s8 30 B
-155 H/17(f) s6 s6 31 B
-7.62 ItKK/31-40 QSU 2 TK DR† QSU 2 TK DR† 32† C†1 Towing NA†1
-20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G†
-20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1
-20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1†
-20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 2 TK DR† Unhooking risk† 36† D G†1
-40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1
-76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G†
-76 ItK/31(r) 39 B E†
+Name Capabilities (effective) # Notes Comments
+------------------- ---------------------------------- ---------------------------------- --- ------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------
+47 Krh/41 1 A Animal-Packed
+50 Krh/39(r) 2† A B B# = 12 | Animal-Packed | No Captured Use penalty for Russians
+81 Krh/32 IR[3+]† s8[N1]† IR† s8† 3† A QSU | Animal-Packed
+81 Savunheitin M/42 s† s† 4† A QSU | Smoke only | ∞ Smoke | Range: 2-25 | Animal-Packed
+120 Krh/40 5† n/a QSU
+Boys ATR(b) 6† n/a AP TK# = 5 | No Long Range
+Lahti ATR 7† A No Long Range | As ordnance vs brown pillboxes | Light AA fire as MG | Animal-Packed
+20 PstK/40 8† C†1 QSU | Tow NA | IFE: B# = 10 | No Gunshield | R2, X6
+25 PstK/37(f) 9† B D QSU | Black TH# | En Portee (Medium Truck)
+37 PstK/36(s) HE[1+]† HE† 10† A B QSU | Animal-Packed | Black TH#
+37 PstK/37(g) H6[9][3+]† H6[9]† 11† B D QSU | H6[9]: vs AFV or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }] | Black TH# | No Captured Use penalty for Germans | En Portee (Medium Truck)
+45 PstK/32(r) 12† B QSU | No Captured Use penalty for Russians
+50 PstK/38(g) A4 A4 13 B QSU | Black TH# | No Captured Use penalty for Germans
+75 PstK/97-38(g) H8 H8 14† B QSU | HEAT: B# = 12 | Black TH# | No Captured Use penalty for Germans
+75 PstK/40(g) A3 H4 s7 A3 H4 s7 15 B QSU | Black TH# | No Captured Use penalty for Germans
+76 RK/27(r) H6[J4+]† s6 H6† s6 16† A B QSU | Animal-Packed | No Captured Use penalty for Russians
+75 K/02 s6 s6 17† n/a QSU
+76 LK/13 s6 s6 18 n/a QSU
+76 K/02(r) s6 s6 19† B QSU | Horse-Drawn | No Captured Use penalty for Russians
+76 K/36(r) s6 s6 20† B E†1 QSU | No Captured Use penalty for Russians | AP TK# = 16
+87 K/95 21 F† QSU | No IF | Horse-Drawn | Acquisition NA
+90 K/77 22† F†1 QSU | No IF | Acquisition NA | Horse-Drawn
+105 H/33(g) H6[A4+]† s8 H6† s8 23† B Horse-Drawn | Black TH# | No Captured Use penalty for Germans
+105 H/37 s6 s6 24† n/a
+105 H/41(t) H6[A4+]† s8 H6† s8 25† B Black TH#
+107 K 10/13 s5 s5 26† n/a
+107 K/77(r) 27† B F†1 No IF | Acquisition NA | Horse-Drawn | No Captured Use penalty for Russians
+114 H/18(b) H4[4+] WP6[4+] s8 H4 WP6 s8 28† B HEAT TK# = 15 | Black TH#
+122 H/10(r) WP6[4+] s6 WP6 s6 29† B Horse-Drawn | No Captured Use penalty for Russians
+150 H/40(g) H6 s8 H6 s8 30 B No Move | Black TH# | No Captured Use penalty for Germans
+155 H/17(f) s6 s6 31 B Black TH#
+7.62 ItKK/31-40 32† C†1 QSU | Tow NA | 2 TK DR | [16] TH
+20 ItK/30 BSW(g) LF [NT, 20†, 2 ROF, B10] LF [NT, 20†, 2 ROF, B10] 33 B G† Black TH# | No Captured Use penalty for Germans
+20 ItK/38 BSW(g) LF [NT, 20†[1], 2 ROF, B11] LF [NT, 20†[1], 2 ROF, B11] 34† B G†1 Black TH# | No Captured Use penalty for Germans
+20 ItK/35 Br LF [NT, 20†[1], 2 ROF] LF [NT, 20†[1], 2 ROF] 35† A D G†1 Road MP = 1 | Animal-Packed | En Portee (Medium Truck)
+20 ItK/40 VKT LF [NT, 20†[1], 2 ROF, 8 IFE, B11] LF [NT, 20†[1], 2 ROF, 8 IFE, B11] 36† D G†1 2 TK DR | Unhook Disable: dr 6 | En Portee (Medium Truck)
+40 ItK/35-39 B(s) LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 37† B G†1 Black TH#
+76 ItK/28 B(s) LF [NT, 76†, 1 ROF] LF [NT, 76†, 1 ROF] 38 B G† Black TH#
+76 ItK/31(r) 39 B E† No Captured Use penalty for Russians | AP TK# = 16
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1940.txt
index 854b384..4207333 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1940.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- -----------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee NA | MA: B# = (11) | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† Fr 24 Fr W† QSU | CA restrictions | En Portee NA
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = (11) | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1941.txt
index 93372da..16610e2 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1941.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU WP7 s8† Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- --------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† WP7 s8† Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee (15-cwt truck) | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† Fr 24 Fr W† QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee (3-ton lorry) | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1942.txt
index b8c2c61..af7ed77 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1942.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† IR† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- --------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 IR† s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† IR† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee (15-cwt truck) | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† Fr 24 Fr W† QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee (3-ton lorry) | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1943.txt
index ea6ea5f..00c710d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1943.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† IR† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- --------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 IR† s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† IR† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee (15-cwt truck) | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† Fr 24 Fr W† QSU | CA restrictions | En Portee (3-ton lorry) | Portee Fire OK [EXC: Bnd (F)F NA]
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee (3-ton lorry) | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1944.txt
index bf6565b..d6f80a9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1944.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† IR† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU HE8† Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- --------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 IR† s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† IR† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† HE8† Fr 24 Fr W† QSU | CA restrictions | En Portee NA
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1945.txt
index 3b298b8..4c569ad 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/free-french/1945.txt
@@ -1,26 +1,26 @@
=== ordnance/free-french/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- ------------------------------ ------------------ --------- -------------------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP Fr 1 Fr A Fr B Fr C† Fr E crewed†
-OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 Fr 22†[1] Fr W†
-Mortier de 60 mle 35(f) 5PP no OBA† IR[2+]† 5PP no OBA† IR† Fr 2† Fr A Fr B Fr V
-M2 60mm Mortar IR WP7[5] 5PP OBA† IR WP7 5PP OBA† Fr 22 Fr W†
-OML 3-in. Mortar QSU IR[2+]†[1] WP7 s8[1+]† QSU IR†[1] WP7 s8† Fr 22†[1] Fr W†
-Mortier de 81 mle 27/31(f) QSU s8 QSU s8 Fr 3† Fr A Fr B Fr D Fr V
-M1 81mm Mortar QSU WP8 QSU WP8 Fr 22 Fr D Fr Y†
-Boys ATR 1PP 1PP Fr 4† Fr B
-OQF 25mm Hotchkiss QSU QSU Fr 23†[1] Fr V Fr W†
-Canon AC de 47 SA 37 APX(f) QSU APCR only†[1] QSU APCR only†[1] Fr 6†[1] Fr B Fr G† Fr P Fr V
-OQF 6-Pounder 7-cwt QSU D6[J4E]7[5]† HE7[F3]8[4+]† QSU D7† HE8† Fr 24 Fr W†
-M1 57mm AT Gun QSU D4[J4+E]† HE7[J4E]7[5]† QSU D4† HE7† Fr 24 Fr Y†
-Canon de 75 mle 1897 QSU s8 QSU s8 Fr 25†[1] Fr V Fr W†
-OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
-M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
-M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
-OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
-M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
-M1918M1 155mm Gun RFNM AP4†[1] WP8 RFNM AP4†[1] WP8 Fr 29 Fr Y† No IF.
-Mitrailleuse de 13.2 CAJ 2 TK DR†[1] 2 TK DR†[1] Fr 18†[1] Fr B Fr G† Fr V Towing NA†1
-OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
-M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------------- ------------------ --------- -------------------- --------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) Fr 1 Fr A Fr B Fr C† Fr E Animal-Packed | Crewed
+OML 2-in. Mortar IR[2+]† s7 IR† s7 Fr 22†[1] Fr W†
+Mortier de 60 mle 35(f) IR[2+]† IR† Fr 2† Fr A Fr B Fr V Animal-Packed | No Captured Use penalty for Vichy French
+M2 60mm Mortar IR WP7[5] IR WP7 Fr 22 Fr W†
+OML 3-in. Mortar IR[2+]†[1] WP7 s8[1+]† IR†[1] WP7 s8† Fr 22†[1] Fr W† QSU | Animal-Packed
+Mortier de 81 mle 27/31(f) s8 s8 Fr 3† Fr A Fr B Fr D Fr V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+M1 81mm Mortar WP8 WP8 Fr 22 Fr D Fr Y† QSU
+Boys ATR Fr 4† Fr B No Long Range
+OQF 25mm Hotchkiss Fr 23†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+Canon AC de 47 SA 37 APX(f) Fr 6†[1] Fr B Fr G† Fr P Fr V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 6-Pounder 7-cwt D6[J4E]7[5]† HE7[F3]8[4+]† D7† HE8† Fr 24 Fr W† QSU | CA restrictions | En Portee NA
+M1 57mm AT Gun D4[J4+E]† HE7[J4E]7[5]† D4† HE7† Fr 24 Fr Y† QSU
+Canon de 75 mle 1897 s8 s8 Fr 25†[1] Fr V Fr W† QSU | En Portee NA | No Captured Use penalty for Vichy French
+OQF 25-Pounder Gun-Howitzer LF [NT, 0 ROF] s8 LF [NT, 0 ROF] s8 Fr 26†[1] Fr W†
+M2A1 105mm Howitzer C7[4+P]†[1] H6 WP8 s7 H6 WP8 s7 Fr 27 Fr Y†
+M3 105mm Howitzer C7[P]†[1] H7 WP8 s7 H7 WP8 s7 Fr 27 Fr Y†
+OBL 5.5-in. Gun-Howitzer Fr 28†[1] Fr W†
+M1 155mm Howitzer WP8 s7 WP8 s7 Fr 29 Fr Y†
+M1918M1 155mm Gun AP4†[1] WP8 AP4†[1] WP8 Fr 29 Fr Y† RFNM | No IF
+Mitrailleuse de 13.2 CAJ Fr 18†[1] Fr B Fr G† Fr V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
+OQF 40mm AA LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr W†
+M1 40mm AA Gun LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] Fr 30 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1940.txt
index e532ee8..7c1f059 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1940.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1940 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- --------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee NA | MA: B# = (11) | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee NA | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee NA
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = (11) | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = (11)
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1941.txt
index 0bf337d..c1c4585 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1941.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1941 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- ------------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }] | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = 12
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1942.txt
index 246a784..493f116 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1942.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1942 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† IR† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- ------------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† IR† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }] | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = 12
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1943.txt
index 3aab36a..dbf8d6d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1943.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1943 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† IR† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- ------------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† IR† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }] | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = 12
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1944.txt
index 43a8a52..42d3841 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1944.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1944 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† IR† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- ------------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† IR† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }] | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = 12
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1945.txt
index 786d2ed..fc73f45 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/french/1945.txt
@@ -1,25 +1,25 @@
=== ordnance/french/1945 ===
Name Capabilities (effective) # Notes Comments
---------------------------------- ------------------------ ------------------------ ------ -------- ----------------------
-LG de 50 mle 37(f) 2PP 2PP 1 A B C† E crewed†
-Mortier de 60 mle 35 5PP no OBA† IR[2+]† 5PP no OBA† IR† 2† A B V
-Mortier de 81 mle 27/31 QSU s8 QSU s8 3† A B D V
-Fusil Antichar Boys 1PP 1PP 4† B
-Canon AC de 25 SA-L mle 34 QSU QSU 5† B P
-Canon AC de 47 SA mle 37 APX QSU APCR only†[1] QSU APCR only†[1] 6†[1] B G† P V
-Canon de 75 AC mle 97/35 h-d HE7 LF [NT] s6 h-d HE7 LF [NT] s6 7 E no shield
-Canon de 37 mle 16 TR 5PP (3PP dm) 5PP (3PP dm) 8†[1] A C† crewed†
-Canon de 65 M mle 06 QSU h-d QSU h-d 9† A P No Gunshield.
-Canon de 75 M mle 28 QSU h-d AP5 s6 QSU h-d AP5 s6 10† A P
-Canon de 75 mle 1897 QSU s8 QSU s8 11† B P
-Canon de 105 M mle 28 h-d h-d 12† A P
+--------------------------------- ------------------------ ------------------------ ------ -------- ------------------------------------------------------------------------------------------------------------------------------------------
+LG de 50 mle 37(f) 1 A B C† E Animal-Packed | Crewed
+Mortier de 60 mle 35 IR[2+]† IR† 2† A B V Animal-Packed | No Captured Use penalty for Vichy French
+Mortier de 81 mle 27/31 s8 s8 3† A B D V QSU | Animal-Packed | No Captured Use penalty for Vichy French
+Fusil Antichar Boys 4† B No Long Range
+Canon AC de 25 SA-L mle 34 5† B P QSU | En Portee (C-K P17, Laffly S20TL, Citroën 23) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon AC de 47 SA mle 37 APX 6†[1] B G† P V QSU | APCR only | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | MA: B# = 12 | No Captured Use penalty for Vichy French
+Canon de 75 AC mle 97/35 HE7 LF [NT] s6 HE7 LF [NT] s6 7 E Horse-Drawn | No Gunshield
+Canon de 37 mle 16 TR 8†[1] A C† No Gunshield | As HMG | Animal-Packed | Crewed
+Canon de 65 M mle 06 9† A P QSU | No Gunshield | Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
+Canon de 75 M mle 28 AP5 s6 AP5 s6 10† A P QSU | Horse-Drawn | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }] | Animal-Packed
+Canon de 75 mle 1897 s8 s8 11† B P QSU | En Portee (Renault AGR2) [{ *:Portee Fire OK [EXC: Bnd (F)F & Motion Fire NA] *:CA restrictions }]
+Canon de 105 M mle 28 12† A P Horse-Drawn | En Portee (Renault AGR2) [{ *:Motion Fire NA }] | Animal-Packed
Canon de 105 C mle 35 B 13 E F†
-Canon de 105 L mle 13 S 14† P
+Canon de 105 L mle 13 S 14† P En Portee (Renault AGR2) [{ *:Motion Fire NA }]
Canon de 105 L mle 36 S 15 E F†
Canon de 155 C mle 17 S s8 s8 16† n/a
-Canon de 155 GPF RFNM RFNM 17† n/a No IF.
-Mitrailleuse de 13.2 CAJ mle 30 2 TK DR†[1] 2 TK DR†[1] 18†[1] B G† V Towing NA†1
+Canon de 155 GPF 17† n/a RFNM | No IF
+Mitrailleuse de 13.2 CAJ mle 30 18†[1] B G† V Tow NA | 2 TK DR | 16 [TH] | MA: B# = 12 | No Captured Use penalty for Vichy French
Mitrailleuse de 20 CA mle 39 O LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 19† n/a
-Canon Automatique de 25 CA mle 38 20†[1] G†
-Canon de 75 CA mle 32 NM NM 21† n/a
+Canon Automatique de 25 CA mle 38 20†[1] G† MA: B# = 12
+Canon de 75 CA mle 32 21† n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1940.txt
index f2b1997..1e921a9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1940.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1940 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee NA
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† H6[9]† 6 B† N P QSU | En Portee NA
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1941.txt
index f6aa8d3..d5840f8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1941.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1941 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU A4 H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU A5 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ---------------------------------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee (Opel truck) | Portee Fire OK
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† A4 H6[9]† 6 B† N P QSU | En Portee (Opel truck) | Portee Fire OK
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] A5 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU A5 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] A5 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1942.txt
index 79707dd..3b50e7a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1942.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1942 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU A5 H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU A6 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU A5 s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU A5 s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ---------------------------------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee (Opel truck) | Portee Fire OK
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† A5 H6[9]† 6 B† N P QSU | En Portee (Opel truck) | Portee Fire OK
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] A6 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 A5 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 A5 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] A5 LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU A4 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] A4 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1943.txt
index 8011851..f4ed556 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1943.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1943 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU A4 H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU A5 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU A4 s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU A4 s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ---------------------------------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee (Opel truck) | Portee Fire OK
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† A4 H6[9]† 6 B† N P QSU | En Portee (Opel truck) | Portee Fire OK
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] A5 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 A4 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 A4 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] A4 LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU A4 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] A4 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1944.txt
index e617f02..8db6e6a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1944.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1944 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU A3 H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU A4 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU A3 s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU A3 s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee NA
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† A3 H6[9]† 6 B† N P QSU | En Portee NA
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] A4 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 A3 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 A3 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] A3 LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU A4 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] A4 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1945.txt
index 1f63efe..3b669d8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/german/1945.txt
@@ -1,38 +1,38 @@
=== ordnance/german/1945 ===
Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------- ----------------------------------- --- ---------------- -------------------
-5cm leGrW 5PP 5PP 1 N
-8cm GrW 34 QSU IR s8 QSU IR s8 2† N
-10cm NbW 35 QSU s10 QSU s10 3 O
-12cm GrW 42 QSU s8 QSU s8 4† n/a
-2.8cm sPzB 41 QSU QSU 5† A† N P uses APCR TK Table†
-3.7cm PaK 35/36 QSU A4[1]5[2]4[3]3[4] H6[9]† QSU A3 H6[9]† 6 B† N P
-4.2cm lePaK 41 QSU QSU 7 A† NT uses APCR TK Table†
-5cm PaK 38 QSU A5[1]6[2]5[3]4[4] QSU A4 8† N
-7.5cm PaK 97/38 QSU H6 s7 QSU H6 s7 9 NT
-7.5cm PaK 40 QSU A5[2]4[3]3[4] s7 QSU A3 s7 10† NT
-7.62cm PaK 36r QSU A5[2]4[3]3[4] s6 QSU A3 s6 11† N
+------------------------ ----------------------------------- ----------------------------------- --- ---------------- ------------------------------------------------------
+5cm leGrW 1 N
+8cm GrW 34 IR s8 IR s8 2† N QSU
+10cm NbW 35 s10 s10 3 O QSU | Animal-Packed
+12cm GrW 42 s8 s8 4† n/a QSU
+2.8cm sPzB 41 5† A† N P QSU | Use APCR TK vs AFV | ∞ APCR | En Portee NA
+3.7cm PaK 35/36 A4[1]5[2]4[3]3[4] H6[9]† A3 H6[9]† 6 B† N P QSU | En Portee NA
+4.2cm lePaK 41 7 A† NT QSU | Use APCR TK vs AFV | ∞ APCR
+5cm PaK 38 A5[1]6[2]5[3]4[4] A4 8† N QSU
+7.5cm PaK 97/38 H6 s7 H6 s7 9 NT QSU
+7.5cm PaK 40 A5[2]4[3]3[4] s7 A3 s7 10† NT QSU
+7.62cm PaK 36r A5[2]4[3]3[4] s6 A3 s6 11† N QSU
8.8cm PaK 43 LF [88†, 1 ROF, B11, M4, -1] LF [88†, 1 ROF, B11, M4, -1] 12 C†
8.8cm PaK 43/41 13 n/a
-12.8cm K 81/1 NM NM 14 n/a
-7.5cm leIG 18 QSU H7 QSU H7 15 N O
+12.8cm K 81/1 14 n/a No Move
+7.5cm leIG 18 H7 H7 15 N O QSU | Animal-Packed
15cm sIG 33 H7 s8 H7 s8 16 N
-7.5cm LG 40 QSU H6 QSU H6 17 NT
-10.5cm LG 42 QSU H6 s6 QSU H6 s6 18† NT
-7.5cm leFK 16nA QSU h-d H5 s8 QSU h-d H5 s8 19 n/a
+7.5cm LG 40 H6 H6 17 NT QSU
+10.5cm LG 42 H6 s6 H6 s6 18† NT QSU
+7.5cm leFK 16nA H5 s8 H5 s8 19 n/a QSU | Horse-Drawn
10.5cm leFH 18 H6 s8 H6 s8 20 N
-s 10cm K 18 NM H6 s8 NM H6 s8 21 N
-15cm sFH 18 NM H6 s8 NM H6 s8 22 N
-15cm K 18 RFNM AP6 RFNM AP6 23 NT
-17cm K 18 RFNM AP6 RFNM AP6 24 N No IF.
+s 10cm K 18 H6 s8 H6 s8 21 N No Move
+15cm sFH 18 H6 s8 H6 s8 22 N No Move
+15cm K 18 AP6 AP6 23 NT RFNM
+17cm K 18 AP6 AP6 24 N RFNM | No IF
2cm FlaK 30 LF [20†, 2 ROF, B10, NT] LF [20†, 2 ROF, B10, NT] 25 C† N
2cm FlaK 38 LF [20†, 2 ROF, B11, NT] LF [20†, 2 ROF, B11, NT] 26 C† N
-2cm FlaKvierling 38 4TK DR† 4TK DR† 27† N
+2cm FlaKvierling 38 27† N 4 TK DR
3.7cm FlaK 36 o. 37 H5[9]† H5[9]† 28 B† N
3.7cm FlaK 43 29 n/a
8.8cm FlaK 18 o. 36 A5[2]4[3]3[4] LF [88L†, 1 ROF, B11] A3 LF [88L†, 1 ROF, B11] 30 C† N
-2cm Tankbüsche S-18 5PP 5PP 1† AxM A No Long Range
-4.7 cm PaK 36(t) QSU A5[1]4[2] QSU A4 2† n/a
-7.5 cm Geb G36 QSU H7† QSU H7† 3† Ge O
-10.5 cm Geb H40 QSU H8 QSU H8 4† Ge O
+2cm Tankbüsche S-18 1† AxM A No Long Range | Animal-Packed
+4.7 cm PaK 36(t) A5[1]4[2] A4 2† n/a QSU
+7.5 cm Geb G36 H7† H7† 3† Ge O HEAT ≥ 26 hexes: As * Gun | QSU | Animal-Packed
+10.5 cm Geb H40 H8 H8 4† Ge O QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1940.txt
index 70885d2..89e58ff 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1940.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1940 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1941.txt
index d61a5ca..fa3fe35 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1941.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1941 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1942.txt
index c8e48c9..c355a6d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1942.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1942 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1943.txt
index 136dc1b..c81c020 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1943.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1943 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1944.txt
index 3c1c241..fbf859f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1944.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1944 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1945.txt
index 045136c..d1fa7f6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/greek/1945.txt
@@ -1,7 +1,7 @@
=== ordnance/greek/1945 ===
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- ----------
+--------------- -------------- ------------- --- ------- -----------
Vari 85/24 M s5 s5 16 Gr
-OR 105/19 h-d h-d 17 Gr
+OR 105/19 17 Gr Horse-Drawn
3.7cm Bofors AA 18 Gr
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1940.txt
index ffb68eb..53e9a94 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1940.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1940 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1941.txt
index 768459e..ef351b9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1941.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1941 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1942.txt
index 0fc391f..b0c78ce 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1942.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1942 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1943.txt
index 273c489..ca978bd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1943.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1943 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1944.txt
index 96afba6..381cf0f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1944.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1944 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1945.txt
index a291ae4..11a9e6b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/hungarian/1945.txt
@@ -1,9 +1,9 @@
=== ordnance/hungarian/1945 ===
Name Capabilities (effective) # Notes Comments
------------------- ----------------------- ----------------------- --- -------------- ----------
-5cm leGrW 39(h) 5PP 5PP 23 A
-40mm MAVAG 40 M QSU H7[9]† QSU H7[9]† 24† n/a
-Skoda M05/08 25 A
-105mm MAVAG M40 h-d h-d 26 n/a
-Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1
+------------------ ----------------------- ----------------------- --- -------------- -------------------------------------------------------------------------------
+5cm leGrW 39(h) 23 A Animal-Packed
+40mm MAVAG 40 M H7[9]† H7[9]† 24† n/a QSU | H7[9]: vs vehicle or HEAT-allowed target [{ *:TH# = 11 - range *:ROF 2 }]
+Skoda M05/08 25 A Animal-Packed
+105mm MAVAG M40 26 n/a Horse-Drawn
+Bofors 80mm M29/38 LF [80†[1], 1 ROF, B11] LF [80†[1], 1 ROF, B11] 27† G†1 AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1940.txt
index f8e09a7..0cc14c0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1940.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1941.txt
index 8a5591c..3b5bea8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1941.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1942.txt
index e8dccfa..09cd266 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1942.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1943.txt
index b6ab9cd..b71b436 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1943.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1944.txt
index d5734e8..39a8fe0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1944.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1945.txt
index d58154b..9dce6fd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/indonesian/1945.txt
@@ -1,10 +1,10 @@
=== ordnance/indonesian/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------- ----------------------- -------------------- --- ------- ----------
-Type 89 Heavy Grenade Launcher S6[5] WP5[5] 4PP S6 WP5 4PP 1 n/a
-Type 97 Automatic Gun Long Range is NA 5PP Long Range is NA 5PP 2 Jp A
-Year-11 Flat-Trajectory INF Gun 5PP (3PP dm) 5PP (3PP dm) 3 Jp A
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 4 Jp A
-Type 1 Machine-Moved Gun QSU QSU 5 n/a
-Year-38 Type Field Gun (Improved) WP5[5] QSU h-d AP TK#12 WP5 QSU h-d AP TK#12 6 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------------- -------------- ------------- --- ------- -------------------------------------------------------------
+Type 89 Heavy Grenade Launcher S6[5] WP5[5] S6 WP5 1 n/a HE: Range ≤ 2, ROF 1 | Smoke: [3-10] | WP: [1-5], ROF 1
+Type 97 Automatic Gun 2 Jp A No Long Range | Animal-Packed
+Year-11 Flat-Trajectory INF Gun 3 Jp A Crewed | Animal-Packed
+Type 94 Rapid-Fire Gun 4 Jp A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 5 n/a QSU
+Year-38 Type Field Gun (Improved) WP5[5] WP5 6 n/a AP TK# = 12 | QSU | Horse-Drawn
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1940.txt
index 0bff188..95b694e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1940.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1940 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow NA | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1941.txt
index 0eb2e48..d40375d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1941.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1941 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow NA | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1942.txt
index 0d5a6a8..bbbdc2f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1942.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1942 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU Towed† 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow OK | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1943.txt
index 9b4a6ff..284e67e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1943.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1943 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU Towed† 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU H6†[1] 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow OK | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] H6†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 H6†[1] s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 H6†[1] s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1944.txt
index 62e941d..8132711 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1944.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1944 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU Towed† 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU H6†[1] 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow OK | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] H6†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 H6†[1] s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 H6†[1] s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1945.txt
index be74df7..aac9b8e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/italian/1945.txt
@@ -1,24 +1,24 @@
=== ordnance/italian/1945 ===
Name Capabilities (effective) # Notes Comments
----------------------------- ------------------- ------------------- --- ------------------------- ----------------------------------
-Mortaio da 45 "Brixia" 4PP 4PP 1 N
-Mortaio da 81/14 QSU IR s8 QSU IR s8 2† N
-Fucile-cc S 5PP 5PP 3 N
-Cannone-cc da 37/45 QSU QSU 4† C N R
-Cannone da 47/32 QSU Towed[A1+]† QSU Towed† 5† A C N No Gunshield.
-Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield.
-Cannone da 70/15 QSU h-d QSU h-d 7† A B†1 R Acq. NA†1 No Gunshield.
-Obice da 75/13 QSU QSU 8† A
-Cannone da 75/27 QSU H6[S2+]†[1] QSU H6†[1] 9† A C H†1 N
-Obice da 75/18 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 10† A H†1 N
-Cannone da 75/32 QSU H6[S2+]†[1] s8 QSU H6†[1] s8 11† H†1
-Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N
+---------------------------- ------------------- ------------------- --- ------------------------- ---------------------------------------------------------------------------------
+Mortaio da 45 "Brixia" 1 N
+Mortaio da 81/14 IR s8 IR s8 2† N QSU
+Fucile-cc S 3 N No Long Range | AP TK# = 6
+Cannone-cc da 37/45 4† C N R QSU | Portee Fire OK (Rear VCA only) [EXC: No Bnd (F)F] | En Portee (Autocarro L)
+Cannone da 47/32 5† A C N QSU | No Gunshield | Tow OK | Animal-Packed | En Portee (Autocarro L)
+Cannone da 65/17 H6[S2+]†[1] H6†[1] 6† A C H†1 N No Gunshield | HEAT: TK# = 11 | En Portee (Autocarro M) | Animal-Packed
+Cannone da 70/15 7† A B†1 R QSU | Acquisition NA | No Gunshield | Horse-Drawn | Animal-Packed
+Obice da 75/13 8† A QSU | Animal-Packed
+Cannone da 75/27 H6[S2+]†[1] H6†[1] 9† A C H†1 N QSU | En Portee (Autocarro P) | Animal-Packed
+Obice da 75/18 H6[S2+]†[1] s8 H6†[1] s8 10† A H†1 N QSU | Animal-Packed
+Cannone da 75/32 H6[S2+]†[1] s8 H6†[1] s8 11† H†1 QSU
+Obice da 100/17 H6[S2+]†[1] H6†[1] 12† A H†1 N HEAT: TK# = 14 | Animal-Packed
Cannone da 105/28 s8 s8 13† N
Obice 149/13 14† N
-Cannone da 149/35 RFNM s8 RFNM s8 15† B†1 N R No IF. Acq. NA†1
-Cannone da 149/40 RFNM RFNM 16† N
-Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N
-Cannone-aa da 75/39 "16" AP TK#† "16" AP TK#† 18† n/a
+Cannone da 149/35 s8 s8 15† B†1 N R RFNM | No IF | Acquisition NA
+Cannone da 149/40 16† N RFNM
+Cannone-mitragliera da 20/65 LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 17† A C N Animal-Packed | En Portee (Autocarro L)
+Cannone-aa da 75/39 18† n/a AP TK# = 16
Cannone-aa da 75/46 19† N
Cannone-aa da 90/53 20† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1940.txt
index 98ee5be..11dceba 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1940.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1940 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ----------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1941.txt
index da08403..8fb0c2c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1941.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1941 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ----------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1942.txt
index 0588f1f..3b2ae28 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1942.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1942 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ----------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1943.txt
index c6e15c4..4dfcc6d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1943.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1943 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ----------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 4† Ch G
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1944.txt
index b1f05f1..3e94bdd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1944.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1944 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d H6† WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ---------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 H6† WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP LF [75, 1 ROF, B11] 4† Ch G ∞ AP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1945.txt
index 36da1c6..4c4c70f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/japanese/1945.txt
@@ -1,35 +1,35 @@
=== ordnance/japanese/1945 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------------------- ------------------------------------------ ------------------------------------------ ------ ------------------ ----------------------
-Type 89 Heavy Grenade Launcher IR WP6† 4PP s7† IR WP6† 4PP s7† 1† n/a
-Year-11 Type Curved-Fire Infantry Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 2† A B†1
-Type 97 Curved-Fire Infantry Gun QSU WP5 QSU WP5 3† A
-Type 97 Light Close-Attack Gun QSU 5PP dm†[1] WP5 QSU 5PP dm†[1] WP5 4† A B†1
-Type 97 Medium Close-Attack Gun 5† A C†1 Towing NA†1
-Type 97 Automatic Gun 5PP 5PP 6† A crew†
-Type 94 Rapid-Fire Gun QSU h-d QSU h-d 7† A
-Type 1 Machine-Moved Gun QSU QSU 8† n/a
-Year-11 Type Flat-Trajectory Infantry Gun 5PP (3PP dm) 5PP (3PP dm) 9† A crewed†
-Type 92 Infantry Gun QSU h-d AP5 H6[5] WP5 QSU h-d AP5 H6 WP5 10† A
-Year-41 Type Mountain Gun QSU h-d H6[4+]† WP7 QSU h-d H6† WP7 11† A
-Year-38 Type Field Gun (Improved) QSU h-d WP6 "12" AP TK#† QSU h-d WP6 "12" AP TK#† 12† n/a
-Type 90 Field Gun QSU WP6 QSU WP6 13† n/a
-Type 91 10cm Field Howitzer 14† n/a
-Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
-Year-38 Type 12cm Howitzer h-d AP5 h-d AP5 16† n/a
-Year-3 Type 14cm Naval Seacoast Gun NM† NM† 17†[1] D† E
-Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a Towing risk†
-Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 20† A C†1 E Towing NA†1
-Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A
-Type 96 Naval High-Angle Machine Cannon NM† NM† 22†[1] D† E
-Type 96 Twin-Mount Naval High-Angle Machine Cannon NM† 2 TK DR†[1] NM† 2 TK DR†[1] 22†[1] D† E
-Type 96 Triple-Mount Naval High-Angle Machine Cannon NM† 3 TK DR†[1] NM† 3 TK DR†[1] 22†[1] D† E
-Type 88 7.5cm Mobile Field High-Angle Gun 23† E
-Year-10 Type 12cm Naval High-Angle Gun NM† NM† 24†[1] D† E
-Type 10 8cm Naval High-Angle Gun NM† "13" AP TK†[1] NM† "13" AP TK†[1] 25†[1] D† E
-Type 45 (1912) 24cm Howitzer NM No IF HE TK# 23 Tow NA NM No IF HE TK# 23 Tow NA 1† Jp D†1
-Type 91 Vickers AA Gun AP TK# 8 LF [40(4), 1 ROF, B10] AP TK# 8 LF [40(4), 1 ROF, B10] 2† n/a
-Type 91 Twin-mount Vickers AA Gun AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] AP TK# 8 2 TK DR's† LF [40(8), 1 ROF, B10] 3† n/a
-Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP LF [75, 1 ROF, B11] 4† Ch G
+Name Capabilities (effective) # Notes Comments
+---------------------------------------------------- ---------------------------- ---------------------- ------ ------------------ -------------------------------------------------------------------------------------------------------------------------------------------
+Type 89 Heavy Grenade Launcher IR s7† WP6† IR s7† WP6† 1† n/a HE ≤ 2 hexes: [{ *:ROF 1 *:Air Bursts NA }] | Smoke: Range 3-10 hexes | WP: Range 1-5 hexes [{ *:ROF 1 *:Dispersed *:Air Bursts NA }]
+Year-11 Type Curved-Fire Infantry Gun WP5 WP5 2† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Curved-Fire Infantry Gun WP5 WP5 3† A QSU | Animal-Packed
+Type 97 Light Close-Attack Gun WP5 WP5 4† A B†1 QSU | Animal-Packed | As 82mm MTR
+Type 97 Medium Close-Attack Gun 5† A C†1 Tow NA | Animal-Packed
+Type 97 Automatic Gun 6† A Crewed | No Long Range | Animal-Packed
+Type 94 Rapid-Fire Gun 7† A QSU | Horse-Drawn | Animal-Packed
+Type 1 Machine-Moved Gun 8† n/a QSU
+Year-11 Type Flat-Trajectory Infantry Gun 9† A Crewed | As HMG | Animal-Packed
+Type 92 Infantry Gun AP5 H6[5] WP5 AP5 H6 WP5 10† A QSU | Horse-Drawn | Indirect Fire OK | HEAT TK# = 12 | Animal-Packed
+Year-41 Type Mountain Gun H6[4+]† WP7 H6† WP7 11† A QSU | Horse-Drawn | Animal-Packed
+Year-38 Type Field Gun (Improved) WP6 WP6 12† n/a QSU | Horse-Drawn | AP TK# = 12
+Type 90 Field Gun WP6 WP6 13† n/a QSU
+Type 91 10cm Field Howitzer 14† n/a
+Type 92 10cm Cannon AP5 WP5 AP5 WP5 15† n/a
+Year-38 Type 12cm Howitzer AP5 AP5 16† n/a Horse-Drawn | AP TK# = 13
+Year-3 Type 14cm Naval Seacoast Gun 17†[1] D† E No Move | AP TK# = 32
+Year-4 Type 15cm Howitzer AP5 WP5 AP5 WP5 18† n/a AP TK# = 17 | Tow Disable: 6 MF/MP & dr 6
+Type 96 15cm Howitzer AP5 WP5 AP5 WP5 19† E
+Type 93 Twin-Mount High-Angle Machine Gun 20† A C†1 E Tow NA | 2 TK DR | [16] TH | Animal-Packed
+Type 98 High-Angle Machine Cannon LF [NT, 20†, 2 ROF] LF [NT, 20†, 2 ROF] 21† A Animal-Packed
+Type 96 Naval High-Angle Machine Cannon 22†[1] D† E No Move
+Type 96 Twin-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 2 TK DR
+Type 96 Triple-Mount Naval High-Angle Machine Cannon 22†[1] D† E No Move | Multiple Hits NA | 3 TK DR
+Type 88 7.5cm Mobile Field High-Angle Gun 23† E
+Year-10 Type 12cm Naval High-Angle Gun 24†[1] D† E No Move | AP TK# = 27
+Type 10 8cm Naval High-Angle Gun 25†[1] D† E No Move | AP TK# = 13
+Type 45 (1912) 24cm Howitzer 1† Jp D†1 HE TK# = 23 | No IF | Tow NA | No Move
+Type 91 Vickers AA Gun LF [40(4), 1 ROF, B10] LF [40(4), 1 ROF, B10] 2† n/a AP TK# = 8
+Type 91 Twin-mount Vickers AA Gun LF [40(8), 1 ROF, B10] LF [40(8), 1 ROF, B10] 3† n/a 2 TK DR | AP TK# = 8
+Type 4 75mm AA AP6[44-] LF [75, 1 ROF, B11] AP LF [75, 1 ROF, B11] 4† Ch G ∞ AP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1950.txt
index bdebace..9230bc3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1950.txt
@@ -1,19 +1,19 @@
=== ordnance/kfw-cpva/1950 ===
-Name Capabilities (effective) # Notes Comments
------------------------------------------ -------------------- -------------------- ------ ------- ----------
-50mm Type 89 Heavy Grenade Launcher 4PP 4PP 18† A
-60mm Type 31 Mortar 5PP 5PP 19 A
-82mm Type 20 Mortar QSU QSU 20† A
-82mm Type 53 Mortar QSU s6 QSU s6 21† A
-120mm PM obr. 38 QSU s6 QSU s6 22† n/a
-45mm PTP obr. 42 QSU A7 QSU A7 23† n/a
-47mm Type 1 Machine-Moved Gun QSU QSU 24† n/a
-57mm PTP obr. 43 QSU A6 QSU A6 25† n/a
-57mm Type 36 Recoilless Rifle H6 WP5 3PP H6 WP5 3PP 26†[1] R† crewed†
-75mm Type 52 Recoilless Rifle H6 WP5 5PP H6 WP5 5PP 27 R† crewed†
-70mm Type 92 Infantry Gun QSU h-d AP3 H3 QSU h-d AP3 H3 28† A
-76.2mm PP obr. 27 QSU H6 s6 QSU H6 s6 29† A
-Year-38 Type Field Gun (Improved) QSU h-d "12" AP TK#† QSU h-d "12" AP TK#† 30† n/a
-76.2mm obr. 42 QSU A7 s6 QSU A7 s6 31† n/a
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 32† A Towing NA†
+Name Capabilities (effective) # Notes Comments
+----------------------------------------- -------------- ------------- ------ ------- --------------------------------------------------------
+50mm Type 89 Heavy Grenade Launcher 18† A Range ≤ 2: ROF 1, Air Bursts NA | Animal-Packed
+60mm Type 31 Mortar 19 A Animal-Packed
+82mm Type 20 Mortar 20† A QSU | Animal-Packed
+82mm Type 53 Mortar s6 s6 21† A QSU | Animal-Packed
+120mm PM obr. 38 s6 s6 22† n/a QSU
+45mm PTP obr. 42 A7 A7 23† n/a QSU
+47mm Type 1 Machine-Moved Gun 24† n/a QSU
+57mm PTP obr. 43 A6 A6 25† n/a QSU
+57mm Type 36 Recoilless Rifle H6 WP5 H6 WP5 26†[1] R† HEAT TK# = 9 | Crewed | Red TH#
+75mm Type 52 Recoilless Rifle H6 WP5 H6 WP5 27 R† HEAT TK# = 11 | Crewed | Red TH#
+70mm Type 92 Infantry Gun AP3 H3 AP3 H3 28† A QSU | Horse-Drawn | Indirect Fire [3-70] | Animal-Packed
+76.2mm PP obr. 27 H6 s6 H6 s6 29† A QSU | Animal-Packed
+Year-38 Type Field Gun (Improved) 30† n/a QSU | Horse-Drawn | AP TK# = 12
+76.2mm obr. 42 A7 s6 A7 s6 31† n/a QSU
+Type 93 Twin-Mount High-Angle Machine Gun 32† A Tow NA | 2 TK DR | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1951.txt
index 9004f1c..b929281 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1951.txt
@@ -1,19 +1,19 @@
=== ordnance/kfw-cpva/1951 ===
-Name Capabilities (effective) # Notes Comments
------------------------------------------ -------------------- -------------------- ------ ------- ----------
-50mm Type 89 Heavy Grenade Launcher 4PP 4PP 18† A
-60mm Type 31 Mortar 5PP 5PP 19 A
-82mm Type 20 Mortar QSU QSU 20† A
-82mm Type 53 Mortar QSU s6 QSU s6 21† A
-120mm PM obr. 38 QSU s6 QSU s6 22† n/a
-45mm PTP obr. 42 QSU A7 QSU A7 23† n/a
-47mm Type 1 Machine-Moved Gun QSU QSU 24† n/a
-57mm PTP obr. 43 QSU A6 QSU A6 25† n/a
-57mm Type 36 Recoilless Rifle H6 WP5 3PP H6 WP5 3PP 26†[1] R† crewed†
-75mm Type 52 Recoilless Rifle H6 WP5 5PP H6 WP5 5PP 27 R† crewed†
-70mm Type 92 Infantry Gun QSU h-d AP3 H3 QSU h-d AP3 H3 28† A
-76.2mm PP obr. 27 QSU H6 s6 QSU H6 s6 29† A
-Year-38 Type Field Gun (Improved) QSU h-d "12" AP TK#† QSU h-d "12" AP TK#† 30† n/a
-76.2mm obr. 42 QSU A7 s6 QSU A7 s6 31† n/a
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 32† A Towing NA†
+Name Capabilities (effective) # Notes Comments
+----------------------------------------- -------------- ------------- ------ ------- --------------------------------------------------------
+50mm Type 89 Heavy Grenade Launcher 18† A Range ≤ 2: ROF 1, Air Bursts NA | Animal-Packed
+60mm Type 31 Mortar 19 A Animal-Packed
+82mm Type 20 Mortar 20† A QSU | Animal-Packed
+82mm Type 53 Mortar s6 s6 21† A QSU | Animal-Packed
+120mm PM obr. 38 s6 s6 22† n/a QSU
+45mm PTP obr. 42 A7 A7 23† n/a QSU
+47mm Type 1 Machine-Moved Gun 24† n/a QSU
+57mm PTP obr. 43 A6 A6 25† n/a QSU
+57mm Type 36 Recoilless Rifle H6 WP5 H6 WP5 26†[1] R† HEAT TK# = 9 | Crewed | Red TH#
+75mm Type 52 Recoilless Rifle H6 WP5 H6 WP5 27 R† HEAT TK# = 11 | Crewed | Red TH#
+70mm Type 92 Infantry Gun AP3 H3 AP3 H3 28† A QSU | Horse-Drawn | Indirect Fire [3-70] | Animal-Packed
+76.2mm PP obr. 27 H6 s6 H6 s6 29† A QSU | Animal-Packed
+Year-38 Type Field Gun (Improved) 30† n/a QSU | Horse-Drawn | AP TK# = 12
+76.2mm obr. 42 A7 s6 A7 s6 31† n/a QSU
+Type 93 Twin-Mount High-Angle Machine Gun 32† A Tow NA | 2 TK DR | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1952.txt
index 7d7736d..758f54d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1952.txt
@@ -1,19 +1,19 @@
=== ordnance/kfw-cpva/1952 ===
-Name Capabilities (effective) # Notes Comments
------------------------------------------ -------------------- -------------------- ------ ------- ----------
-50mm Type 89 Heavy Grenade Launcher 4PP 4PP 18† A
-60mm Type 31 Mortar 5PP 5PP 19 A
-82mm Type 20 Mortar QSU QSU 20† A
-82mm Type 53 Mortar QSU s6 QSU s6 21† A
-120mm PM obr. 38 QSU s6 QSU s6 22† n/a
-45mm PTP obr. 42 QSU A7 QSU A7 23† n/a
-47mm Type 1 Machine-Moved Gun QSU QSU 24† n/a
-57mm PTP obr. 43 QSU A6 QSU A6 25† n/a
-57mm Type 36 Recoilless Rifle H6 WP5 3PP H6 WP5 3PP 26†[1] R† crewed†
-75mm Type 52 Recoilless Rifle H6 WP5 5PP H6 WP5 5PP 27 R† crewed†
-70mm Type 92 Infantry Gun QSU h-d AP3 H3 QSU h-d AP3 H3 28† A
-76.2mm PP obr. 27 QSU H6 s6 QSU H6 s6 29† A
-Year-38 Type Field Gun (Improved) QSU h-d "12" AP TK#† QSU h-d "12" AP TK#† 30† n/a
-76.2mm obr. 42 QSU A7 s6 QSU A7 s6 31† n/a
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 32† A Towing NA†
+Name Capabilities (effective) # Notes Comments
+----------------------------------------- -------------- ------------- ------ ------- --------------------------------------------------------
+50mm Type 89 Heavy Grenade Launcher 18† A Range ≤ 2: ROF 1, Air Bursts NA | Animal-Packed
+60mm Type 31 Mortar 19 A Animal-Packed
+82mm Type 20 Mortar 20† A QSU | Animal-Packed
+82mm Type 53 Mortar s6 s6 21† A QSU | Animal-Packed
+120mm PM obr. 38 s6 s6 22† n/a QSU
+45mm PTP obr. 42 A7 A7 23† n/a QSU
+47mm Type 1 Machine-Moved Gun 24† n/a QSU
+57mm PTP obr. 43 A6 A6 25† n/a QSU
+57mm Type 36 Recoilless Rifle H6 WP5 H6 WP5 26†[1] R† HEAT TK# = 9 | Crewed | Red TH#
+75mm Type 52 Recoilless Rifle H6 WP5 H6 WP5 27 R† HEAT TK# = 11 | Crewed | Red TH#
+70mm Type 92 Infantry Gun AP3 H3 AP3 H3 28† A QSU | Horse-Drawn | Indirect Fire [3-70] | Animal-Packed
+76.2mm PP obr. 27 H6 s6 H6 s6 29† A QSU | Animal-Packed
+Year-38 Type Field Gun (Improved) 30† n/a QSU | Horse-Drawn | AP TK# = 12
+76.2mm obr. 42 A7 s6 A7 s6 31† n/a QSU
+Type 93 Twin-Mount High-Angle Machine Gun 32† A Tow NA | 2 TK DR | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1953.txt
index 3b78b63..acb5ced 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1953.txt
@@ -1,19 +1,19 @@
=== ordnance/kfw-cpva/1953 ===
-Name Capabilities (effective) # Notes Comments
------------------------------------------ -------------------- -------------------- ------ ------- ----------
-50mm Type 89 Heavy Grenade Launcher 4PP 4PP 18† A
-60mm Type 31 Mortar 5PP 5PP 19 A
-82mm Type 20 Mortar QSU QSU 20† A
-82mm Type 53 Mortar QSU s6 QSU s6 21† A
-120mm PM obr. 38 QSU s6 QSU s6 22† n/a
-45mm PTP obr. 42 QSU A7 QSU A7 23† n/a
-47mm Type 1 Machine-Moved Gun QSU QSU 24† n/a
-57mm PTP obr. 43 QSU A6 QSU A6 25† n/a
-57mm Type 36 Recoilless Rifle H6 WP5 3PP H6 WP5 3PP 26†[1] R† crewed†
-75mm Type 52 Recoilless Rifle H6 WP5 5PP H6 WP5 5PP 27 R† crewed†
-70mm Type 92 Infantry Gun QSU h-d AP3 H3 QSU h-d AP3 H3 28† A
-76.2mm PP obr. 27 QSU H6 s6 QSU H6 s6 29† A
-Year-38 Type Field Gun (Improved) QSU h-d "12" AP TK#† QSU h-d "12" AP TK#† 30† n/a
-76.2mm obr. 42 QSU A7 s6 QSU A7 s6 31† n/a
-Type 93 Twin-Mount High-Angle Machine Gun 2 TK DR† 2 TK DR† 32† A Towing NA†
+Name Capabilities (effective) # Notes Comments
+----------------------------------------- -------------- ------------- ------ ------- --------------------------------------------------------
+50mm Type 89 Heavy Grenade Launcher 18† A Range ≤ 2: ROF 1, Air Bursts NA | Animal-Packed
+60mm Type 31 Mortar 19 A Animal-Packed
+82mm Type 20 Mortar 20† A QSU | Animal-Packed
+82mm Type 53 Mortar s6 s6 21† A QSU | Animal-Packed
+120mm PM obr. 38 s6 s6 22† n/a QSU
+45mm PTP obr. 42 A7 A7 23† n/a QSU
+47mm Type 1 Machine-Moved Gun 24† n/a QSU
+57mm PTP obr. 43 A6 A6 25† n/a QSU
+57mm Type 36 Recoilless Rifle H6 WP5 H6 WP5 26†[1] R† HEAT TK# = 9 | Crewed | Red TH#
+75mm Type 52 Recoilless Rifle H6 WP5 H6 WP5 27 R† HEAT TK# = 11 | Crewed | Red TH#
+70mm Type 92 Infantry Gun AP3 H3 AP3 H3 28† A QSU | Horse-Drawn | Indirect Fire [3-70] | Animal-Packed
+76.2mm PP obr. 27 H6 s6 H6 s6 29† A QSU | Animal-Packed
+Year-38 Type Field Gun (Improved) 30† n/a QSU | Horse-Drawn | AP TK# = 12
+76.2mm obr. 42 A7 s6 A7 s6 31† n/a QSU
+Type 93 Twin-Mount High-Angle Machine Gun 32† A Tow NA | 2 TK DR | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1950.txt
index a20922c..f55edd0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1950.txt
@@ -1,18 +1,18 @@
=== ordnance/kfw-kpa/1950 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-50mm RM obr. 40 4PP 4PP 1 A B
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† A B
-120mm PM obr. 38 QSU s8 QSU s8 3† B
-14.5mm PTRD-41 1PP 1PP 4 B
-14.5mm PTRS-41 2PP TK#: 6† 2PP TK#: 6† 5† n/a
-45mm PTP obr. 37 QSU A7 QSU A7 6† B
-45mm PTP obr. 42 QSU A7 QSU A7 6† B
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 7† A B
-76.2mm obr. 02/30 QSU h-d s8 QSU h-d s8 8† B
-76.2mm obr. 42 QSU A7 s8 QSU A7 s8 9† B
-107mm P obr. 10/30 h-d s8 h-d s8 10 B
+------------------ -------------- ------------- --- ------- ---------------------------------------------
+50mm RM obr. 40 1 A B Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† A B QSU | Fire OK before/after dm | Animal-Packed
+120mm PM obr. 38 s8 s8 3† B QSU
+14.5mm PTRD-41 4 B No Long Range
+14.5mm PTRS-41 5† n/a Range = 16 | No Long Range | AP TK# = 6
+45mm PTP obr. 37 A7 A7 6† B QSU
+45mm PTP obr. 42 A7 A7 6† B QSU
+76.2mm PP obr. 27 H6 s8 H6 s8 7† A B QSU | Animal-Packed
+76.2mm obr. 02/30 s8 s8 8† B QSU | Horse-Drawn
+76.2mm obr. 42 A7 s8 A7 s8 9† B QSU
+107mm P obr. 10/30 s8 s8 10 B Horse-Drawn
122mm G obr. 38 H6 s8 H6 s8 11† B
122mm obr. 31 s8 s8 12 B
152mm GP obr. 37 13 B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1951.txt
index 013c9c6..a8c4521 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1951.txt
@@ -1,18 +1,18 @@
=== ordnance/kfw-kpa/1951 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-50mm RM obr. 40 4PP 4PP 1 A B
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† A B
-120mm PM obr. 38 QSU s8 QSU s8 3† B
-14.5mm PTRD-41 1PP 1PP 4 B
-14.5mm PTRS-41 2PP TK#: 6† 2PP TK#: 6† 5† n/a
-45mm PTP obr. 37 QSU A7 QSU A7 6† B
-45mm PTP obr. 42 QSU A7 QSU A7 6† B
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 7† A B
-76.2mm obr. 02/30 QSU h-d s8 QSU h-d s8 8† B
-76.2mm obr. 42 QSU A7 s8 QSU A7 s8 9† B
-107mm P obr. 10/30 h-d s8 h-d s8 10 B
+------------------ -------------- ------------- --- ------- ---------------------------------------------
+50mm RM obr. 40 1 A B Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† A B QSU | Fire OK before/after dm | Animal-Packed
+120mm PM obr. 38 s8 s8 3† B QSU
+14.5mm PTRD-41 4 B No Long Range
+14.5mm PTRS-41 5† n/a Range = 16 | No Long Range | AP TK# = 6
+45mm PTP obr. 37 A7 A7 6† B QSU
+45mm PTP obr. 42 A7 A7 6† B QSU
+76.2mm PP obr. 27 H6 s8 H6 s8 7† A B QSU | Animal-Packed
+76.2mm obr. 02/30 s8 s8 8† B QSU | Horse-Drawn
+76.2mm obr. 42 A7 s8 A7 s8 9† B QSU
+107mm P obr. 10/30 s8 s8 10 B Horse-Drawn
122mm G obr. 38 H6 s8 H6 s8 11† B
122mm obr. 31 s8 s8 12 B
152mm GP obr. 37 13 B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1952.txt
index ddb0de3..95cfff6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1952.txt
@@ -1,18 +1,18 @@
=== ordnance/kfw-kpa/1952 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-50mm RM obr. 40 4PP 4PP 1 A B
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† A B
-120mm PM obr. 38 QSU s8 QSU s8 3† B
-14.5mm PTRD-41 1PP 1PP 4 B
-14.5mm PTRS-41 2PP TK#: 6† 2PP TK#: 6† 5† n/a
-45mm PTP obr. 37 QSU A7 QSU A7 6† B
-45mm PTP obr. 42 QSU A7 QSU A7 6† B
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 7† A B
-76.2mm obr. 02/30 QSU h-d s8 QSU h-d s8 8† B
-76.2mm obr. 42 QSU A7 s8 QSU A7 s8 9† B
-107mm P obr. 10/30 h-d s8 h-d s8 10 B
+------------------ -------------- ------------- --- ------- ---------------------------------------------
+50mm RM obr. 40 1 A B Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† A B QSU | Fire OK before/after dm | Animal-Packed
+120mm PM obr. 38 s8 s8 3† B QSU
+14.5mm PTRD-41 4 B No Long Range
+14.5mm PTRS-41 5† n/a Range = 16 | No Long Range | AP TK# = 6
+45mm PTP obr. 37 A7 A7 6† B QSU
+45mm PTP obr. 42 A7 A7 6† B QSU
+76.2mm PP obr. 27 H6 s8 H6 s8 7† A B QSU | Animal-Packed
+76.2mm obr. 02/30 s8 s8 8† B QSU | Horse-Drawn
+76.2mm obr. 42 A7 s8 A7 s8 9† B QSU
+107mm P obr. 10/30 s8 s8 10 B Horse-Drawn
122mm G obr. 38 H6 s8 H6 s8 11† B
122mm obr. 31 s8 s8 12 B
152mm GP obr. 37 13 B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1953.txt
index d4b8824..5ca8cce 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1953.txt
@@ -1,18 +1,18 @@
=== ordnance/kfw-kpa/1953 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-50mm RM obr. 40 4PP 4PP 1 A B
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† A B
-120mm PM obr. 38 QSU s8 QSU s8 3† B
-14.5mm PTRD-41 1PP 1PP 4 B
-14.5mm PTRS-41 2PP TK#: 6† 2PP TK#: 6† 5† n/a
-45mm PTP obr. 37 QSU A7 QSU A7 6† B
-45mm PTP obr. 42 QSU A7 QSU A7 6† B
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 7† A B
-76.2mm obr. 02/30 QSU h-d s8 QSU h-d s8 8† B
-76.2mm obr. 42 QSU A7 s8 QSU A7 s8 9† B
-107mm P obr. 10/30 h-d s8 h-d s8 10 B
+------------------ -------------- ------------- --- ------- ---------------------------------------------
+50mm RM obr. 40 1 A B Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† A B QSU | Fire OK before/after dm | Animal-Packed
+120mm PM obr. 38 s8 s8 3† B QSU
+14.5mm PTRD-41 4 B No Long Range
+14.5mm PTRS-41 5† n/a Range = 16 | No Long Range | AP TK# = 6
+45mm PTP obr. 37 A7 A7 6† B QSU
+45mm PTP obr. 42 A7 A7 6† B QSU
+76.2mm PP obr. 27 H6 s8 H6 s8 7† A B QSU | Animal-Packed
+76.2mm obr. 02/30 s8 s8 8† B QSU | Horse-Drawn
+76.2mm obr. 42 A7 s8 A7 s8 9† B QSU
+107mm P obr. 10/30 s8 s8 10 B Horse-Drawn
122mm G obr. 38 H6 s8 H6 s8 11† B
122mm obr. 31 s8 s8 12 B
152mm GP obr. 37 13 B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1950.txt
index fcb2c60..1f4b4a0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1950.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-ounc/1950 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1951.txt
index ca48896..7622782 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1951.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-ounc/1951 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1952.txt
index 1647239..78b06a7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1952.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-ounc/1952 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1953.txt
index 5672016..03486cc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-ounc/1953.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-ounc/1953 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1950.txt
index c83f326..5e67ab8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1950.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-rok/1950 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1951.txt
index 4681039..e96c4f4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1951.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-rok/1951 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1952.txt
index a7d4e96..37cb505 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1952.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-rok/1952 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1953.txt
index 57a8a8c..dea9463 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-rok/1953.txt
@@ -1,20 +1,20 @@
=== ordnance/kfw-rok/1953 ===
-Name Capabilities (effective) # Notes Comments
--------------------------------- -------------------------------- -------------------------------- --- ------------------ -----------
-Type 89 Heavy Grenade Launcher 4PP 4PP 1† A P
-M2 4.2-in. Mortar QSU WP10 QSU WP10 2† K M O P Y
-M3A1 37mm AT Gun QSU C7 QSU C7 3† C K P
-M1 57mm AT Gun QSU D4 HE7 QSU D4 HE7 4† K
-M18(L) 57mm Recoilless Rifle C7 H7 WP6 3PP C7 H7 WP6 3PP 5† C K O non-crewed†
-M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
-M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
-M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
-M1A1 155mm Gun RFNM AP4 WP8 s7 RFNM AP4 WP8 s7 9 Y No IF.
-M1 8-in. Howitzer RFNM RFNM 10† Y No IF.
-M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] 4 TK DR† LF [2 ROF, 20 IFE, B11] 4 TK DR† 11† M Y
-M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
-M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
-M2 60mm Mortar IR WP7 5PP OBA† IR WP7 5PP OBA† 23† A K M O P Y
-M1(L) 81mm Mortar QSU IR WP8 QSU IR WP8 24† A K M O P R
-M20(L) 75mm Recoilless Rifle WP7 5PP H† WP7 5PP H† 25† K M O P R crewed†
+Name Capabilities (effective) # Notes Comments
+-------------------------------- ----------------------- ----------------------- --- ------------------ --------------------------------------------------------------
+Type 89 Heavy Grenade Launcher 1† A P Range ≤ 2: [{ *:Air Bursts NA *:ROF 1 }] | Animal-Packed
+M2 4.2-in. Mortar WP10 WP10 2† K M O P Y QSU | Area FP = 12
+M3A1 37mm AT Gun C7 C7 3† C K P QSU
+M1 57mm AT Gun D4 HE7 D4 HE7 4† K QSU
+M18(L) 57mm Recoilless Rifle C7 H7 WP6 C7 H7 WP6 5† C K O Not Crewed | Canister: 16 FP
+M2A1 105mm Howitzer C7 H6 WP8 s7 C7 H6 WP8 s7 6† C K M O P Y
+M3 105mm Howitzer C7 H7 WP8 s7 C7 H7 WP8 s7 7† C K
+M1 155mm Howitzer WP8 s7 WP8 s7 8† K M P Y
+M1A1 155mm Gun AP4 WP8 s7 AP4 WP8 s7 9 Y RFNM | No IF
+M1 8-in. Howitzer 10† Y RFNM | No IF
+M51 Multiple .50-cal MG Carriage LF [2 ROF, 20 IFE, B11] LF [2 ROF, 20 IFE, B11] 11† M Y 4 TK DR | [16] TH
+M1 40mm AA Gun LF [40†, 2 ROF] LF [40†, 2 ROF] 12 B† Y
+M2 90mm AA Gun LF [90†[1], 1 ROF, B11] LF [90†[1], 1 ROF, B11] 13† B†1 M Y
+M2 60mm Mortar IR WP7 IR WP7 23† A K M O P Y Animal-Packed
+M1(L) 81mm Mortar IR WP8 IR WP8 24† A K M O P R QSU | Animal-Packed
+M20(L) 75mm Recoilless Rifle H† WP7 H† WP7 25† K M O P R ∞ H | Crewed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1940.txt
index cbf1dbc..a9f50e2 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1940.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1941.txt
index 8517472..be86991 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1941.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1942.txt
index 2a252b3..71c1305 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1942.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1943.txt
index 75a9045..bd532a6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1943.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1944.txt
index 16eff02..4f00018 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1944.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1945.txt
index 7ae5f82..fe71ae7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/polish/1945.txt
@@ -1,19 +1,19 @@
=== ordnance/polish/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------- ------------------ ------------------ --- --------- ---------------------
-46mm granatnik wz. 36 4PP 4PP 1 A P
-Ur. wz. 35 1PP 1PP 2 P
-75mm wz. 02/26 QSU h-d s6 QSU h-d s6 3 P
-100mm wz. 14/19 4 A P
-75mm wz. 97/25 NM NM 5† P
-FK-A wz.38 Autocannon QSU QSU 1 A AllM T† No Gunshield. Tow NA†
-65mm wz.06 QSU C6† h-d QSU C6† h-d 2 B† AllM A No Gunshield.
-75mm wz.02/26 QSU h-d C6† s6 QSU h-d C6† s6 3 B†
-75mm wz.97 QSU C6† s8 QSU C6† s8 4 B†
-75mm wz.28 QSU h-d AP5 C6† s6 QSU h-d AP5 C6† s6 5 B† AllM A
-76mm wz.02 QSU h-d C6† s8 QSU h-d C6† s8 6 B†
-100mm wz.14/19 C6† C6† 7 B† AllM A
-105mm wz.29 C4† C4† 8 B†
-120mm wz.09/31 h-d C5† s6 h-d C5† s6 9 B†
-155mm wz.17 s8 s8 10 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- --------- ------------------------------------------------
+46mm granatnik wz. 36 1 A P Animal-Packed
+Ur. wz. 35 2 P No Long Range
+75mm wz. 02/26 s6 s6 3 P QSU | Horse-Drawn
+100mm wz. 14/19 4 A P Animal-Packed
+75mm wz. 97/25 5† P No Move
+FK-A wz.38 Autocannon 1 A AllM T† No Gunshield | QSU | Disassemble OK | Tow NA
+65mm wz.06 C6† C6† 2 B† AllM A No Gunshield | QSU | Horse-Drawn | Animal-Packed
+75mm wz.02/26 C6† s6 C6† s6 3 B† QSU | Horse-Drawn
+75mm wz.97 C6† s8 C6† s8 4 B† QSU
+75mm wz.28 AP5 C6† s6 AP5 C6† s6 5 B† AllM A QSU | Horse-Drawn | Animal-Packed
+76mm wz.02 C6† s8 C6† s8 6 B† QSU | Horse-Drawn
+100mm wz.14/19 C6† C6† 7 B† AllM A Animal-Packed
+105mm wz.29 C4† C4† 8 B†
+120mm wz.09/31 C5† s6 C5† s6 9 B† Horse-Drawn
+155mm wz.17 s8 s8 10 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1940.txt
index eb8866d..0dddd30 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1940.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1941.txt
index d48eb8a..b431e06 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1941.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1942.txt
index adddd6b..64f2458 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1942.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1943.txt
index 59cfc0a..a85ea64 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1943.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1944.txt
index f9b25ac..7d24aaf 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1944.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1945.txt
index 4085cfd..1c9d928 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/romanian/1945.txt
@@ -1,26 +1,26 @@
=== ordnance/romanian/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------- -------------- -------------- --- ------- -------------
-Brandt M35 IR 5PP IR 5PP 1 A
-Bofors 37mm QSU QSU 2† A
-45mm PTP obr. 32 QSU QSU 3† n/a
-Resita M43 QSU AP TK#18† QSU AP TK#18† 4† n/a Blk TH
-76.2mm PaK 36(r) QSU s7 QSU s7 5 K†
-Breda 47 QSU QSU 6† A No Gunshield.
-75mm PP obr. 27 QSU H6 s8 QSU H6 s8 7 A
-75 M mle 28 QSU h-d AP5 s5 QSU h-d AP5 s5 8 A
-Skoda M14/34 AP6 AP6 9† A†
-76.2mm P obr. 00/02 QSU h-d s7 QSU h-d s7 10 n/a
-76.2mm P obr. 02/30 QSU h-d s7 QSU h-d s7 11 n/a
-76.2mm P obr. 39(r) QSU s5 QSU s5 12 K†
-s 10cm K 18(g) NM s5 NM s5 13 E
-Skoda M39(D9) 14 n/a
-Canon de 105L mle 36S 15 n/a
-Canon mle 10/12 h-d s4 h-d s4 16 n/a
-OQF 4.5in s4 s4 17 n/a
-Skoda M28 NOa NM NM 18 n/a No IF.
-Skoda M33 (K1) 19 n/a
-CA mle 38 20 n/a
-Vickers/Resita M36/39 21† n/a
-Kanon PL vz. 12/20 NM NM 22 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------- -------------- ------------- --- ------- ----------------------------------
+Brandt M35 IR IR 1 A Animal-Packed
+Bofors 37mm 2† A QSU | Animal-Packed
+45mm PTP obr. 32 3† n/a QSU
+Resita M43 4† n/a QSU | Black TH# | AP TK# = 18
+76.2mm PaK 36(r) s7 s7 5 K† QSU | AP TK# = 16
+Breda 47 6† A QSU | No Gunshield | Animal-Packed
+75mm PP obr. 27 H6 s8 H6 s8 7 A QSU | Animal-Packed
+75 M mle 28 AP5 s5 AP5 s5 8 A QSU | Horse-Drawn | Animal-Packed
+Skoda M14/34 AP6 AP6 9† A† Animal-Packed
+76.2mm P obr. 00/02 s7 s7 10 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s7 s7 11 n/a QSU | Horse-Drawn
+76.2mm P obr. 39(r) s5 s5 12 K† QSU | AP TK# = 13
+s 10cm K 18(g) s5 s5 13 E No Move | Black TH#
+Skoda M39(D9) 14 n/a
+Canon de 105L mle 36S 15 n/a
+Canon mle 10/12 s4 s4 16 n/a Horse-Drawn
+OQF 4.5in s4 s4 17 n/a
+Skoda M28 NOa 18 n/a No Move | No IF
+Skoda M33 (K1) 19 n/a
+CA mle 38 20 n/a
+Vickers/Resita M36/39 21† n/a
+Kanon PL vz. 12/20 22 n/a No Move
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1940.txt
index 20e4371..4e9ecf6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1940.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1940 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1941.txt
index 50dd41f..a81ed36 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1941.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1941 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1942.txt
index 2de1734..3676b21 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1942.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1942 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU A4 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU A4 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU A4 s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU A4 s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] A4 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] A4 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 A4 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 A4 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1943.txt
index 9f40bee..9129985 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1943.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1943 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU A5 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU A5 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU A4 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU A5 s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU A4 s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] A5 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] A5 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] A4 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 A5 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 A4 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1944.txt
index 73f4755..d058b03 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1944.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1944 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU A6 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU A6 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU A5 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU A6 s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU A4 s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU A5 s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] A6 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] A6 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] A5 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 A6 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 A4 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 A5 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1945.txt
index c245ae2..424fcc8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/russian/1945.txt
@@ -1,36 +1,36 @@
=== ordnance/russian/1945 ===
-Name Capabilities (effective) # Notes Comments
--------------------- ------------------------ ------------- ---- --------- ------------------------
-50mm RM obr. 40 4PP 4PP 1 n/a
-37mm PM-39 1PP 1PP 1.1 A Air Bursts & Acq. NA
-82mm BM obr. 37 QSU IR s8 QSU IR s8 2† n/a
-107mm GVPM obr. 38 QSU s8 QSU s8 3 A
-120mm PM obr. 38 QSU s8 QSU s8 4 n/a
-160mm PM obr. 43 5 n/a No IF.
-37mm PTP obr. 30 QSU QSU 6 n/a
-45mm PTP obr. 32 QSU A4[2]5[3]6[4]7[5] QSU A7 7 n/a
-45mm PTP obr. 42 QSU A4[2]5[3]6[4]7[5] QSU A7 8 n/a
-57mm PTP obr. 43 QSU A4[3]5[4]6[5] QSU A6 9† n/a
-100mm PTP obr. 44 10 n/a
-37mm PP obr. 15R QSU h-d QSU h-d 11 n/a
-76.2mm PP obr. 27 QSU H6 s8 QSU H6 s8 12 A
-76.2mm P obr. 00/02P QSU h-d s8 QSU h-d s8 13 n/a
-76.2mm P obr. 02/30 QSU h-d s8 QSU h-d s8 14 n/a
-76.2mm P obr. 39 QSU A4[2]5[3]6[4]7[5] s8 QSU A7 s8 15† n/a
-76.2mm P obr. 36 QSU A4[2] s8 QSU A4 s8 16† n/a
-85mm P obr. 44 QSU A5[4]6[5] s8 QSU A6 s8 17 n/a
-107mm P obr. 10/30 h-d s8 h-d s8 18 n/a
-122mm G obr. 10/30 h-d s8 h-d s8 19 n/a
-122mm G obr. 38 H6 s8 H6 s8 20 n/a
-122mm P obr. 31 s8 s8 21 n/a
-152mm G obr. 38 22 n/a
-152mm GP obr. 37 23 n/a
-203mm B-4 obr. 1931 RFNM RFNM 23.1 n/a No IF.
-25mm ZP obr. 40 24 n/a
-37mm ZP obr. 39 25† n/a
-76.2mm ZP obr. 38 26† n/a
-85mm ZP obr. 39 27 n/a
-37mm PTP obr. 30 QSU C5† QSU C5† 1 B†
-37mm PP obr. 15R QSU h-d C5† QSU h-d C5† 2 B†
-76.2mm PP obr. 27 QSU C6† H6 s8 QSU C6† H6 s8 3 A B† Ru A
+Name Capabilities (effective) # Notes Comments
+-------------------- -------------------- ------------- ---- --------- ----------------------------------------------
+50mm RM obr. 40 1 n/a
+37mm PM-39 1.1 A Air Bursts NA | Acquisition NA | Animal-Packed
+82mm BM obr. 37 IR s8 IR s8 2† n/a QSU | Fire OK before/after dm
+107mm GVPM obr. 38 s8 s8 3 A QSU | Animal-Packed
+120mm PM obr. 38 s8 s8 4 n/a QSU
+160mm PM obr. 43 5 n/a No IF
+37mm PTP obr. 30 6 n/a QSU
+45mm PTP obr. 32 A4[2]5[3]6[4]7[5] A7 7 n/a QSU
+45mm PTP obr. 42 A4[2]5[3]6[4]7[5] A7 8 n/a QSU
+57mm PTP obr. 43 A4[3]5[4]6[5] A6 9† n/a QSU
+100mm PTP obr. 44 10 n/a
+37mm PP obr. 15R 11 n/a QSU | Horse-Drawn
+76.2mm PP obr. 27 H6 s8 H6 s8 12 A QSU | Animal-Packed
+76.2mm P obr. 00/02P s8 s8 13 n/a QSU | Horse-Drawn
+76.2mm P obr. 02/30 s8 s8 14 n/a QSU | Horse-Drawn
+76.2mm P obr. 39 A4[2]5[3]6[4]7[5] s8 A7 s8 15† n/a QSU
+76.2mm P obr. 36 A4[2] s8 A4 s8 16† n/a QSU
+85mm P obr. 44 A5[4]6[5] s8 A6 s8 17 n/a QSU
+107mm P obr. 10/30 s8 s8 18 n/a Horse-Drawn
+122mm G obr. 10/30 s8 s8 19 n/a Horse-Drawn
+122mm G obr. 38 H6 s8 H6 s8 20 n/a
+122mm P obr. 31 s8 s8 21 n/a
+152mm G obr. 38 22 n/a
+152mm GP obr. 37 23 n/a
+203mm B-4 obr. 1931 23.1 n/a RFNM | No IF
+25mm ZP obr. 40 24 n/a
+37mm ZP obr. 39 25† n/a
+76.2mm ZP obr. 38 26† n/a
+85mm ZP obr. 39 27 n/a
+37mm PTP obr. 30 C5† C5† 1 B† QSU
+37mm PP obr. 15R C5† C5† 2 B† QSU | Horse-Drawn
+76.2mm PP obr. 27 C6† H6 s8 C6† H6 s8 3 A B† Ru A Shrapnel Rounds | QSU | Animal-Packed
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1940.txt
index 024295b..94f524d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1940.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU 29 E
-leIG 18(g) QSU H7[3+] QSU 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] 29 E QSU | Black TH#
+leIG 18(g) H7[3+] 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1941.txt
index 7e1f1e3..0d585db 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1941.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU A5 29 E
-leIG 18(g) QSU H7[3+] QSU 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] A5 29 E QSU | Black TH#
+leIG 18(g) H7[3+] 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1942.txt
index e980970..c40874e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1942.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU A4 29 E
-leIG 18(g) QSU H7[3+] QSU 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] A4 29 E QSU | Black TH#
+leIG 18(g) H7[3+] 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1943.txt
index 320e362..9c7bb3b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1943.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU A4 29 E
-leIG 18(g) QSU H7[3+] QSU H7 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] A4 29 E QSU | Black TH#
+leIG 18(g) H7[3+] H7 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1944.txt
index 18c5d6b..f135291 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1944.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU A4 29 E
-leIG 18(g) QSU H7[3+] QSU H7 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] A4 29 E QSU | Black TH#
+leIG 18(g) H7[3+] H7 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1945.txt
index 36da43b..ac102d6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/slovakian/1945.txt
@@ -1,11 +1,11 @@
=== ordnance/slovakian/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------- -------------- ------------- --- ------- --------------
-Minomet vz. 36 QSU QSU 28 A
-Kanon PUV vz. 36(t) QSU A5[1]4[2] QSU A4 29 E
-leIG 18(g) QSU H7[3+] QSU H7 30 A E
+------------------- -------------- ------------- --- ------- --------------------------------------
+Minomet vz. 36 28 A QSU | Animal-Packed
+Kanon PUV vz. 36(t) A5[1]4[2] A4 29 E QSU | Black TH#
+leIG 18(g) H7[3+] H7 30 A E QSU | Animal-Packed | Black TH#
Skoda M37(K4) s6 s6 31 n/a
-Skoda 47L40(t) QSU QSU 32† E AA Fire ROF 2†
-Skoda PL vz. 37(t) 33 E
-Kanon PL vz. 22/24 34† n/a
+Skoda 47L40(t) 32† E QSU | vs Aircraft: ROF = 2 | Black TH#
+Skoda PL vz. 37(t) 33 E Black TH#
+Kanon PL vz. 22/24 34† n/a AP TK# = 17
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1940.txt
index 02ddf2f..98250ae 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1940.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1941.txt
index 49252a7..bfd06a7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1941.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1942.txt
index 14d9cce..eddd635 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1942.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1943.txt
index d922a2f..d035a9c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1943.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1944.txt
index cd3510f..5d2ee0b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1944.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1945.txt
index 2b17730..dfd457b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/thai/1945.txt
@@ -1,8 +1,8 @@
=== ordnance/thai/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ----------------------- ----------------------- --- ------- -------------
-50mm Krupp M1906 QSU h-d QSU h-d 4 n/a No Gunshield.
-75mm Krupp M1908 QSU h-d AP8 WP5 QSU h-d AP8 WP5 5 n/a
-Vickers 12.7mm AA Class D QSU QSU 8 n/a
+------------------------- ----------------------- ----------------------- --- ------- --------------------------------
+50mm Krupp M1906 4 n/a No Gunshield | QSU | Horse-Drawn
+75mm Krupp M1908 AP8 WP5 AP8 WP5 5 n/a QSU | Horse-Drawn
+Vickers 12.7mm AA Class D 8 n/a QSU
Bofors M30 75mm AA AP6 LF [75, 1 ROF, B11] AP6 LF [75, 1 ROF, B11] 9 Ch G†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1940.txt
index 7facf21..0db691c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1940.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1940 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1941.txt
index 84297ac..5592946 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1941.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1941 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1942.txt
index f2e08f5..f57c7b9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1942.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1942 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1943.txt
index deae26f..193261c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1943.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1943 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1944.txt
index b9e3b31..758af6e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1944.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1944 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1945.txt
index fb8f7d6..462ed3c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/yugoslavian/1945.txt
@@ -1,7 +1,7 @@
=== ordnance/yugoslavian/1945 ===
Name Capabilities (effective) # Notes Comments
------------------- -------------- ------------- --- ------- ----------
-3.7cm Infantry Gun QSU h-d QSU h-d 20 Y
-80mm M28/M33 h-d s5 h-d s5 21 Y
+------------------ -------------- ------------- --- ------- -----------------
+3.7cm Infantry Gun 20 Y QSU | Horse-Drawn
+80mm M28/M33 s5 s5 21 Y Horse-Drawn
100mm M14/19 22 Y
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1940.txt
index 4b684d7..648f944 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1940.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1940 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1941.txt
index 8eb12b2..ee9c8aa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1941.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1941 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1942.txt
index 5336680..9a9521c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1942.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1942 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1943.txt
index c487184..7e9f0fa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1943.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1943 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1944.txt
index 4b6f6d1..e1b50c1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1944.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1944 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1945.txt
index c5c1e91..77e9b1b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/allied-minor-common/1945.txt
@@ -1,18 +1,18 @@
=== vehicles/allied-minor-common/1945 ===
-Name Capabilities (effective) # Notes Comments
----------------- ---------------- ---------------- --- ------------------ ----------
-L5/30(i) ® CS 2 ® CS 2 31 A
-L3/35(i) ® CS 2 ® CS 2 31† A D
-L6/40(i) CS 2 CS 2 31† A
-M13/40(i) CS 4 CS 4 31† A
-FT-17M(f) ® CS 2 ® CS 2 32† A F
-FT-17C(f) ® no IF AP9 CS 2 ® no IF AP9 CS 2 32† A F
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F
-M3A1(a) CS 4 CS 4 34† A V
-C-K P17(f) cs 4 cs 4 35 A
-C-K P19(f) cs 5 cs 5 35† A
-VCL Utility B(b) cs 2 cs 2 36† A H†1 V
-Light Truck cs 4 cs 4 37 n/a
-Medium Truck cs 5 cs 5 37 n/a
-Heavy Truck cs 7 cs 7 37 n/a
+Name Capabilities (effective) # Notes Comments
+---------------- -------------- ------------- --- ------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------
+L5/30(i) ® CS 2 ® CS 2 31 A Italian ESB+
+L3/35(i) ® CS 2 ® CS 2 31† A D 2 TK DR | BMG: HD Fire OK | Italian ESB+ | Stun = Recall, CE & Fire NA
+L6/40(i) CS 2 CS 2 31† A Italian ESB+
+M13/40(i) CS 4 CS 4 31† A Italian ESB+
+FT-17M(f) ® CS 2 ® CS 2 32† A F Road Rate NA | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 32† A F Road Rate NA | No IF | French ESB+ | CE: +1 Rear Turret & Indirect Fire
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 33† A E†1 F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+M3A1(a) CS 4 CS 4 34† A V MA: 12.7 | {{4|MA|2*}} | Inherent Crew & Passenger | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK | American ESB+
+C-K P17(f) cs 4 cs 4 35 A French ESB+
+C-K P19(f) cs 5 cs 5 35† A Deployed Passengers | French ESB+
+VCL Utility B(b) cs 2 cs 2 36† A H†1 V British ESB+ | Always CE
+Light Truck cs 4 cs 4 37 n/a
+Medium Truck cs 5 cs 5 37 n/a
+Heavy Truck cs 7 cs 7 37 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1940.txt
index 0bbe3f3..178889c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1940.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1940 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- ----------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- ----------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1941.txt
index 199230a..d3916aa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1941.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1941 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- ----------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- ----------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1942.txt
index 9d90c80..5ca8f01 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1942.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1942 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- ----------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- ----------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1943.txt
index 8e768d6..3e0a970 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1943.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1943 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- ----------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- ----------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1944.txt
index 870b8a1..ee1b46b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1944.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1944 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- ----------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- ----------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 A5†[1] sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1945.txt
index 93cf00e..2e30956 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/american/1945.txt
@@ -1,86 +1,86 @@
=== vehicles/american/1945 ===
-Name Capabilities (effective) # Notes Comments
-------------------- ----------------------------------------- --------------------------- ------ ------------------------------------------------------------------------- -------------------------------------------------------
-M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P
-M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N
+Name Capabilities (effective) # Notes Comments
+------------------- ----------------------------------------- --------------------------- ------ ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M2A4 C10[P]†[1] CS 4 CS 4 1 B† C†1 P BMG: +1 DRM vs Moving/Motion
+M3 C7[A2+]†[2] CS 4 C7†[2] CS 4 2† B†1 C†2 N BMG: +1 DRM vs Moving/Motion
M3A1 C7†[2] CS 4 C7†[2] CS 4 3† C†2 F†1 G N
M3A1 Satan CS 4 CS 4 4 P
M5A1 C7†[2] CS 4 C7†[2] CS 4 5† C†2 F†1 G N Y
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1
-M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† F†2 G R†1 Y BB†3
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† F†2 G N R†1 Y BB†3
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] WP7†[2] s5 sM5 CS 5[brewup] 10 F†1 G P R† BB†2
-M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R†
-M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† F†2 G R†1 Y BB†3
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y
-M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R†
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 6† G P R†1 Multiple Hits
+M3 C5†[2] CS 7 C5†[2] CS 7 7† B†1 C†2 G N 37LL MA: T | 75 SA: NT | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | BMG: +1 DRM vs Moving/Motion
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† F†2 G R†1 Y BB†3 Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† F†2 G N R†1 Y BB†3 Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] WP7†[2] s5 sM5 CS 5[brewup] 10 F†1 G P R† BB†2 Multiple Hits
+M4A2 (L) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 11 F†1 G P R† Multiple Hits
+M4A3 WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† F†2 G R†1 Y BB†3 Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† F†2 G R†1 Y Multiple Hits
+M4A3E2 WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 14 F†1 G P R† Multiple Hits
M4A3E2 (L) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 14† F†1 G P
M4A1(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 15† A†2 F†1 G P Y
M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 16† A†2 F†1 G P Y
M4(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† C†1 Y
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1
-T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1
-Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] WP7†[2] s5 sM4 CS 5[brewup] 20† G R†1 BB†2
-POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 18† G R†1 Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+T1E3 WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] 19† G P R†1 VCA: +4 DRM [EXC: mines, CC, Indirect Fire, from above or head-on] | Movement restrictions | Mine clearance | Multiple Hits
+Sherman Crab WP7[J4+]†[2] s5[J4+] sM4 CS 5[brewup] WP7†[2] s5 sM4 CS 5[brewup] 20† G R†1 BB†2 Mine & Wire Clearance | +1 DRM if PTO or pre-7/44 in Italy | Multiple Hits
+POA-CWS-H1 sM8 CS 6 sM8 CS 6 21† P TCA restrictions
M26 A7 CS 6 A7 CS 6 22† P
M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 A6†[1] s5 sP5 CS 7 23† A†1 N Y
M18 GMC A5[4E]6[5E]†[1] s5[5] sP5 CS 6 A6†[1] s5 sP5 CS 6 24† A†1
M36 GMC A5[5] sP5 CS 7 A5 sP5 CS 7 25† P
M36B1 GMC A5 sP5 CS 7 A5 sP5 CS 7 26 P
-M2 CS 4 CS 4 27†[1] E† H I† N
-M3 CS 5 CS 5 28† N
-M3A1 CS 5 CS 5 29†[1] E† H I† Z
-M3(MMG) CS 5 CS 5 30† E† H N P
-M3(HMG) CS 5 CS 5 30† E† H N P
-M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P
-M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3
-M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P
-M3 GMC CS 4 CS 4 34† N U
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U
-T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P
-M15A1 MGMC CS 4 CS 4 37† N V† AA†1
-M16 MGMC CS 4 CS 4 38† V† AA†1
-M3A1 CS 4 CS 4 39†[1] E† H I† N
-M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z
-T8 CS 5 CS 5 41† O†1 P
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1
+M2 CS 4 CS 4 27†[1] E† H I† N MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 28† N MA: As MMG for TK & Removal
+M3A1 CS 5 CS 5 29†[1] E† H I† Z MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | BAZ
+M3(MMG) CS 5 CS 5 30† E† H N P {{4|MA|4*|4*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 30† E† H N P {{4|MA|6*|6*}} | MA: 12.7 | Inherent Crew & Passenger | Crew: .50 cal MA only | Independent AAMG's
+M4 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 31† J† M†1 N O†2 P +1 TH DRM vs Moving/Motion | Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M4A1 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 32† J†1 M†2 O†3 Inherent Infantry Crew | AAMG: Removal OK (MMG) | MA: Rear VCA only | MTR: Removal OK
+M21 MC WP8 CS 4[brewup] WP8 CS 4[brewup] 33 M O† P Inherent Infantry Crew | AAMG: Removal OK (HMG) | MTR: Removal OK
+M3 GMC CS 4 CS 4 34† N U CE: +3 Front
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 35†[1] K† N O† P U AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+T19 HMC H5 WP8 s7 CS 4 H5 WP8 s7 CS 4 36† K†1 N O†1 P AAMG: Removal OK (.50-cal HMG) | Ammo trailer (0 AF) | AAMG: NA VCA
+M15A1 MGMC CS 4 CS 4 37† N V† AA†1 CMG Removal/Scrounge NA | CMG: Normal Range = 16 | Turret Rear unarmored [EXC: N.Africa] | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M16 MGMC CS 4 CS 4 38† V† AA†1 MA Removal/Scrounge NA | MA: [16] TH | 4 TK DR | CE: +1 Side/Rear Turret | MA & CMG: VCA ≤ level NA | MA & CMG: AA ok
+M3A1 CS 4 CS 4 39†[1] E† H I† N Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 40† D†3 O†2 W†1 Z MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+T8 CS 5 CS 5 41† O†1 P MA: 12.7 | As fully-tracked | AAMG: Removal OK (.50-cal HMG)
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 42† C†2 G W†1 Reverse MP ×4
M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 43† C†1 Y
M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 44† C†1 N
-M12 GMC no IF AP6 WP8 CS 9 no IF AP6 WP8 CS 9 45† P
-LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T†
-LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2
-M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R†
-LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1
-LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1
-LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1
-LVT4 CS 7 CS 7 51† D H T†1 X†2
-M4 hst CS 6 CS 6 51.1† n/a
-DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1
-¼-Ton Jeep GPA cs 2 cs 2 53† L†1
-¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1
+M12 GMC AP6 WP8 CS 9 AP6 WP8 CS 9 45† P Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM) | No IF
+LVT(A)1 C10[P]†[2] CS 6 CS 6 46†[1] C†2 G H P T† AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)4 C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 47† C†3 P T†1 X†2 Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 DD WP7 s5 sM5 CS 6[brewup] WP7 s5 sM5 CS 6[brewup] 48 G P R† Multiple Hits
+LVT2 CS 6 CS 6 49† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT2(m) CS 7 CS 7 49.1† D†3 H P Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2 CS 7 CS 7 50† D†3 H Q†2 T†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4 CS 7 CS 7 51† D H T†1 X†2 MA:12.7 | {{6|MA|4|4}} | MA: VCA only | SA: VCA NA | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M4 hst CS 6 CS 6 51.1† n/a MA: 12.7
+DUKW cs 7†[1] cs 7†[1] 52† D†3 O†2 CC†1 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+¼-Ton Jeep GPA cs 2 cs 2 53† L†1 +3 Target Size & HD in Water | Bog assistance
+¼-Ton Jeep cs 2†[1] cs 2†[1] 54† L†2 N O†3 CC†1 AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 55† N
1½-Ton cs 6 cs 6 56† N
2½-Ton cs 7 cs 7 57† N
7½-Ton cs 7 cs 7 58† N
-LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 C†2 G H P T† X Refer to U.S. Vehicle Note 46 and diagram for the AAMG.
-LVT(A)2F CS 7 CS 7 2 US H P Q†1 T†1
-LVT4F cs 7 cs 7 3†[2] D†3 H P T†1
-LVT(A)2FS CS 7 CS 7 4†[1] US D†2 H P T†
-LVT4(L) CS 7 CS 7 5 D†4 H Q†3 T†1 X†2
-LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 C†3 G H P T† X†1
-M3A1F C7[P]† CS 4 CS 4 7 US C† G P
+LVT(A)1(L) C10[P]†[2] CS 6 CS 6 1 US C†2 US G US H US P US T† US X AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)2F CS 7 CS 7 2 US H US P US Q†1 US T†1 Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4F CS 7[brewup] CS 7[brewup] 3†[2] US D†3 US H US P US T†1 MA: VCA NA | AAMG: 4&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT(A)2FS CS 7 CS 7 4†[1] US D†2 US H US P US T† MA: VCA NA | SA: VCA only | AAMG: Side only | AAMG: 6&4 | No Recall after unload | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground
+LVT4(L) CS 7 CS 7 5 US D†4 US H US Q†3 US T†1 US X†2 (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | MA: 12.7 | {{6|MA|4|4}} | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)4(L) C7[P]†[3] H8 WP9 CS 6 H8 WP9 CS 6 6 US C†3 US G US H US P US T† US X†1 AAMG: 4&4; NA VCA | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+M3A1F C7[P]† CS 4 CS 4 7 US C† US G US P
M5A1 Satan CS 4 CS 4 8† US P
-M4A2F WP7 s5 sM5 cs 5 WP7 s5 sM5 cs 5 9 US G P R
-M4A2(L)F WP7 s5 sM8 cs 6 WP7 s5 sM8 cs 6 10 US G P R
-Carrier .50cal(b) CS 3 CS 3 11† n/a
+M4A2F WP7 s5 sM5 CS 5[brewup] WP7 s5 sM5 CS 5[brewup] 9 US G US P US R Multiple Hits
+M4A2(L)F WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 10 US G US P US R Multiple Hits
+Carrier .50cal(b) CS 3 CS 3 11† n/a Inherent 1-2-6 crew | Always CE | MA: 12.7
M5A1C C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y A B
-M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B
-M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B
-M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B
-M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B
+M4C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A1C WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 A B Multiple Hits
+M4A3C(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y A B Multiple Hits
M4A1C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 15† US A†2 US F†1 US G US P US Y A B
M4A3C(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 16† US A†2 US F†1 US G US P US Y A B
M4C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† US C†1 US Y A B
@@ -88,54 +88,54 @@ M4A3C(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8
M10C GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 A6†[1] s5 sP5 CS 7 23† US A†1 US N US Y A B
M8C HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 43† US C†1 US Y A B
M5A1F C7†[2] CS 4 C7†[2] CS 4 5† US C†2 US F†1 US G US N US Y C
-M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C
-M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C
-M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C
-M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C
+M4F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 8† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A1F WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] 9† US F†2 US G US N US R†1 US Y US BB†3 C Multiple Hits
+M4A3F WP7[J4+]†[3] s5[J4+] sM4[4+] CS 5[brewup] WP7†[3] s5 sM4 CS 5[brewup] 12† US F†2 US G US R†1 US Y US BB†3 C Multiple Hits
+M4A3F(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 13† US F†2 US G US R†1 US Y C Multiple Hits
M4A1F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 15† US A†2 US F†1 US G US P US Y C
M4A3F(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 16† US A†2 US F†1 US G US P US Y C
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1940.txt
index 2d0fe87..3c14918 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1940.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1940 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- --------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1941.txt
index 239967d..b7cad8f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1941.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1941 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- --------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1942.txt
index 96d7811..e237a7a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1942.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1942 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- --------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1943.txt
index a3a4934..db4d717 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1943.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1943 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- --------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1944.txt
index 59c2184..4dad052 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1944.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1944 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- ---------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1945.txt
index 817b9dc..3db28a0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/anzac/1945.txt
@@ -1,8 +1,8 @@
=== vehicles/anzac/1945 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- ----------------- ----------
-Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a
-Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1
-Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1
-Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1
+---------------- -------------- ------------- --- ----------------- ---------------------------------------------------------------------------
+Matilda Frog sD6 CS 5 sD6 CS 5 1† n/a Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II(L) sD6 CS 5 sD6 CS 5 2† Br B†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS(L) s9 sD6 CS 5 s9 sD6 CS 5 3† Br S†1 Immob dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
+Valentine III CS s9 sM8 CS 5 s9 sM8 CS 5 4† Br S†1 ∞ Smoke
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1940.txt
index d83c4f3..64c75a4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1940.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1940 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1941.txt
index fe4d1c0..f153e34 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1941.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1941 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1942.txt
index 2d2574f..d5d9e70 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1942.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1942 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A4 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 A4 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A5 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A4 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A4 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 A4 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A5 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A4 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1943.txt
index 4342577..4f81163 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1943.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1943 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A4 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A4 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1944.txt
index ebd2082..8bedbe3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1944.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1944 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A3 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 A3 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 A3 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A3 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 A3 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 A3 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1945.txt
index 95825c8..f9c8fac 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/axis-minor-common/1945.txt
@@ -1,33 +1,33 @@
=== vehicles/axis-minor-common/1945 ===
Name Capabilities (effective) # Notes Comments
--------------- ---------------------- ------------------ --- --------------------------------------- ----------
-L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1
-FT-17M(f) ® no IF CS 2 ® no IF CS 2 30† C D R
-FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R
-PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1
-R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R
-H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H
-LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S
-LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S
-LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S
-S35(f) CS 4 CS 4 36† A†1 D E H S
-PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A3 sD5 CS 5 37† C E H O†1 Q R
-PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S
-PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R
-PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R
-PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R
-StuG IIIG(g) A3[4] s8 sD7 CS 4 A3 s8 sD7 CS 4 40† B E H Q R
-JgdPz 38(t) A3[4] HE7 CS 4 A3 HE7 CS 4 41† B E H
-SPW 250/1(g) CS 4 CS 4 42 E R
-SPW 251/1(g) CS 5 CS 5 42† C E R
-SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R
-OA vz 30(t) ® CS 2 ® CS 2 43† E R S
-AB 41(i) CS 4 CS 4 44† C E R
-PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R
-PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R
-Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S
+-------------- ---------------------- ------------------ --- --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------
+L3/35(i) ® CS 2 ® CS 2 29† B C E F G†2 H K†1 Italian ESB | Stun = Recall, CE & Fire NA | 2 TK DR
+FT-17M(f) ® CS 2 ® CS 2 30† C D R Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C(f) ® AP9 CS 2 ® AP9 CS 2 30† C D R Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+PzKpfw IB(g) sD6 CS 2 sD6 CS 2 31† C E H K†1 German ESB | 2 TK DR
+R-35(f) ® AP10 CS 2 ® AP10 CS 2 32† A†1 B D E H R CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+H39(f) ® AP10 CS 2 ® AP10 CS 2 33† A†1 B C D E H CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+LT vz 35(g) sD5 CS 4 sD5 CS 4 34† B E R S German ESB
+LT vz 38(t)A A3[1]4[2]3[3] sD6 CS 4 A3 sD6 CS 4 35† E H R S Czech ESB
+LT vz 38(t)E A4[2]3[3] sD7 CS 4 A3 sD7 CS 4 35† B E H S Czech ESB
+S35(f) CS 4 CS 4 36† A†1 D E H S Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB
+PzKpfw IIIL(g) A5[2]4[3]3[4] sD5 CS 5 A3 sD5 CS 5 37† C E H O†1 Q R German ESB
+PzKpfw IIIN(g) H8[3+] s8 sD7 CS 5 H8 s8 sD7 CS 5 38† E O†1 Q R S German ESB
+PzKpfw IVD(g) AP7 H5[3+] s8 sD7 CS 5 AP7 H5 s8 sD7 CS 5 39† E Q R German ESB
+PzKpfw IVF1(g) AP7 H5[3+] s8 sD7 CS 6 AP7 H5 s8 sD7 CS 6 39† B E H Q R German ESB
+PzKpfw IVH(g) A4[2]3[3] s7 sD5 CS 6 A3 s7 sD5 CS 6 39† B E H O†1 Q R German ESB
+StuG IIIG(g) A3[4] s8 sD7 CS 4 A3 s8 sD7 CS 4 40† B E H Q R AAMG: VCA only | German ESB
+JgdPz 38(t) A3[4] HE7 CS 4 A3 HE7 CS 4 41† B E H AAMG: BU only, Rider NA, elevation restrictions | Czech ESB
+SPW 250/1(g) CS 4 CS 4 42 E R German ESB
+SPW 251/1(g) CS 5 CS 5 42† C E R German ESB
+SPW 251/9(g) H5 s8 CS 4[brewup] H5 s8 CS 4[brewup] 42† E R CMG: VCA only | German ESB
+OA vz 30(t) ® CS 2 ® CS 2 43† E R S LMG | Reverse NA | Czech ESB
+AB 41(i) CS 4 CS 4 44† C E R Italian ESB
+PSW 222(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 222(L)(g) sD6 CS 3 sD6 CS 3 45† B E M†2 P†1 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+PSW 223(g) sD6 CS 3 sD6 CS 3 46† B E M†1 P†2 R German ESB | Reverse MP ×3 | MA & CMG: AA ok
+Komsomolet(r) cs 2†[1] cs 2†[1] 47† B C E F H I†1 J R S Pas: Always CE; +1 VCA | Russian ESB | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
RSO(g) cs 5 cs 5 48 B S
Light Tractor cs 4 cs 4 49 B C H R S
Medium Tractor cs 5 cs 5 49 B C H R S
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1940.txt
index e6ec425..45b5abc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1940.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1940 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1941.txt
index e841bd8..3dadfa7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1941.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1941 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1942.txt
index 7049012..d31da89 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1942.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1942 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1943.txt
index 91f5305..94270e6 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1943.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1943 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1944.txt
index 3ff3291..a70fee0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1944.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1944 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1945.txt
index 8b814df..aa23d00 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/belgian/1945.txt
@@ -1,9 +1,9 @@
=== vehicles/belgian/1945 ===
Name Capabilities (effective) # Notes Comments
----------------- --------------- --------------- --- ---------------- ----------
-VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1
-T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A
-T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A
-T-15(b) ® CS 2 ® CS 2 17 A
-ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A
+---------------- --------------- --------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------
+VCL Mk VI/c47(b) ® CS 2 ® CS 2 14† A Q†1 CE DRM: Direct Fire VCA only | VCA change → No Fire | British ESB+ | MA: No Bnd (F)F, Motion Fire
+T-13 II(b) ® CS 4[brewup]† ® CS 4[brewup]† 15† A Turret: armored/unarmored | Indirect Fire: +1 CE DRM, CS# = 2 (brewup) | TCA Change → No Fire, Move | British ESB+
+T-13 III(b) ® CS 4[brewup] ® CS 4[brewup] 16 A British ESB+
+T-15(b) ® CS 2 ® CS 2 17 A British ESB+
+ACG1(f) ® CS 3[brewup] ® CS 3[brewup] 18† A CMG: 12.7; Normal Range = 16 | French ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1940.txt
index 4bd37db..a659ce1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1940.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1941.txt
index af596ae..ee747a9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1941.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1942.txt
index 7369311..679b4fa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1942.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1943.txt
index 16bf7c5..41f0612 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1943.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- ------------------------------ ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1944.txt
index ba91ccd..fb6435e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1944.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1945.txt
index f1ea1a2..061a42e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british/1945.txt
@@ -1,36 +1,36 @@
=== vehicles/british/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ------------------------------------------------------------------ ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,125 +38,125 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 D6†[1] HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
-M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU
-M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU
-Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1
-Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT†
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1
-Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1
-Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC
-M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU
-M9(a) cs 4 cs 4 41 N UU
-Daimler sD4 CS 2 sD4 CS 2 42† N
-Carrier A sD5 CS 3 sD5 CS 3 43† N U†1
-Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1
-Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1
-Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN
-Oxford Carrier CS 5† CS 5† 46† EE†1
-Oxford Carrier, MMG CS 5 CS 5 47† EE†1
-Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2
-Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN
-IP Carrier AOV CS 4 CS 4 49† N W†1
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U
-Morris C9/B CS 4 CS 4 51† N AA†1
-Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
+M4A3E8(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 FF† UU ∞ A | American ESB+
+M4A3E8 Dozer(a) A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 34 A†1 TT† UU ∞ A | Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+
+Cromwell VII s8† sD7 sM8†[1] CS 6 s8† sD7 sM8†[1] CS 6 35† N ZZ†1 AP & WP NA | OP Tank: MA ok
+Centaur Dozer sD7 CS 2†[1] sD7 CS 2†[1] 36†[1] TT† Inherent Crew | Front-hull hit: +2 TH DRM (unless level < firer)
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 37† N CC ZZ†1 Steep climbs
+Centurion III D† HE8 WP6 s8 sD7 sM8†[1] CS 7 D† HE8 WP6 s8 sD7 sM8†[1] CS 7 38† CC ZZ†1 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | ∞ D | Gyrostabilizer
+Centurion III(L) D8 WP6 s8 sD7 sM8†[2] CS 7 D8 WP6 s8 sD7 sM8†[2] CS 7 38† CC FF†1 ZZ†2 Steep climbs | AP TK# = 26 | APDS TK# = 35 (TH -1 DRM per 18 hexes FRU) | Gyrostabilizer
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 39† N CC Inherent Crew | Passengers & Riders NA | VBM NA (with bridge) | Stun = Recall | Steep climbs
+M4A1 MC(a) IR WP8 CS 4[brewup] IR WP8 CS 4[brewup] 40† Q†1 NN UU MA: Rear VCA only | MA Removal OK (dm M1(L) 81mm Mortar) | Inherent Infantry Crew | American ESB+
+M9(a) cs 4 cs 4 41 N UU American ESB+
+Daimler sD4 CS 2 sD4 CS 2 42† N Stun = Recall, CE & Fire NA
+Carrier A sD5 CS 3 sD5 CS 3 43† N U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading
+Carrier C sD5 CS 3 sD5 CS 3 43† N U†2 Z†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+Carrier, MMG A sD5 CS 3 sD5 CS 3 44† N U†1 Always CE | Combined (un)hooking/(un)loading
+Carrier, 3-in. Mtr CS 4[brewup] CS 4[brewup] 45† U MM†1 NN Always CE | Pas: 1 SMC and/or 1PP SW | Combined (un)hooking/(un)loading | Inherent dm 81* MTR | Inherent Infantry Crew
+Oxford Carrier CS 5† CS 5† 46† EE†1 Inherent Crew | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, MMG CS 5 CS 5 47† EE†1 As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, HMG CS 5 CS 5 47† G†1 EE†2 MA: 12.7 | As fully-tracked OT AFV | Always CE | Unpossessed SW ok
+Oxford Carrier, 3-in Mtr CS 5 CS 5 48† EE†2 MM†1 NN As fully-tracked OT AFV | Always CE | Unpossessed SW ok | Inherent dm 81* MTR | Inherent Infantry Crew
+IP Carrier AOV CS 4 CS 4 49† N W†1 As wheeled OT AFV [EXC: D6.82-.83] | Unpossessed SW ok | Reverse MP ×4
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 50† N U Always CE | sD: 2 hexes | Combined (un)hooking/(un)loading
+Morris C9/B CS 4 CS 4 51† N AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Quad FAT cs 5[brewup]† cs 5[brewup]† 52† N Burning Wreck: -1 DRM
15-cwt cs 5 cs 5 53† N
3-Ton Lorry cs 7 cs 7 53† N
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1940.txt
index 2fd5046..b89348e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1940.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1941.txt
index d03a017..e9df150 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1941.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1942.txt
index f86afb9..9042bd1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1942.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1943.txt
index 6a1ea77..fe398ca 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1943.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1944.txt
index 78f38ed..217314e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1944.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1945.txt
index af3bc97..4b11e1c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~canadian/1945.txt
@@ -1,36 +1,36 @@
=== vehicles/british~canadian/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 D6†[1] HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1940.txt
index 460217c..4286fa5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1940.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1940 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1941.txt
index 145e7dd..5bda060 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1941.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1941 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1942.txt
index dcd434c..92d9223 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1942.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1942 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1943.txt
index 86a6f92..858ec5a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1943.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1943 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 ∞ Smoke
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+ | Red TH#
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 sD5 CS 4 3† A C†1 G N P American ESB+ | Red TH#
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+ | Red TH#
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+ | Red TH#
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+ | Red TH#
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+ | Red TH#
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Red TH# | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 sM8 CS 6 15† A G K†1 American ESB+ | Red TH#
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+ | Red TH#
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+ | Red TH#
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Red TH# | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Red TH# | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | ∞ Smoke
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: ∞ Smoke | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+ | Red TH#
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 sD6 CS 3 51† A C†2 L†1 P Red TH# | Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE7†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Red TH# | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Red TH# | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+ | Red TH#
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+ | Red TH#
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+ | Red TH#
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA
+Carrier B sD5[4+]†[2] CS 3 CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier C sD5[4+]†[1] CS 3 CS 3 64† N P U†1 Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing NA
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Red TH# | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Red TH# | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1944.txt
index 08dc34d..ea52827 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1944.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1944 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A4 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 HE7 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D6†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1945.txt
index 71428c2..013a3c3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/british~newzealand/1945.txt
@@ -1,36 +1,36 @@
=== vehicles/british~newzealand/1945 ===
Name Capabilities (effective) # Notes Comments
-------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- ----------
-Mark VIB sD6 CS 3 sD6 CS 3 1† N P
+------------------------- ---------------------------------------------------- -------------------------------- ------ ---------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Mark VIB sD6 CS 3 sD6 CS 3 1† N P 2 TK DR (12.7 & MG)
Mark VIC sD6 CS 3 sD6 CS 3 1† n/a
Tetrarch sD6 CS 3 sD6 CS 3 2† n/a
-Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1
-Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P
-Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P
-Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G
-Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C†
-A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N
-A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2
+Tetrarch CS HE9†[1] s†[1] sD6 CS 3 HE9†[1] s†[1] sD6 CS 3 2† S†1 s9, ∞ HE
+Stuart I(a) sD5 CS 4 sD5 CS 4 3† A N P American ESB+
+Stuart III(a) C6[4+]†[1] HE[4+] sD5 CS 4 C6†[1] HE sD5 CS 4 3† A C†1 G N P American ESB+
+Stuart V(a) C6†[1] sD5 CS 4 C6†[1] sD5 CS 4 4† A C†1 G American ESB+
+Locust(a) C6† sD6 CS 3 C6† sD6 CS 3 5 A C† American ESB+
+A9 sD6 CS 5[brewup] sD6 CS 5[brewup] 6† K†1 N BMG: Scrounge NA
+A9 CS s†[2] sD6 CS 5[brewup] s†[2] sD6 CS 5[brewup] 6† K†1 N S†2 ∞ Smoke | BMG: Scrounge NA
A10 Mk IA sD6 CS 5[brewup]† sD6 CS 5[brewup]† 7† B†1 K†2 N
-A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2
+A10 Mk IA CS s†[2] sD6 CS 5[brewup]† s†[2] sD6 CS 5[brewup]† 7† K†1 N S†2 ∞ Smoke
A13 Mk I sD6 CS 4[brewup] sD6 CS 4[brewup] 8 K†
A13 Mk II sD6 CS 4[brewup] sD6 CS 4[brewup] 8† B†1 K†2 N
-A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2
-Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N
-Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2
+A13 Mk II CS s†[2] sD6 CS 4[brewup] s†[2] sD6 CS 4[brewup] 8† K†1 N S†2 ∞ Smoke
+Crusader I sM8 CS 5[brewup] sM8 CS 5[brewup] 9† K†1 N BMG: extended port-side
+Crusader I CS HE9 s†[2] sM8 CS 5[brewup] HE9 s†[2] sM8 CS 5[brewup] 9† K†1 N S†2 BMG: extended port-side | ∞ Smoke
Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] 9† K†1 N
-Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2
+Crusader II CS HE9 s†[2] sM8 CS 4[brewup] HE9 s†[2] sM8 CS 4[brewup] 9† K†1 N S†2 ∞ Smoke
Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] 10† N Y†1 Z†2
-Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P
-Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P
-Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3
-Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3
-Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3
-Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1
-Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1
-Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1
+Grant(a) C5[4+]†[1] HE[4+] s8† sM8 CS 6 C5†[1] HE s8† sM8 CS 6 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | American ESB+
+Lee(a) C5[4+]†[1] HE[4+] s8† sD6 CS 7 C5†[1] HE s8† sD6 CS 7 11† A C†1 G N P 37LL: T | 75 SA: NT (bow-mounted) | Smoke: 75 SA only | HE & C: 37 MA only | BMG: +1 DRM vs Moving/Motion | AAMG: BU Fire & CC ok [EXC: vs Aerial NA] | American ESB+
+Sherman II(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 12† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman III(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 13† A G K†2 N R†1 W†3 American ESB+ | Multiple Hits
+Sherman V(a) WP6[J4+]†[3] s8 sD6 CS 5[brewup] WP6†[3] s8 sD6 CS 5[brewup] 14† A G K†2 P R†1 W†3 American ESB+ | Multiple Hits
+Sherman IIA(a) A4[4]5[5] s5[5] sM8 CS 6 A5 s5 sM8 CS 6 15† A G K†1 American ESB+
+Sherman IIC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman VC(a) D5[S4]6[5]†[2] HE7 sM8 CS 5[brewup] D6†[2] HE7 sM8 CS 5[brewup] 16† A J†2 K†1 American ESB+
+Sherman IB(a) H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 17† A K†1 American ESB+
Centaur IV H6 s9 sD7 sM8† CS 5 H6 s9 sD7 sM8† CS 5 18 S Z†
Cromwell IV WP6 s8 sD7 sM8†[1] CS 5 WP6 s8 sD7 sM8†[1] CS 5 19† Z†1
Cromwell VI H6 s9 sD7 sM8†[1] CS 5 H6 s9 sD7 sM8†[1] CS 5 20† S Z†1
@@ -38,94 +38,94 @@ Cromwell VII WP6 s8 sD7 sM8† CS 6
Cromwell VIII H6 s9 sD7 sM8†[1] CS 6 H6 s9 sD7 sM8†[1] CS 6 20† S Z†1
Challenger D5[S4]6[5]†[1] HE7 sD7 sM8†[2] CS 6 D6†[1] HE7 sD7 sM8†[2] CS 6 21† J†1 Z†2
Comet sD7 sM8† CS 6 sD7 sM8† CS 6 22 Z†
-Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1
-Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1
-Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1
-Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P
-Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2
+Sherman Dozer(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 23† A G K†2 P R†1 Front-hull hit: +2 TH DRM (unless level < firer) | American ESB+ | Multiple Hits
+Sherman Crab(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 24† A G K†2 P R†1 Mine & Wire Clearance | American ESB+ | Multiple Hits
+Matilda I ® sD5 CS 2 ® sD5 CS 2 25† B†1 MA: 12.7 | Road Rate NA
+Matilda II sD6 CS 5 sD6 CS 5 26† B†1 K†2 N P Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear]
+Matilda II CS HE9†[2] s†[2] sD6 CS 5 HE9†[2] s†[2] sD6 CS 5 26† K†1 N P S†2 Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | s9, ∞ HE
Valentine II sM8 CS 4 sM8 CS 4 27† N
Valentine V sM8 CS 4 sM8 CS 4 28† K†1 NT
Valentine VIII HE7 sD6 CS 4 HE7 sD6 CS 4 29 NT
Valentine XI WP6 s8 sD8 CS 4 WP6 s8 sD8 CS 4 30 n/a
-Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC
-Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC
-Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC
-Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC
-Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC
-Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC
-Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P
-Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC
-Churchill AVRE no IF sD7 sM8†[1] CS 8 no IF sD7 sM8†[1] CS 8 37† Z†1 CC
-Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC
-Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2
-Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1
-Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1
-Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1
-Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P
-Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P
-Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2
-Stuart Recce CS 5 CS 5 44† A D NT P
-Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2
-Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2
-Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1
-Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1
-Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2
-Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2
-Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3
-Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2
-Humber II sD6 CS 3 sD6 CS 3 50† L†1 N
-Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P
-Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P
+Churchill I HE9†[2] s†[2] sD5[4] sM8†[1] CS 7 HE9†[2] s†[2] sD5 sM8†[1] CS 7 31† NT S†2 Z†1 CC 40 MA: T | 76 SA: NT (bow-mounted) | 76 SA: +1 DRM vs Moving/Motion | Smoke & HE: 76 SA only | 76 SA: s9, ∞ HE | Steep climbs
+Churchill IV D6[J4]7[5]†[2] HE7[F3]8[4+]†[1] sD6[4+] sM8†[3] CS 7 D7†[2] HE8†[1] sD6 sM8†[3] CS 7 32† J†2 N Y†1 Z†3 CC Steep climbs
+Churchill V H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 33† S Z†1 CC Steep climbs
+Churchill VI WP6[J4+]†[1] s8 sD7 sM8†[2] CS 7 WP6†[1] s8 sD7 sM8†[2] CS 7 34† W†1 Z†2 CC Steep climbs
+Churchill VII WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 35† Z†1 CC Steep climbs
+Churchill VIII H6 s9 sD7 sM8†[1] CS 7 H6 s9 sD7 sM8†[1] CS 7 35† S Z†1 CC Steep climbs
+Valentine Bridgelayer sD7 CS 2 sD7 CS 2 36† M P Inherent Crew | Stun = Recall, CE & Fire NA
+Churchill Bridgelayer sD7 CS 2 sD7 CS 2 36† M CC Inherent Crew | VBM NA (with bridge) | Stun = Recall, CE & Fire NA | Steep climbs
+Churchill AVRE sD7 sM8†[1] CS 8 sD7 sM8†[1] CS 8 37† Z†1 CC Crew: Assault Engineers & Sappers | Inherent 4× DC (Throw NA, Fanaticism) | MA: Area Target Type & TH Case L NA | TH# = 12 - 2 × range | TCA alignment | Mine Clearance | Wall/Hedge Breaches | No IF | Steep climbs
+Churchill Crocodile WP6 s8 sD7 sM8†[1] CS 7 WP6 s8 sD7 sM8†[1] CS 7 38† Z†1 CC Trailer (AF 6) | Steep climbs
+Deacon HE7[F3+]†[2] CS 5 HE7†[2] CS 5 39† L†1 N Y†2 Starboard VCA NA | TCA restrictions | Turret Rear unarmored | CE: +3 Front/Side Turret | Reverse MP ×3
+Wolverine(a) A5[S4]6[5]†[1] HE7 s5[5] CS 7 A6†[1] HE7 s5 CS 7 40† A J†1 American ESB+
+Achilles(a) D6[S4]7[5]†[1] HE7 CS 7 D7†[1] HE7 CS 7 40† A J†1 American ESB+
+Archer D6[4]7[5]†[1] HE7 sD7 CS 5 D7†[1] HE7 sD7 CS 5 41† J†1 MA: Rear VCA only | No Bnd FF, Motion Fire
+Daimler sD4[4+]† CS 2 sD4† CS 2 42† M N P Stun = Recall, CE & Fire NA
+Lynx sD5 CS 2 sD5 CS 2 42† L†1 M P Reverse MP ×3 | Stun = Recall, CE & Fire NA
+Humber sD4[4+]† CS 2 sD4† CS 2 43† L†1 M P BB†2 MA: CE, Rider, vs Aerial NA | Reverse MP ×3 | Stun = Recall, CE & Fire NA | Pas: 1 SMC or 1PP SW
+Stuart Recce CS 5 CS 5 44† A D NT P MA: VCA only | 2 TK DR (MG) | As fully-tracked | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Humber III LRC sD5 CS 3 sD5 CS 3 45† L†1 N P Q†2 Reverse MP ×3
+Otter LRC sD5 CS 3 sD5 CS 3 45† L†1 P Q†2 Reverse MP ×3
+Morris CS9 sD5 CS 4 sD5 CS 4 46† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Rolls Royce sD5 CS 3 sD5 CS 3 47† N Q†2 T†3 X†1 ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only | Reverse MP ×4
+Marmon-Herrington II ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIv CS 4 CS 4 49† L†1 N AA†2 MA & CMG: AA ok | Red TH# | Reverse MP ×3
+Marmon-Herrington III MFF CS 4 CS 4 48† L†1 P Q†2 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK
+Marmon-Herrington III ME CS 4 CS 4 48† L†1 N Q†2 T†3 Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 49† K†2 L†1 N T†2 AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 50† L†1 N Reverse MP ×3
+Humber III sD6 CS 4 sD6 CS 4 50† K†2 L†1 N P Reverse MP ×3
+Humber IV C6[4+]†[2] sD6 CS 3 C6†[2] sD6 CS 3 51† A C†2 L†1 P Reverse MP ×3
Daimler sD6 CS 3 sD6 CS 3 52† K†1 N P
-AEC I sM8 CS 3 sM8 CS 3 53† N X†1
-AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1
-AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X†
-Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1
-Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1
-Bishop no IF s8 CS 5 no IF s8 CS 5 55† K†1 N P
-Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P
-Sexton(a) s8 CS 7 s8 CS 7 57† A K†1
-M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1
-Mk VI AA CS 2 CS 2 59† N O†1 AA†2
-Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1
-M17 MGMC(a) CS 4 CS 4 61† A F† AA†1
-Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3
-Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2
-M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N
-M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N
-M5A1(a) cs 5† cs 5† 63 A I†
-M9A1(a) cs 4† cs 4† 63 A I†
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1
-Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1
-Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2
-Priest Kangaroo(a) CS 7 CS 7 68† A D
-Ram Kangaroo(a) CS 7 CS 7 68† A D K†1
-White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N
-IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1
-IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1
-IP Carrier AOV CS 4 CS 4 70† P Q†1 V X†
-IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4
-Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U
-Badger(a) CS 3 CS 3 72† A K†1 M
-Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1
-Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2
-Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1
-DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P
-Terrapin Mk I cs 7 cs 7 76† D
-2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P
-Morris C9/B CS 4 CS 4 78† P AA†1
-Loyd Carrier cs 5 cs 5 79† N P
-Quad FAT CS 5[brewup]† CS 5[brewup]† 80† N P
+AEC I sM8 CS 3 sM8 CS 3 53† N X†1 Reverse MP ×4
+AEC II D6[J4]7[5]†[2] HE7[3]8[4+]†[1] sM8 CS 4 D7†[2] HE8†[1] sM8 CS 4 53 J†2 X† Y†1 Reverse MP ×4
+AEC III WP6 s8 sM8 CS 4 WP6 s8 sM8 CS 4 53 X† Reverse MP ×4
+Staghound I(a) C6[4+]†[3] sM8 CS 5 C6†[3] sM8 CS 5 54† A C†3 G K†2 X†1 American ESB+ | Reverse MP ×4
+Staghound II(a) s9 sD6 CS 4 s9 sD6 CS 4 54† A K†3 S†2 X†1 ∞ Smoke | American ESB+ | Reverse MP ×4
+Bishop s8 CS 5 s8 CS 5 55† K†1 N P +1 TH DRM vs Moving/Motion | No IF
+Priest(a) H6 WP7 s8 CS 7 H6 WP7 s8 CS 7 56† A N P American ESB+
+Sexton(a) s8 CS 7 s8 CS 7 57† A K†1 American ESB+
+M3 GMC(a) WP7[J4+]†[1] s8 CS 4 WP7†[1] s8 CS 4 58† A NT W†1 CE: +3 Front | American ESB+
+Mk VI AA CS 2 CS 2 59† N O†1 AA†2 BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Crusader AA sD7 CS 4[brewup] sD7 CS 4[brewup] 60† AA†1 2 TK DR | CE Fire NA | MA & CMG: AA ok
+M17 MGMC(a) CS 4 CS 4 61† A F† AA†1 CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok
+Humber AA CS 2 CS 2 62† L†1 N O†2 AA†3 Reverse MP ×3 | BU Fire NA | 4 TK DR (MG) | MA & CMG: AA ok
+Staghound AA(a) CS 3 CS 3 62† A F† X†1 AA†2 2 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | Reverse MP ×4 | MA & CMG: AA ok
+M5(a) cs 5†[1] cs 5†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M9(a) cs 4†[1] cs 4†[1] 63† A I†1 N American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1(a) cs 5† cs 5† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9A1(a) cs 4† cs 4† 63 A I† American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 64† N P Q†1 U†2 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 64† N P U†1 Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 65† N P Q†1 U†2 Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 65† U†2 BB†1 Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Carrier, 2-in. MTR IR[2+]† s7 CS 3 IR† s7 CS 3 66† N P U†1 Always CE | MA: Removal OK | Combined (un)hooking/(un)loading | Towing OK
+Carrier, 3-in. MTR CS 4[brewup]†[1] CS 4[brewup]†[1] 67† H†1 N P U BB†2 Always CE | Inherent dm 76* MTR | Inherent Infantry Crew | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW
+Priest Kangaroo(a) CS 7 CS 7 68† A D American ESB+ | MA: 12.7(a) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+Ram Kangaroo(a) CS 7 CS 7 68† A D K†1 American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA
+White(a) SC cs 4†[1] cs 4†[1] 69† A I†1 N American ESB+ | Unpossessed SW ok | Pas: No Mounted Fire penalty | Inherent Crew if armed (with CS#)
+IP Carrier Mk IIA CS 4 CS 4 70† N P V X†1 As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier Mk IIB CS 4 CS 4 70† N P Q†2 V X†1 BU Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier AOV CS 4 CS 4 70† P Q†1 V X† BATR SA: BU/HD Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4
+IP Carrier, 3-in. MTR IR WP7 s8 CS 5[brewup]† IR WP7 s8 CS 5[brewup]† 71†[2] E†3 H† P V X†1 BB†4 MA: Rear VCA only | BMG: HD Fire OK | Inherent Infantry Crew | As wheeled OT AFV [EXC: D6.82-.83, H1.43] | Unpossessed SW ok | Reverse MP ×4 | Pas: 1 SMC or 1PP SW
+Wasp sD5† CS 3[brewup] sD5† CS 3[brewup] 72† K†1 U Always CE | sD: 2 hexes
+Badger(a) CS 3 CS 3 72† A K†1 M American ESB+ | Stun = Recall, CE & Fire NA
+Buffalo Mk II(a) sD5† CS 6 sD5† CS 6 73† A D AA†1 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | MA & CMG: AA ok
+Buffalo Mk IV(a) sD5† CS 6 sD5† CS 6 73† A D E†1 AA†2 sD: Water OK | Bog: 0 DRM for soft, mud, snow-covered ground | American ESB+ | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | BMG: HD Fire OK | MA & CMG: AA ok
+Sherman III DD(a) WP6 s8 sD6 CS 5[brewup] WP6 s8 sD6 CS 5[brewup] 74† A G K†2 R†1 American ESB+ | Multiple Hits
+DUKW(a) cs 7†[1] cs 7†[1] 75† A D I†1 P American ESB+ | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | Inherent Crew if armed (with CS#)
+Terrapin Mk I cs 7 cs 7 76† D (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok
+2pdr Portee CS 4†[1] CS 4†[1] 77† H†1 N P MA: NA VCA | Inherent Infantry Crew
+Morris C9/B CS 4 CS 4 78† P AA†1 No Bnd (F)F, Motion Fire | MA & CMG: AA ok
+Loyd Carrier cs 5 cs 5 79† N P Not a Carrier
+Quad FAT cs 5[brewup]† cs 5[brewup]† 80† N P Burning Wreck: -1 DRM
15-cwt Truck cs 5 cs 5 81† N P
30-cwt Lorry cs 6 cs 6 82† N P
3-Ton Lorry cs 7 cs 7 83† N P
-¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P
-¾-Ton Truck(a) cs 4 cs 4 85 A N
-1½-Ton Truck(a) cs 6 cs 6 85 A N
-2½-Ton Truck(a) cs 7 cs 7 85 A N
-7½-Ton Truck(a) cs 7 cs 7 85† A N
+¼-Ton Jeep(a) cs 2†[1] cs 2†[1] 84† A I†1 N P American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+¾-Ton Truck(a) cs 4 cs 4 85 A N American ESB+
+1½-Ton Truck(a) cs 6 cs 6 85 A N American ESB+
+2½-Ton Truck(a) cs 7 cs 7 85 A N American ESB+
+7½-Ton Truck(a) cs 7 cs 7 85† A N American ESB+
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1940.txt
index 32e6e7b..46619bb 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1940.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1940 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = 11 | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = 11 | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1941.txt
index 12960bf..00a3157 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1941.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1941 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1942.txt
index 0de84ab..559dcb7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1942.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1942 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1943.txt
index 2f31ef9..44bb144 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1943.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1943 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1944.txt
index badffab..c33a21f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1944.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1944 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1945.txt
index 1268a08..11818c4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese/1945.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese/1945 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- -------------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] WP7† s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- -------------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] WP7† s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1940.txt
index 513e12b..e771704 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1940.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1940 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = 11 | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = 11 | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1941.txt
index 5cc8928..b40e8dd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1941.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1941 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1942.txt
index 86a96d5..f60fb83 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1942.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1942 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1943.txt
index 858861b..aea1bce 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1943.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1943 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1944.txt
index a686d30..6ecbc66 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1944.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1944 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- --------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- --------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow NA | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1945.txt
index c8e8ae7..74922dd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/chinese~gmd/1945.txt
@@ -1,34 +1,34 @@
=== vehicles/chinese~gmd/1945 ===
Name Capabilities (effective) # Notes Comments
------------------------------ ------------------------- -------------------- ------ ---------------------------------------- ----------
-VCL M1931(b) ® CS 2 ® CS 2 1† A B
-L3/35(i) ® CS 2† ® CS 2† 2† A B D†1
-PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1
-Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1
-T-26TU M33(r) CS 3 CS 3 5† A E†1
-M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G
-M4A4(a) WP7[J4+]† s8 CS 5[brewup] WP7† s8 CS 5[brewup] 7† A B E†1 G
-M3A1(a) CS 4 CS 4 8† A B E†1
-Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2
-Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F†
-PSW 221(g) CS 2 CS 2 11† A B F†
-PSW 222(g) CS 3 CS 3 11† A B E†1 F†
-BA-20(r) ® CS 3 ® CS 3 12 A B F†
-BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F†
-VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1
-Carrier A(b) CS 3 CS 3 14† A
-Carrier B(b) CS 3 CS 3 14† A E†1
-Carrier C(b) CS 3 CS 3 14† A E†1
-Henschel 33(g) cs 7 cs 7 15†[1] A F†
-Jeep(a) cs 2† cs 2† 16† A H†1
-2½-Ton(a) cs 7 cs 7 16† A
-FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M†
-Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M†
-Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D
-Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D
-Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1
-BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M†
-Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D
-Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D
-Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F†
+----------------------------- ------------------------- -------------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+VCL M1931(b) ® CS 2 ® CS 2 1† A B +3 Target Size & HD in Water | British ESB, +1 DRM
+L3/35(i) ® CS 2† ® CS 2† 2† A B D†1 Stun = Recall, CE & Fire NA | Italian ESB, +1 DRM | 2 TK DR
+PzKpfw IA(g) ® CS 2 ® CS 2 3† A B D†1 German ESB, +1 DRM | 2 TK DR
+Vickers 6-Ton Mk E(b) ® C5†[2] CS 3 ® C5†[2] CS 3 4† A B C†2 E†1 British ESB, +1 DRM
+T-26TU M33(r) CS 3 CS 3 5† A E†1 12: Immob, 11: Stall | MA: B# = (11) | Russian ESB, +1 DRM
+M3A3(a) C9†[1] CS 4 C9†[1] CS 4 6† A B C†1 E†2 G American ESB, +1 DRM
+M4A4(a) WP7[J4+]† s8 CS 5[brewup] WP7† s8 CS 5[brewup] 7† A B E†1 G Multiple Hits | American ESB, +1 DRM
+M3A1(a) CS 4 CS 4 8† A B E†1 MA: 12.7 | {{4|MA|2*}} | Independent AAMG's | Inherent Crew & Passenger | Unpossessed SW ok | Pas: No Mounted Fire penalty | MG Removal OK | Crew: .50-cal MA only | American ESB, +1 DRM
+Stuart Recon(a) CS 5 CS 5 9† A B D†1 E†2 MA: VCA only | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal NA | As fully-tracked | American ESB, +1 DRM | 2 TK DR
+Type 22 ® CS 4 ® CS 4 10†[1] B E†2 F† CMG: Normal Range = 8 | CMG: Removal/Scrounge OK | Reverse MP ×3 | 12: Immob
+PSW 221(g) CS 2 CS 2 11† A B F† CMG: BU Fire NA | MA: AA ok | Reverse MP ×4 | German ESB, +1 DRM | 12: Immob
+PSW 222(g) CS 3 CS 3 11† A B E†1 F† MA: AA ok | Reverse MP ×3 | German ESB, +1 DRM | 12: Immob
+BA-20(r) ® CS 3 ® CS 3 12 A B F† Russian ESB, +1 DRM | 12: Immob
+BA-6(r) ® CS 4 ® CS 4 12 A B E†1 F† MA: B# = (11) | Russian ESB, +1 DRM | 12: Immob
+VCL Mk VI Carrier(b) CS 2† CS 2† 13† A B H†1 As Carrier | Always CE | Inherent Crew | Riders NA | Stun = Recall, Fire NA | Combined (un)hooking/(un)loading | British ESB, +1 DRM | Bog assistance
+Carrier A(b) CS 3 CS 3 14† A Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Carrier B(b) CS 3 CS 3 14† A E†1 Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Carrier C(b) CS 3 CS 3 14† A E†1 Always CE | MA: Removal NA, Scrounge OK (LMG) | Combined (un)hooking/(un)loading | Tow OK | British ESB, +1 DRM
+Henschel 33(g) cs 7 cs 7 15†[1] A F† German ESB, +1 DRM | 12: Immob
+Jeep(a) cs 2† cs 2† 16† A H†1 Inherent Crew if armed (with CS#) | AAMG: Removal OK | American ESB, +1 DRM | Bog assistance
+2½-Ton(a) cs 7 cs 7 16† A American ESB, +1 DRM
+FT-17(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB, +1 DRM | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+Type 94 Lt Armored Vehicle(j) ® CS 2 ® CS 2 2 A D Ru M† Japanese ESB, +1 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke(j) ® CS 2 ® CS 2 3 A D Japanese ESB, +1 DRM
+Type 97B Te-Ke(j) ® CS 2 ® CS 2 4 A C D No IF | Red TH# | Japanese ESB, +1 DRM
+Type 95 Ha-Go(j) ® CS 3 ® CS 3 5 A B† C D Jp 5†1 Rear MG 4:00 from MA | Red TH# | Japanese ESB, +1 DRM
+BT-5(r) ® CS 3 ® CS 3 6 A B†1 Ru M† Russian ESB, +1 DRM | 12: Immob, 11: Stall
+Type 89A Chi-Ro(j) ® CS 4 ® CS 4 7 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 97A Chi-Ha(j) ® CS 4 ® CS 4 8 A B† C D Red TH# | Japanese ESB, +1 DRM
+Type 31 Armored Car ® CS 3 ® CS 3 9† B†1 Ch F† 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1940.txt
index 91ed9cc..c1919f8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1940.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1940 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1941.txt
index b2d687b..df668ef 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1941.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1941 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1942.txt
index 5f4411c..3c7f657 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1942.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1942 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1943.txt
index 287af90..3420ae2 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1943.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1943 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1944.txt
index ea38114..26a8351 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1944.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1944 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1945.txt
index dcea9a4..cb61fe4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/croatian/1945.txt
@@ -1,10 +1,10 @@
=== vehicles/croatian/1945 ===
Name Capabilities (effective) # Notes Comments
----------------- -------------- ------------- --- -------------- ----------
-TKS ® CS 2 ® CS 2 24† F
-TKS(L) ® CS 2 ® CS 2 24† F
+---------------- -------------- ------------- --- -------------- ------------------------------------------------------
+TKS ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 24† F 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
L6/40(i) CS 2 CS 2 25 n/a
wz 34-I ® CS 2 ® CS 2 26 n/a
wz 34-II ® CS 2 ® CS 2 26 n/a
-SMV L40 da 47/32 CS 3 CS 3 27† O†1
+SMV L40 da 47/32 CS 3 CS 3 27† O†1 Always CE
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1940.txt
index d86a8a1..c1665ac 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1940.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1940 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1941.txt
index 9ea5888..028382d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1941.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1941 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1942.txt
index 58f4088..c766dad 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1942.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1942 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1943.txt
index f54669e..b19376b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1943.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1943 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1944.txt
index ff9d13f..9bcbbde 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1944.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1944 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1945.txt
index 438f033..f9859df 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/danish/1945.txt
@@ -1,5 +1,5 @@
=== vehicles/danish/1945 ===
Name Capabilities (effective) # Notes Comments
------- -------------- ------------- --- ------- ----------
-Nimbus M8† † M8† † 24† n/a
+------ -------------- ------------- --- ------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Nimbus 24† n/a As motorcycle (2× 2-2-8 Crew Riders) | MA: [{ *:Fire by dismounted Infantry only *:Unhook OK *:R2, X6 }] | IFE: B# = 10 | Case C: +2 TH DRM | AAMG: [{ *:No Mounted Fire penalty *:Dismounted Infantry OK *:No Unqualified Use penalty *:Removal OK (dm MMG) }] | KIA: eliminated | K/#: replace with HS motorcycle | Wreck Check dr 6: MA & AAMG malf | 0 PP
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1940.txt
index 1ae8e32..47e0332 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1940.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1940 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1941.txt
index 4b3a859..b1adea5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1941.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1941 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1942.txt
index e787ac1..e0c949d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1942.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1942 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1943.txt
index eb90f47..62ebbaa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1943.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1943 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1944.txt
index 1154299..c4b8515 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1944.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1944 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1945.txt
index 89c39c3..ee6bff1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/dutch/1945.txt
@@ -1,17 +1,17 @@
=== vehicles/dutch/1945 ===
Name Capabilities (effective) # Notes Comments
---------------------------- -------------- ------------- ------ ---------------------------------------- ---------------------------------------------------------------------------------------------------
-VCL M1936(b) ® CS 2 ® CS 2 25† A V
-CTLS-4(a) ® CS 2 ® CS 2 26† A V
+--------------------------- -------------- ------------- ------ ---------------------------------------- ------------------------------------------------------------------------------------------
+VCL M1936(b) ® CS 2 ® CS 2 25† A V +3 Target Size & HD in Water | British ESB+
+CTLS-4(a) ® CS 2 ® CS 2 26† A V CMG: Port VCA NA | TCA restrictions | American ESB+
M36 ® HE10 CS 5 ® HE10 CS 5 27 V
M38 ® HE10 CS 5 ® HE10 CS 5 27 V
M39 ® HE10 CS 6 ® HE10 CS 6 28 V
-Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V
-Jeep(a) cs 2† cs 2† 30† A V
-Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 CMG uses AP TK 12.7 column.
-Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† AAMG uses AP TK 12.7 column.
-Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 VCA MA: VCA ≤ level NA CMG may only fire within VCA. Rear turret is unarmored when TCA = VCA.
-Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP Passengers may fire 2 LMG's without losing inherent FP.
-PLA Wagen CS 5 CS 5 6† AllM AA†1 AP TK: use 12.7 column.
+Marmon-Herrington III(b) ® CS 4 ® CS 4 29† A V 2 TK DR | Reverse MP ×3 | British ESB+
+Jeep(a) cs 2† cs 2† 30† A V Inherent Crew if armed (with CS#) | AAMG Removal OK (MMG) | Bog assistance | American ESB+
+Alvis-Straussler AC3D ® CS 4 ® CS 4 1†[2] AllM V† Ch F†1 MA: 12.7 | 12: Immob
+Braat Overvalwagen APC ® CS 5 ® CS 5 2†[2] A†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | 12: Immob
+Braat Overvalwagen AA ® CS 4 ® CS 4 3†[1] AllM AA†2 Ch F† MA: 12.7 | MA: AA ok | 12: Immob
+Kanonwagen Armored Car ® CS 4 ® CS 4 4††[1] A†2 AllM V† Ch F†1 MA: VCA ≤level NA | CMG: VCA only | Rear turret unarmored when TCA=VCA | 12: Immob
+Stadswacht Overvalwagen APC CS 6 CS 6 5†[1] Ch F† Mounted Fire: Full FP | Pas: 2 LMG's | 12: Immob
+PLA Wagen CS 5 CS 5 6† AllM AA†1 MA: 12.7 | MA: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1940.txt
index bcca042..aed8981 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1940.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1941.txt
index a8a7ab4..5423751 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1941.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1942.txt
index d8d817a..d23a584 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1942.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1943.txt
index b9f14ab..4a78721 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1943.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1944.txt
index 627e5b7..05368b3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1944.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1945.txt
index db60467..27a5ad5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/finnish/1945.txt
@@ -1,36 +1,36 @@
=== vehicles/finnish/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------- -------------------------- -------------------------- --- ---------------- ----------
-T-37(r) ® CS 2 ® CS 2 1† D M
-T-50(r) CS 4 CS 4 2† D
-Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D
-T-26E(b) ® CS 3 ® CS 3 4 B† D
-T-26A(r) ® CS 3 ® CS 3 5† D M
-T-26B(r) ® CS 3 ® CS 3 6 C† D M
-T-26C(r) ® CS 3 ® CS 3 7 C† D M
-OT-133(r) ® CS 3 ® CS 3 8 D M
-BT-5(r) ® CS 3 ® CS 3 9 D M
-BT-7(r) ® CS 3 ® CS 3 9 D M
-Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M
-Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M
-Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M
-Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E
-Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D
-KV-1E(r) CS 6 CS 6 15† D E M
-KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M
-BT-42(r) ® no IF H† s6 CS 3[brewup] ® no IF H† s6 CS 3[brewup] 16† D M
-Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D
-Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D
-L182(s) CS 5 CS 5 19† n/a
-L182(L)(s) CS 5 CS 5 19† n/a
-BA-20(r) ® CS 3 ® CS 3 20† n/a
-BA-6(r) ® CS 4 ® CS 4 21 D
-GAZ-4M-AA(r) CS 4 CS 4 22† A†1
-T-20(r) CS 2† CS 2† 23† D
-RSO(g) cs 5 cs 5 24 D
-STZ-3(r) cs 4 cs 4 25 D
-Tempo G1200 cs 2 cs 2 26† n/a
-Light Truck cs 6 cs 6 27† n/a
-Medium Truck cs 7 cs 7 27† n/a
-Heavy Truck cs 7 cs 7 27 n/a
+Name Capabilities (effective) # Notes Comments
+--------------------------- -------------------- -------------------- --- ---------------- ------------------------------------------------------------------------------------------------------------------------------
+T-37(r) ® CS 2 ® CS 2 1† D M +3 Target Size & HD in Water | Russian ESB | 12: Immob, 11: Stall
+T-50(r) CS 4 CS 4 2† D Russian ESB
+Vikkersi(b) ® CS 3 ® CS 3 3† B†1 D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26E(b) ® CS 3 ® CS 3 4 B† D BMG: Normal Range = 2 | BMG: Scrounge NA | British ESB
+T-26A(r) ® CS 3 ® CS 3 5† D M Turret Knock-Out: Non-HE TK = Final TK | CMG: Scrounge as BMG | Russian ESB | 12: Immob, 11: Stall
+T-26B(r) ® CS 3 ® CS 3 6 C† D M Russian ESB | 12: Immob, 11: Stall
+T-26C(r) ® CS 3 ® CS 3 7 C† D M Russian ESB | 12: Immob, 11: Stall
+OT-133(r) ® CS 3 ® CS 3 8 D M Russian ESB | 12: Immob, 11: Stall
+BT-5(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+BT-7(r) ® CS 3 ® CS 3 9 D M Russian ESB | 12: Immob, 11: Stall
+Postijuna(r) ® s8 CS 5 ® s8 CS 5 10 D F† M Russian ESB | 12: Immob, 11: Stall
+Postijuna(L)(r) ® s8 CS 6 ® s8 CS 6 11 D F† M Russian ESB | 12: Immob, 11: Stall
+Sotka(r) A3[2+] CS 5 A3 CS 5 12† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+Sotka(L)(r) A3 CS 5 A3 CS 5 13† D E Russian ESB | AP TK# = 13 | APCR TK# = 14
+Pitkäputkinen Sotka(r) A3 sD6† CS 6 A3 sD6† CS 6 14† D sD: single use | Russian ESB
+KV-1E(r) CS 6 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+KV-1 M42(r) A3 CS 6 A3 CS 6 15† D E M Russian ESB | AP TK# = 13 | APCR TK# = 14 | 12: Immob, 11: Stall
+BT-42(r) ® H† s6 CS 3[brewup] ® H† s6 CS 3[brewup] 16† D M TCA: Pays NT DRM | ∞ HEAT | HEAT TK# = 15 | No IF | Russian ESB | 12: Immob, 11: Stall
+Sturmi(g) A3 H4 s8 CS 4 A3 H4 s8 CS 4 17† D AAMG: VCA Only | German ESB | Black TH#
+Landsverk Anti II(s) ® CS 6 ® CS 6 18 A† D MA: AA ok | Swedish ESB | Black TH#
+L182(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [16] TH | Black TH#
+L182(L)(s) CS 5 CS 5 19† n/a CMG: AA ok (TCA only) | MA: [12] TH | Black TH#
+BA-20(r) ® CS 3 ® CS 3 20† n/a
+BA-6(r) ® CS 4 ® CS 4 21 D Russian ESB
+GAZ-4M-AA(r) CS 4 CS 4 22† A†1 4 TK DR | AAMG: Scrounge NA | MA: AA ok
+T-20(r) CS 2† CS 2† 23† D Inherent Crew if armed (with CS#) | Stun = Recall, CE & Fire NA | Pas: Always CE; +1 VCA | Unpossessed SW ok | Russian ESB
+RSO(g) cs 5 cs 5 24 D German ESB | Black TH#
+STZ-3(r) cs 4 cs 4 25 D Russian ESB
+Tempo G1200 cs 2 cs 2 26† n/a Bog assistance
+Light Truck cs 6 cs 6 27† n/a
+Medium Truck cs 7 cs 7 27† n/a
+Heavy Truck cs 7 cs 7 27 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1940.txt
index dd35fb7..2a65fff 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1940.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1940 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- ---------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = (11) | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1941.txt
index 5c9c696..f026175 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1941.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1941 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- ---------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1942.txt
index dbe2341..3cbd650 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1942.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1942 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- ---------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1943.txt
index 01898f3..d9f5f8f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1943.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1943 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- ---------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1944.txt
index 6489e13..1511f58 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1944.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1944 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 sD4† CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- -------------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] sM5 CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 sD4† CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1945.txt
index 622c295..afd4d93 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/free-french/1945.txt
@@ -1,56 +1,56 @@
=== vehicles/free-french/1945 ===
-Name Capabilities (effective) # Notes Comments
------------------------- ----------------------------------------- --------------------------------------- --------- -------------------------------------------------------------------------------------- ----------
-H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F
-M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
-H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F
-Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
-Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
-M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] Fr 39 Fr Y†
-M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] Fr 39† Fr Y†
-M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] WP7†[2] s5 sM5 CS 5[brewup] Fr 39†[1] Fr Y†
-M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 Fr 40 Fr Y†
-M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
-M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y†
-S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1
-B1-bis(f) ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1
-M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 A6†[1] s5 sP5 CS 7 Fr 41 Fr Y†
-Daimler sD4[4+]† CS 2 sD4† CS 2 Fr 42†[1] Fr W†
-AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F
-M3A1 CS 4 CS 4 Fr 43†[1] Fr Y†
-M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y†
-Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W†
-Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W†
-Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W†
-M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y†
-M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 Fr 46 Fr Y†
-M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
-T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y†
-M2 CS 4 CS 4 Fr 47 Fr Y†
-M3 CS 5 CS 5 Fr 47 Fr Y†
-M5 cs 5†[1] cs 5†[1] Fr 47† Fr U
-M5A1 cs 5† cs 5† Fr 47† Fr U
-M9 cs 4†[1] cs 4†[1] Fr 47† Fr U
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W†
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W†
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W†
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W†
-Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1
-Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1
-Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1
-Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2
-Quad FAT CS 5[brewup]† CS 5[brewup]† Fr 49 Fr W†
-Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W†
-15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
-30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
-3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
-Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y†
-Jeep GPA cs 2 cs 2 Fr 51 Fr Y†
-¾-Ton cs 4 cs 4 Fr 51 Fr Y†
-1½-Ton cs 6 cs 6 Fr 51 Fr Y†
-2½-Ton cs 7 cs 7 Fr 51 Fr Y†
-7½-Ton cs 7 cs 7 Fr 51 Fr Y†
+Name Capabilities (effective) # Notes Comments
+------------------------ ----------------------------------------- -------------------------------- --------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+H39(f) ® AP10 CS 2 ® AP10 CS 2 Fr 7† Fr A†1 Fr C Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M5A1 C7†[2] CS 4 C7†[2] CS 4 Fr 37†[1] Fr Y†
+H39(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+R35(L)(f) ® AP10 CS 2 ® AP10 CS 2 Fr 8† Fr A†1 Fr C Fr E Fr F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Crusader II sM8 CS 4[brewup] sM8 CS 4[brewup] Fr 38 Fr W†
+Crusader III HE7[F3+]†[1] sD7 sM8†[2] CS 3[brewup] HE7†[1] sD7 sM8†[2] CS 3[brewup] Fr 38 Fr W†
+M4 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] Fr 39 Fr Y† Multiple Hits
+M4A1 WP7[J4+]†[3] s5[J4+] sM5[4+] CS 5[brewup] WP7†[3] s5 sM5 CS 5[brewup] Fr 39† Fr Y† Multiple Hits
+M4A2 WP7[J4+]†[2] s5[J4+] sM5[4+] CS 5[brewup] WP7†[2] s5 sM5 CS 5[brewup] Fr 39†[1] Fr Y† Multiple Hits
+M4A3(75)W WP7 s5 sM8 CS 6 WP7 s5 sM8 CS 6 Fr 40 Fr Y† Multiple Hits
+M4A3(76)W A4[A4]5[5]†[2] s5[5] sM8 CS 6 A5†[2] s5 sM8 CS 6 Fr 40 Fr Y†
+M4A3(105) C7[P]†[1] H9 WP9 s7 sM8 CS 6 H9 WP9 s7 sM8 CS 6 Fr 40 Fr Y†
+M4 Tankdozer WP7 s5 sM6 CS 5[brewup] WP7 s5 sM6 CS 5[brewup] Fr 40 Fr Y† Front-hull hit: +2 TH DRM (unless level < firer) | Multiple Hits
+S35(f) ®9†[1] CS 4 ®9†[1] CS 4 Fr 12† Fr A†3 Fr C Fr F Fr I†2 Fr R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+B1-bis(f) ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] Fr 13† Fr A†4 Fr B†3 Fr C Fr E Fr F Fr I†2 Fr R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear] | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+M10 GMC A5[A4E]6[5E]†[1] s5[5] sP5 CS 7 A6†[1] s5 sP5 CS 7 Fr 41 Fr Y†
+Daimler sD4[4+]† CS 2 sD4† CS 2 Fr 42†[1] Fr W† Stun = Recall, CE & Fire NA
+AM Dodge(a) AP10 CS 6† AP10 CS 6† Fr 15† Fr F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+M3A1 CS 4 CS 4 Fr 43†[1] Fr Y† Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M20 sP5 CS 4 sP5 CS 4 Fr 43†[1] Fr Y† MA: 12.7 | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Reverse MP ×4 | BAZ
+Marmon-Herrington III ME CS 4 CS 4 Fr 44 Fr W† Reverse MP ×3 | ATR: [12] TH | ATR: Removal/Scrounge OK | AAMG: Rear TCA only
+Marmon-Herrington IIIv CS 4 CS 4 Fr 44 Fr W† AAMG: Rear VCA only | Red TH# | Reverse MP ×3
+Humber II sD6 CS 3 sD6 CS 3 Fr 45 Fr W† Reverse MP ×3
+M8 C7†[2] sP5 CS 4 C7†[2] sP5 CS 4 Fr 43 Fr Y† Reverse MP ×4
+M8 HMC C4[4+]†[1] H9 WP9 CS 5 C4†[1] H9 WP9 CS 5 Fr 46 Fr Y†
+M7 HMC C7[P]†[1] H7 WP8 s7 CS 7 H7 WP8 s7 CS 7 Fr 46 Fr Y†
+T30 HMC AP7 H5 WP9 CS 4 AP7 H5 WP9 CS 4 Fr 47 Fr Y† AAMG: Removal OK (.50-cal HMG) | AAMG: NA VCA | CE: +3 Front
+M2 CS 4 CS 4 Fr 47 Fr Y† MA: 12.7 | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK
+M3 CS 5 CS 5 Fr 47 Fr Y† MA: As MMG for TK & Removal
+M5 cs 5†[1] cs 5†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+M5A1 cs 5† cs 5† Fr 47† Fr U American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#)
+M9 cs 4†[1] cs 4†[1] Fr 47† Fr U American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#)
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W† Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W† Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 Fr 48†[1] Fr W† Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 Fr 48†[1] Fr W† Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Inherent Passenger (HS)
+Carrier AC(b) CS 3 CS 3 Fr 31† Fr F Fr M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 25 CA(f) CS 4 CS 4 Fr 21† Fr F Fr AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 Fr 20† Fr F Fr M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 40 CA(a) CS 4 CS 4 Fr 22 Fr E Fr F Fr M† Fr AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34(f) CS 7 CS 7 Fr 23† Fr D†1 Fr F Fr AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok | Red TH# | French ESB+ | Captured Use (unless Free/Vichy French)
+Quad FAT cs 5[brewup]† cs 5[brewup]† Fr 49 Fr W† Burning Wreck: -1 DRM
+Jeep(a) cs 2†[1] cs 2†[1] Fr 50†[1] Fr W† American ESB+ | Bog assistance | Inherent Crew if armed (with CS#)
+15-cwt Truck cs 5 cs 5 Fr 50 Fr W†
+30-cwt Lorry cs 6 cs 6 Fr 50 Fr W†
+3-Ton Lorry cs 7 cs 7 Fr 50 Fr W†
+Jeep cs 2†[1] cs 2†[1] Fr 51 Fr Y† AAMG Removal OK | Bog assistance | Inherent Crew if armed (with CS#)
+Jeep GPA cs 2 cs 2 Fr 51 Fr Y† +3 Target Size & HD in Water | Bog assistance
+¾-Ton cs 4 cs 4 Fr 51 Fr Y†
+1½-Ton cs 6 cs 6 Fr 51 Fr Y†
+2½-Ton cs 7 cs 7 Fr 51 Fr Y†
+7½-Ton cs 7 cs 7 Fr 51 Fr Y†
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt
index 10b5b2c..8c99d40 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1940 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = (11) | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt
index d99155c..b6236b3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1941 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt
index f3e74a4..bb65a40 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1942 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt
index 5377dce..113dc98 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1943 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt
index 2d56a48..1813506 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1944 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt
index 0e86576..ce72594 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt
@@ -1,54 +1,54 @@
=== vehicles/french/1945 ===
-Name Capabilities (effective) # Notes Comments
-------------------------- --------------------------------------- --------------------------------------- --- ----------------------------------------------------------------- ----------
-FT-17M ® CS 2 ® CS 2 1† C
-FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C
-FT-17 75BS ® no IF CS 3[brewup] ® no IF CS 3[brewup] 1† C
-AMR 33 ® CS 2 ® CS 2 2† E
-AMR 35 ® CS 2 ® CS 2 3† E
-AMR 35(L) ® CS 2 ® CS 2 3† E
-R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C
-H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E
-FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1
-H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F
-H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E
-R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F
-R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I†
-D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1
-D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1
-D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1
-S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1
-B1-bis ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] ®9†[1] no IF[75]† AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1
-Valentine V(b) sM8 CS 4 sM8 CS 4 14† F
-AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F
-AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1
-AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1
-AMD 80 AM ® CS 4 ® CS 4 17† D†1
-AMD 35 ® CS 4 ® CS 4 18† E
-Laffly W15T CC CS 3 CS 3 19† E J†1
-Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1
-Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1
-Camion de Mitrailleuse CA CS 4 CS 4 21† n/a
-Camion de 13.2 CAJ CS 4 CS 4 21† AA†1
-Camion de 20 CA CS 4 CS 4 21† AA†1
-Ac de 25 CA CS 4 CS 4 21† F AA†1
-Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1
-Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2
-AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
-C-K P17 cs 4 cs 4 25† n/a
-C-K P19 cs 5 cs 5 25† H†1
-SOMUA MCG cs 4 cs 4 26† n/a
-Unic P107 cs 5 cs 5 27† L†1
-Renault UE cs 2†[1] cs 2†[1] 28† G†1 K
-Lorraine 38L cs 3/2† cs 3/2† 29† E H†
-Lorraine 37L 44 CS 3 CS 3 30† E K
-Carrier AC(b) CS 3 CS 3 31† F M†1
-Latil TAR H2 cs 5 cs 5 32† J†1
-Laffly S15T cs 5 cs 5 33† J†1 L†2
-Laffly S20TL cs 5 cs 5 34† E J†1
-Laffly V15T cs 5 cs 5 35 E J†
-Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1
-Citroën 23 cs 5 cs 5 36† n/a
-Renault AGR2 cs 7 cs 7 36† n/a
+Name Capabilities (effective) # Notes Comments
+------------------------- ---------------------------- ---------------------------- --- ----------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+FT-17M ® CS 2 ® CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17C ® AP9 CS 2 ® AP9 CS 2 1† C Road Rate NA | CE: +1 Rear Turret & Indirect Fire
+FT-17 75BS ® CS 3[brewup] ® CS 3[brewup] 1† C Road Rate NA | No IF | CE: +1 Rear Turret & Indirect Fire
+AMR 33 ® CS 2 ® CS 2 2† E
+AMR 35 ® CS 2 ® CS 2 3† E
+AMR 35(L) ® CS 2 ® CS 2 3† E
+R35 ® AP10 CS 2 ® AP10 CS 2 4† A†1 C CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35 ® AP10 CS 2 ® AP10 CS 2 5† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+FCM 36 ® AP10 CS 2 ® AP10 CS 2 6† C E I†1 CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+H39 ® AP10 CS 2 ® AP10 CS 2 7† A†1 C F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H39(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+H35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R35(L) ® AP10 CS 2 ® AP10 CS 2 8† A†1 C E F CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+R40 ® AP10 CS 2 ® AP10 CS 2 9 A†1 C E I† CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D1 ®9†[1] CS 3 ®9†[1] CS 3 10† B†3 C I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2 ®9†[1] CS 3 ®9†[1] CS 3 11† B†3 C E I†2 R†1 BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+D2(L) ®9†[1] CS 3 ®9†[1] CS 3 11† A†4 B†3 C E I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+S35 ®9†[1] CS 4 ®9†[1] CS 4 12† A†3 C F I†2 R†1 CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+B1-bis ®9†[1] AP9[75]† CS 5[brewup] ®9†[1] AP9[75]† CS 5[brewup] 13† A†4 B†3 C E F I†2 R†1 47 MA: 1MT | 75* SA: NT (bow-mounted) | 75* SA: +1 TH DRM vs Moving/Motion | 75* SA: No IF | AP: 75* SA only | Acquisition Loss | Port hull CH: Original 3 | CMG: AA ok (TCA only) | CMG: Scrounge OK | BMG: +1 DRM vs Moving/Motion | BMG: Scrounge NA | CE: +1 Rear Turret & Indirect Fire | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+Valentine V(b) sM8 CS 4 sM8 CS 4 14† F Black TH# | British ESB+ | Captured Use (unless Vichy French or British)
+AM Dodge(a) AP10 CS 6† AP10 CS 6† 15† F CMG: AA ok | MA NA in AA mode | Partially armored [{ *:+2 DRM if unarmored [EXC: CC, FT, mines, height advantage, destroyed] }] | Black TH# | American ESB+ | Captured Use (unless Vichy French)
+AMD 20 cv TOE ®9†[1] AP9 CS 4 ®9†[1] AP9 CS 4 16† D†2 R†1 Reverse MP ×2
+AMD 50 AM ® AP9 CS 4 ® AP9 CS 4 17† D†1 Reverse MP ×2
+AMD 80 AM ® CS 4 ® CS 4 17† D†1 Reverse MP ×2
+AMD 35 ® CS 4 ® CS 4 18† E AAMG: TCA only
+Laffly W15T CC CS 3 CS 3 19† E J†1 MA: Rear CVA only | Crew Gunshield (Direct Fire) | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Ac de 75 Conus(b) s8 CS 5 s8 CS 5 20† F M†1 Fire NA if VCA ≤ level | AAMG: TCA only | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Ac de 75 mle 97 s8 CS 4 s8 CS 4 20† M†1 Fire NA if VCA ≤ level | MA: No Bnd FF, Motion Fire
+Camion de Mitrailleuse CA CS 4 CS 4 21† n/a MA: AA ok | Bnd FF & Motion Fire NA VCA
+Camion de 13.2 CAJ CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | 2 TK DR | MA: AA ok
+Camion de 20 CA CS 4 CS 4 21† AA†1 Bnd FF & Motion Fire NA VCA | MA: AA ok
+Ac de 25 CA CS 4 CS 4 21† F AA†1 Bnd FF & Motion Fire NA VCA | MA: B# = 12 | MA: AA ok
+Ac de 40 CA(a) CS 4 CS 4 22 E F M† AA†1 Black TH# | American ESB+ | Captured Use (unless Free French or US) | MA: No Bnd FF, Motion Fire | MA: AA ok
+Ac de 75 mle 13/34 CS 7 CS 7 23† D†1 F AA†2 MA: No Bnd (F)F, Motion Fire | Rear TF NA | Requires Ammo Vehicle/Dump | Reverse MP ×2 | MA: AA ok
+AMC 29 ® AP9 CS 3 ® AP9 CS 3 24† n/a
+C-K P17 cs 4 cs 4 25† n/a
+C-K P19 cs 5 cs 5 25† H†1 Deployed Passengers
+SOMUA MCG cs 4 cs 4 26† n/a
+Unic P107 cs 5 cs 5 27† L†1 Ammo: 4 PP
+Renault UE cs 2†[1] cs 2†[1] 28† G†1 K Stun = Recall, CE & Fire NA | Pas: SMC = 1PP, always CE | Inherent Crew if armed (with CS#) | Unpossessed SW ok
+Lorraine 38L cs 3/2† cs 3/2† 29† E H† Trailer (AF 0) | Unpossessed SW ok | Deployed Passengers
+Lorraine 37L 44 CS 3 CS 3 30† E K Always CE | Captured Use (unless French Partisans or Free French) | Unpossessed SW ok
+Carrier AC(b) CS 3 CS 3 31† F M†1 Inherent Crew (not HS) | No Passengers | Always CE | Black TH# | British ESB+ | Captured Use (unless Vichy French or British) | MA: No Bnd FF, Motion Fire
+Latil TAR H2 cs 5 cs 5 32† J†1 Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Laffly S15T cs 5 cs 5 33† J†1 L†2 Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | Ammo: 4 PP
+Laffly S20TL cs 5 cs 5 34† E J†1 Moves as Truck | Reverse MP ×3
+Laffly V15T cs 5 cs 5 35 E J† Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Peugeot 202 cs 2†[1] cs 2†[1] 36† G†1 Inherent Crew if armed (with CS#)
+Citroën 23 cs 5 cs 5 36† n/a
+Renault AGR2 cs 7 cs 7 36† n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1940.txt
index 4ff4417..1152123 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1940.txt
@@ -1,130 +1,130 @@
=== vehicles/german/1940 ===
-Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- ------------------------ ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
-PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
-PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
-PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
-PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
-PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
-PzKpfw IIIF A4[1] sD7 CS 5 sD7 CS 5 11† n/a
-PzKpfw IIIG A4[1] sD7 CS 5 sD7 CS 5 12 N
-PzKpfw IIIH A4[1] sD7 CS 6 sD7 CS 6 13† N
-PzKpfw IIIJ A6[2] sD7 CS 6 sD7 CS 6 14† N S
-PzKpfw IIIL A6[2] sD7 CS 5 sD7 CS 5 15† B† N S
-PzKpfw IIIN H9 s9 sD7 CS 5 H9 s9 sD7 CS 5 16 B† NT S
-PzKpfw III(Fl) sD7 CS 3 sD7 CS 3 17 n/a
-PzKpfw IVA AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 18† n/a
-PzKpfw IVC AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 19† n/a
-PzKpfw IVD AP7 H6 s9 sD7 CS 5 AP7 H6 s9 sD7 CS 5 20 N R†
-PzKpfw IVE AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 21 N R†
-PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 22 N R†
-PzKpfw IVF2 A5[2] s8 sD6 CS 6 s8 sD6 CS 6 23† N S
-PzKpfw IVH A5[2] s8 sD5 CS 6 s8 sD5 CS 6 24† B† S
-PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
-StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
-PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
-PzJg I A5[1] HE7 CS 3 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e
-Marder II A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E
-PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
-JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
-JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
-JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
-JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
-SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 CS 4 62 J† N
-SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
-PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
-PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
-PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
-PSW 234/2 A5[3] sD7 CS 4 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
-PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
-Opel 6700 (Blitz) cs 6 cs 6 96 N
-Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
-SdKfz 7 cs 6 cs 6 98 N
-SdKfz 11 cs 5 cs 5 99 N
-PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
-PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
-Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+Name Capabilities (effective) # Notes Comments
+---------------------- ----------------------------- ----------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
+PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
+PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
+PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
+PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
+PzKpfw IIIF A4[1] sD7 CS 5 sD7 CS 5 11† n/a
+PzKpfw IIIG A4[1] sD7 CS 5 sD7 CS 5 12 N
+PzKpfw IIIH A4[1] sD7 CS 6 sD7 CS 6 13† N
+PzKpfw IIIJ A6[2] sD7 CS 6 sD7 CS 6 14† N S
+PzKpfw IIIL A6[2] sD7 CS 5 sD7 CS 5 15† B† N S
+PzKpfw IIIN H9 s9 sD7 CS 5 H9 s9 sD7 CS 5 16 B† NT S
+PzKpfw III(Fl) sD7 CS 3 sD7 CS 3 17 n/a
+PzKpfw IVA AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 18† n/a
+PzKpfw IVC AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 19† n/a
+PzKpfw IVD AP7 H6 s9 sD7 CS 5 AP7 H6 s9 sD7 CS 5 20 N R†
+PzKpfw IVE AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 21 N R†
+PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 22 N R†
+PzKpfw IVF2 A5[2] s8 sD6 CS 6 s8 sD6 CS 6 23† N S
+PzKpfw IVH A5[2] s8 sD5 CS 6 s8 sD5 CS 6 24† B† S
+PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
+StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
+StuG IIIG A6[2] s8 sD7 CS 4 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
+PzJg Tiger CS 7 CS 7 38 n/a
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
+PzJg I A5[1] HE7 CS 3 HE7 CS 3 43 N
+PzJg 35R(f) A5[1] HE7 CS 3 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e French ESB
+Marder II A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 46 M† NFT
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 47 E G NF ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
+PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
+JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
+JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
+JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
+JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
+SPW 250/1 CS 4 CS 4 57 N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 CS 4 62 J† N AAMG: NA VCA
+SPW 251/1 CS 5 CS 5 63 C† N
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 CS 4 65 C† J† N ATR | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
+PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
+PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
+PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
+PSW 234/2 A5[3] sD7 CS 4 sD7 CS 4 75 n/a
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
+PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
+Opel 6700 (Blitz) cs 6 cs 6 96 N
+Buessing-NAG 4500 cs 7 cs 7 96 N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
+SdKfz 7 cs 6 cs 6 98 N
+SdKfz 11 cs 5 cs 5 99 N
+PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
+PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
+Pz-7TP CS 3 CS 3 5 B†
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1941.txt
index 54dc722..085413e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1941.txt
@@ -1,130 +1,130 @@
=== vehicles/german/1941 ===
-Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- ------------------------ ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
-PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
-PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
-PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
-PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A4 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A4 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
-PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
-PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
-PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
-PzKpfw IIIH A4[1] sD7 CS 6 A4 sD7 CS 6 13† N
-PzKpfw IIIJ A6[2] sD7 CS 6 sD7 CS 6 14† N S
-PzKpfw IIIL A6[2] sD7 CS 5 sD7 CS 5 15† B† N S
-PzKpfw IIIN H9 s9 sD7 CS 5 H9 s9 sD7 CS 5 16 B† NT S
-PzKpfw III(Fl) sD7 CS 3 sD7 CS 3 17 n/a
-PzKpfw IVA AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 18† n/a
-PzKpfw IVC AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 19† n/a
-PzKpfw IVD AP7 H6 s9 sD7 CS 5 AP7 H6 s9 sD7 CS 5 20 N R†
-PzKpfw IVE AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 21 N R†
-PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 22 N R†
-PzKpfw IVF2 A5[2] s8 sD6 CS 6 s8 sD6 CS 6 23† N S
-PzKpfw IVH A5[2] s8 sD5 CS 6 s8 sD5 CS 6 24† B† S
-PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
-StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
-PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
-PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e
-Marder II A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E
-PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
-JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
-JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
-JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
-JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
-SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N
-SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
-PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
-PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
-PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
-PSW 234/2 A5[3] sD7 CS 4 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
-PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
-Opel 6700 (Blitz) cs 6 cs 6 96 N
-Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
-SdKfz 7 cs 6 cs 6 98 N
-SdKfz 11 cs 5 cs 5 99 N
-PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
-PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
-Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+Name Capabilities (effective) # Notes Comments
+---------------------- ----------------------------- ----------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
+PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
+PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
+PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
+PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A4 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A4 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
+PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
+PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
+PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
+PzKpfw IIIH A4[1] sD7 CS 6 A4 sD7 CS 6 13† N
+PzKpfw IIIJ A6[2] sD7 CS 6 sD7 CS 6 14† N S
+PzKpfw IIIL A6[2] sD7 CS 5 sD7 CS 5 15† B† N S
+PzKpfw IIIN H9 s9 sD7 CS 5 H9 s9 sD7 CS 5 16 B† NT S
+PzKpfw III(Fl) sD7 CS 3 sD7 CS 3 17 n/a
+PzKpfw IVA AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 18† n/a
+PzKpfw IVC AP7 s9 sD6 CS 5 AP7 s9 sD6 CS 5 19† n/a
+PzKpfw IVD AP7 H6 s9 sD7 CS 5 AP7 H6 s9 sD7 CS 5 20 N R†
+PzKpfw IVE AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 21 N R†
+PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6 22 N R†
+PzKpfw IVF2 A5[2] s8 sD6 CS 6 s8 sD6 CS 6 23† N S
+PzKpfw IVH A5[2] s8 sD5 CS 6 s8 sD5 CS 6 24† B† S
+PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
+StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
+StuG IIIG A6[2] s8 sD7 CS 4 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
+PzJg Tiger CS 7 CS 7 38 n/a
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
+PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
+PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e French ESB
+Marder II A6[2] HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 46 M† NFT
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 47 E G NF ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
+PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
+JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
+JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
+JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
+JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
+SPW 250/1 CS 4 CS 4 57 N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N AAMG: NA VCA
+SPW 251/1 CS 5 CS 5 63 C† N
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N ATR | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
+PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
+PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
+PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
+PSW 234/2 A5[3] sD7 CS 4 sD7 CS 4 75 n/a
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
+PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
+Opel 6700 (Blitz) cs 6 cs 6 96 N
+Buessing-NAG 4500 cs 7 cs 7 96 N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
+SdKfz 7 cs 6 cs 6 98 N
+SdKfz 11 cs 5 cs 5 99 N
+PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
+PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
+Pz-7TP CS 3 CS 3 5 B†
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1942.txt
index 90a483e..ec6be31 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1942.txt
@@ -1,20 +1,20 @@
=== vehicles/german/1942 ===
Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- -------------------------- ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
+---------------------- ----------------------------- -------------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
@@ -31,100 +31,100 @@ PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6
PzKpfw IVF2 A5[2] s8 sD6 CS 6 A5 s8 sD6 CS 6 23† N S
PzKpfw IVH A5[2] s8 sD5 CS 6 A5 s8 sD5 CS 6 24† B† S
PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 A6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 A6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
+StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e
+PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e French ESB
Marder II A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
+JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N AAMG: NA VCA
SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N ATR | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
PSW 234/2 A5[3] sD7 CS 4 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
Opel 6700 (Blitz) cs 6 cs 6 96 N
Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
SdKfz 7 cs 6 cs 6 98 N
SdKfz 11 cs 5 cs 5 99 N
PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 A5 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 A5 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1943.txt
index d96c98d..eb33190 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1943.txt
@@ -1,20 +1,20 @@
=== vehicles/german/1943 ===
Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- -------------------------- ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
+---------------------- ----------------------------- -------------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
@@ -31,100 +31,100 @@ PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6
PzKpfw IVF2 A5[2] s8 sD6 CS 6 A5 s8 sD6 CS 6 23† N S
PzKpfw IVH A5[2] s8 sD5 CS 6 A5 s8 sD5 CS 6 24† B† S
PzKpfw IVJ A3[4] s8 sN9 CS 6 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 A6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 A6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
+StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e
+PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 HE9 CS 3 45.1 a e French ESB
Marder II A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF CE +3 F | ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
+JgdPz 38(t) A4[4] HE7 CS 4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 HE7 s7 CS 4 52 S
JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 HE7 s7 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N AAMG: NA VCA
SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N ATR | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
PSW 234/2 A5[3] sD7 CS 4 A5 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
Opel 6700 (Blitz) cs 6 cs 6 96 N
Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
SdKfz 7 cs 6 cs 6 98 N
SdKfz 11 cs 5 cs 5 99 N
PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1944.txt
index 91b96ed..04cc1dd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1944.txt
@@ -1,20 +1,20 @@
=== vehicles/german/1944 ===
Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- -------------------------- ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
+---------------------- ----------------------------- -------------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
@@ -31,100 +31,100 @@ PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6
PzKpfw IVF2 A5[2] s8 sD6 CS 6 A5 s8 sD6 CS 6 23† N S
PzKpfw IVH A5[2] s8 sD5 CS 6 A5 s8 sD5 CS 6 24† B† S
PzKpfw IVJ A3[4] s8 sN9 CS 6 A3 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 sN7 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 A6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 A4 sN7 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 sN7 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 A6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 A4 sN7 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 A4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
+StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 A4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 A4 HE9 CS 3 45.1 a e
+PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 A4 HE9 CS 3 45.1 a e French ESB
Marder II A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF CE +3 F | ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 A4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
+JgdPz 38(t) A4[4] HE7 CS 4 A4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 A4 HE7 s7 sN7 CS 4 52 S
JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 A4 HE7 s7 sN8 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N AAMG: NA VCA
SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 A4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N PSK | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 A4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
PSW 234/2 A5[3] sD7 CS 4 A5 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
Opel 6700 (Blitz) cs 6 cs 6 96 N
Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
SdKfz 7 cs 6 cs 6 98 N
SdKfz 11 cs 5 cs 5 99 N
PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1945.txt
index 97cd1fe..21ac3a3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/german/1945.txt
@@ -1,20 +1,20 @@
=== vehicles/german/1945 ===
Name Capabilities (effective) # Notes Comments
----------------------- ----------------------------- -------------------------- ------ --------------------------------- -------------------------
-PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF
+---------------------- ----------------------------- -------------------------- ------ --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+PzKpfw IB sD6 CS 2 sD6 CS 2 1† NF 2 TK DR
PzKpfw IIA sD6 CS 3 sD6 CS 3 2 n/a
PzKpfw IIF sD7 CS 3 sD7 CS 3 3 N
-PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a
+PzKpfw II(Fl) sD7† CS 2[brewup] sD7† CS 2[brewup] 4† n/a sD: 3 hex range
PzKpfw IIL sD7 CS 4 sD7 CS 4 5 n/a
PzKpfw 35t sD5 CS 4 sD5 CS 4 6† n/a
-PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E
-PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E
-Aufklaerer 38(t) CS 5 CS 5 9 A† E
-FT-17 730m(f) CS 2 CS 2 9.1† a c f
-FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f
-38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f
-35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f
+PzKpfw 38(t)A A4[1]5[2] sD6 CS 4 A5 sD6 CS 4 7† E ESB: 0 DRM
+PzKpfw 38(t)E A4[1]5[2] sD7 CS 4 A5 sD7 CS 4 8† E ESB: 0 DRM
+Aufklaerer 38(t) CS 5 CS 5 9 A† E MA & CMG: AA ok | ESB: 0 DRM
+FT-17 730m(f) CS 2 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17 730(f) AP9 CS 2 AP9 CS 2 9.1† a c f Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+38H 735(f) AP10 CS 3 AP10 CS 3 9.2 a b† f French ESB | CMG: AA ok (TCA only)
+35-S 739(f) CS 4 CS 4 9.3 a b†2 d†1 f French ESB | CMG: AA ok (TCA only) | Immob: dr ≤ 4 [EXC: mines, Direct Fire vs front/rear]
PzKpfw IIID sD6 CS 5 sD6 CS 5 10† n/a
PzKpfw IIIF A4[1] sD7 CS 5 A4 sD7 CS 5 11† n/a
PzKpfw IIIG A4[1] sD7 CS 5 A4 sD7 CS 5 12 N
@@ -31,100 +31,100 @@ PzKpfw IVF1 AP7 H6 s9 sD7 CS 6 AP7 H6 s9 sD7 CS 6
PzKpfw IVF2 A5[2] s8 sD6 CS 6 A5 s8 sD6 CS 6 23† N S
PzKpfw IVH A5[2] s8 sD5 CS 6 A5 s8 sD5 CS 6 24† B† S
PzKpfw IVJ A3[4] s8 sN9 CS 6 A3 s8 sN9 CS 6 25 S
-PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F†
-PzKpfw VG sN7[4] CS 6 sN7 CS 6 27† H†
-PzKpfw M15/42(i) CS 4 CS 4 28 I
-PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I
-PzKpfw VIE A6[2] M7† sD7 CS 6 A6 M7† sD7 CS 6 30† K NFT
-PzKpfw VIE (L) A4[4] sN7[4] CS 6 A4 sN7 CS 6 31 K
-PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K
+PzKpfw VD sD5 CS 5[brewup] sD5 CS 5[brewup] 26 F† 12: Burn, 11: Immob, 10: Stall
+PzKpfw VG sN7[4] CS 6 sN7 CS 6 27† H† 12: Stall
+PzKpfw M15/42(i) CS 4 CS 4 28 I Red TH# | Italian ESB
+PzKpfw P26/40(i) s8 CS 4 s8 CS 4 29 I Red TH# | Italian ESB
+PzKpfw VIE A6[2] sD7 CS 6 A6 sD7 CS 6 30† K NFT SA: Mines (CC: 12 FP) | Morale 9
+PzKpfw VIE (L) A4[4] sN7[4] CS 6 A4 sN7 CS 6 31 K Morale 9
+PzKpfw VIB sN9 CS 6 sN9 CS 6 32† K Morale 9
StuG IIIB AP7 H6 s9 sD7 CS 4 AP7 H6 s9 sD7 CS 4 33† n/a
-StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S
-StuG IIIG (L) A4[4] s8 sN9 CS 4 A4 s8 sN9 CS 4 35 O† Q† S
-StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S
-StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S
-StuPz IV no IF H7 s9 CS 6 no IF H7 s9 CS 6 37† S
-Sturmtiger no IF sN9 CS 5 no IF sN9 CS 5 37.1† K
+StuG IIIG A6[2] s8 sD7 CS 4 A6 s8 sD7 CS 4 34† NFT P† S AAMG: VCA only
+StuG IIIG (L) A4[4] s8 sN9 CS 4 A4 s8 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuH 42 H9 s9 sD7 CS 4 H9 s9 sD7 CS 4 36† NFT P† S AAMG: VCA only
+StuH 42 (L) H9 s9 sN9 CS 4 H9 s9 sN9 CS 4 35 O† Q† S AAMG: BU only, Rider NA, elevation restrictions | CMG: VCA only
+StuPz IV H7 s9 CS 6 H7 s9 CS 6 37† S BMG: HD Fire OK | No IF
+Sturmtiger sN9 CS 5 sN9 CS 5 37.1† K MA: No Bnd (F)F, Motion Fire, Acq, CE | No Area Target Type, same Location, consecutive Fire | +1 TH DRM vs Moving/Motion/Dash | Riders Bail Out when MA fires | IFT: 36+ FP with -3 DRM | HE TK#: [{ *:Direct Hit (dr 1-2): 28 (armored), 22 (unarmored); Specific Collateral Attack = full FP *:Near Miss: 10 (armored), 16 (unarmored); Specific Collateral Attack = 20 FP }] | No IF | Morale 9
PzJg Tiger CS 7 CS 7 38 n/a
-StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P†
-StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P†
-StuG 105/25(i) no IF H7 s9 CS 3 no IF H7 s9 CS 3 41 I P†
-StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P†
+StuG 75/18(i) H7 s9 CS 3 H7 s9 CS 3 39 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/34(i) s9 CS 3 s9 CS 3 40 I P† Red TH# | Italian ESB | AAMG: VCA only
+StuG 105/25(i) H7 s9 CS 3 H7 s9 CS 3 41 I P† No IF | Red TH# | Italian ESB | AAMG: VCA only
+StuG 75/46(i) s9 CS 3 s9 CS 3 42 I P† Red TH# | Italian ESB | AAMG: VCA only
PzJg I A5[1] HE7 CS 3 A5 HE7 CS 3 43 N
-PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a
-Pz 35R 731(f) CS 2 CS 2 44.1† a
-Marder I A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a
-GSW 39H(f) Pak A4[4] HE9 CS 3 A4 HE9 CS 3 45.1 a e
+PzJg 35R(f) A5[1] HE7 CS 3 A5 HE7 CS 3 44 a French ESB
+Pz 35R 731(f) CS 2 CS 2 44.1† a French ESB
+Marder I(f) A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 45† a French ESB
+GSW 39H(f) Pak A4[4] HE9 CS 3 A4 HE9 CS 3 45.1 a e French ESB
Marder II A6[2] HE7 s7 CS 4[brewup] A6 HE7 s7 CS 4[brewup] 46 M† NFT
-Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF
-Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E
+Marder III(t)H A6[2] HE7 s7 sD6 CS 4[brewup] A6 HE7 s7 sD6 CS 4[brewup] 47 E G NF CE +3 F | ESB: 0 DRM
+Marder III(t)M A5[3] HE7 s7 sD5 CS 4[brewup] A5 HE7 s7 sD5 CS 4[brewup] 48 E ESB: 0 DRM
PzJg III/IV HE7 CS 5 HE7 CS 5 49 M†
-JgdPz 38(t) A4[4] HE7 CS 4 A4 HE7 CS 4 50 E O†
-JgdPz 38(t) (Fl) CS 4 CS 4 51 E O†
+JgdPz 38(t) A4[4] HE7 CS 4 A4 HE7 CS 4 50 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
+JgdPz 38(t) (Fl) CS 4 CS 4 51 E O† ESB: 0 DRM | AAMG: BU only, Rider NA, elevation restrictions
JgdPz IV A4[4] HE7 s7 sN7[4] CS 4 A4 HE7 s7 sN7 CS 4 52 S
JgdPz IV (L) A4[4] HE7 s7 sN8[4] CS 4 A4 HE7 s7 sN8 CS 4 52 S
-StuIG 33B no IF H7 s9 CS 5 no IF H7 s9 CS 5 53† n/a
+StuIG 33B H7 s9 CS 5 H7 s9 CS 5 53† n/a BMG: HD Fire OK | No IF
JgdPz IV/70 HE7 sN9 CS 4 HE7 sN9 CS 4 54† S
-JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H
+JgdPz V HE7 sN9 CS 6 HE7 sN9 CS 6 55 H 12: Stall
JgdPz VI HE7 sN9 CS 7 HE7 sN9 CS 7 56 n/a
SPW 250/1 CS 4 CS 4 57 N
-SPW 250/sMG CS 4† CS 4† 58† J† N
-SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N
-SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q†
-SPW 250/9 CS 4 CS 4 61† A†
-SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N
+SPW 250/sMG CS 4† CS 4† 58† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 250/7 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 250/8 H6 s8 CS 4[brewup] H6 s8 CS 4[brewup] 60 Q† CMG: VCA only
+SPW 250/9 CS 4 CS 4 61† A† MA & CMG: AA ok
+SPW 250/10 A4[1] CS 4 A4 CS 4 62 J† N AAMG: NA VCA
SPW 251/1 CS 5 CS 5 63 C† N
-SPW 251/sMG CS 5† CS 5† 58† C† J† N
-SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N
-SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q†
-SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N
-SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a
-SPW 251/21 CS 4 CS 4 66.1† n/a
-SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J†
-SPW S307(f) A4[4] HE9 CS 4 A4 HE9 CS 4 67.1 a e
-mSPW S307(f) no IF IR s5 CS 4 no IF IR s5 CS 4 67.2 a e
-Kfz 13 CS 2 CS 2 68† n/a
-PSW 221 sD6 CS 2 sD6 CS 2 69† A† N
-PSW 222 sD6 CS 3 sD6 CS 3 70† A† N
-PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF
-PSW 231 (6 rad) CS 4 CS 4 71† n/a
+SPW 251/sMG CS 5† CS 5† 58† C† J† N Inherent Crew & Passenger | CMG: Normal Range = 16, VCA only | CMG: Removal/Scrounge OK (LMG) | AAMG: Removal OK (dm HMG); Scrounge OK (LMG) | AAMG: NA VCA
+SPW 251/2 IR s8 CS 4[brewup] IR s8 CS 4[brewup] 59 C† J† N Inherent Infantry Crew | AAMG: NA VCA
+SPW 251/9 H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 64 C† N Q† CMG: VCA only
+SPW 251/10 A4[1] CS 4 A4 CS 4 65 C† J† N PSK | AAMG: NA VCA
+SPW 251/16 CS 4[brewup] CS 4[brewup] 66† n/a Port/starboard FT's
+SPW 251/21 CS 4 CS 4 66.1† n/a 3 TK DR | MA: AA ok
+SPW 251/22 HE7 s7 CS 4[brewup] HE7 s7 CS 4[brewup] 67 J† AAMG: NA VCA
+SPW S307(f) A4[4] HE9 CS 4 A4 HE9 CS 4 67.1 a e French ESB
+mSPW S307(f) IR s5 CS 4 IR s5 CS 4 67.2 a e CE: +1 Rear & Indirect Fire | VCA Facing | Extra Smoke | No IF | French ESB
+Kfz 13 CS 2 CS 2 68† n/a Always CE
+PSW 221 sD6 CS 2 sD6 CS 2 69† A† N BU Fire NA | Reverse MP ×4 | MA & CMG: AA ok
+PSW 222 sD6 CS 3 sD6 CS 3 70† A† N Reverse MP ×3 | MA & CMG: AA ok
+PSW 222 (L) sD6 CS 3 sD6 CS 3 70† A† NF Reverse MP ×3 | MA & CMG: AA ok
+PSW 231 (6 rad) CS 4 CS 4 71† n/a Reverse MP ×2
PSW 231 (8 rad) sD6 CS 4 sD6 CS 4 72† N
PSW 232 (8 rad) sD6 CS 4 sD6 CS 4 72 NF
PSW 233 H8 s9 sD7 CS 5 H8 s9 sD7 CS 5 73 NT
-PSW 234/1 CS 5 CS 5 74 A†
+PSW 234/1 CS 5 CS 5 74 A† MA & CMG: AA ok
PSW 234/2 A5[3] sD7 CS 4 A5 sD7 CS 4 75 n/a
-PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q†
-PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a
-sIG IB no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 78 G
-sIG II no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 79 N
-sIG 38(t)M no IF H6 s9 CS 4[brewup] no IF H6 s9 CS 4[brewup] 80 E NFT
+PSW 234/3 H8 s9 CS 5 H8 s9 CS 5 76 Q† CMG: VCA only
+PSW 234/4 HE7 s7 CS 5[brewup] HE7 s7 CS 5[brewup] 77† n/a Reverse MP ×4
+sIG IB H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 78 G No IF | CE: +3 Front
+sIG II H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 79 N No IF
+sIG 38(t)M H6 s9 CS 4[brewup] H6 s9 CS 4[brewup] 80 E NFT No IF | ESB: 0 DRM
PzA II H5 s8 CS 4 H5 s8 CS 4 81 M†
-PzA LrS(f) no IF H4 s8 CS 4 no IF H4 s8 CS 4 82 a N
-GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e
-PzA III/IV no IF H5 s8 CS 6 no IF H5 s8 CS 6 83 n/a
-FlaKPz 38(t) CS 4 CS 4 84 A† E
-37 FlaK/Pz IV CS 5 CS 5 85† A†
-FlaKPz IV/20 CS 6 CS 6 86 A†
-FlaKPz IV/37 CS 6 CS 6 87 A†
-SdKfz 10/4 CS 5 CS 5 88 A† D† N
-SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1
-SdKfz 6/2 CS 5 CS 5 89 A† D† N
-SdKfz 7/1 CS 4 CS 4 90 A† D† N
-Kfz 4 CS 3 CS 3 91† N
-2cm FlaK LKW CS 5 CS 5 92 A†
-3.7cm FlaK LKW CS 5 CS 5 92 A†
-Goliath 93† L†
-Kfz 1 cs 2† cs 2† 94† L† N
-Kfz 1/20 cs 2 cs 2 95† L†
+PzA LrS(f) H4 s8 CS 4 H4 s8 CS 4 82 a N No IF | French ESB
+GSW 39H(f) H4 s7 CS 4 H4 s7 CS 4 82.1 a e French ESB
+PzA III/IV H5 s8 CS 6 H5 s8 CS 6 83 n/a No IF
+FlaKPz 38(t) CS 4 CS 4 84 A† E CE: +1 | MA & CMG: AA ok | ESB: 0 DRM
+37 FlaK/Pz IV CS 5 CS 5 85† A† MA & CMG: AA ok
+FlaKPz IV/20 CS 6 CS 6 86 A† 4 TK DR | MA & CMG: AA ok
+FlaKPz IV/37 CS 6 CS 6 87 A† MA & CMG: AA ok
+SdKfz 10/4 CS 5 CS 5 88 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 10/5 CS 4 CS 4 88.1† A†2 D†1 MA & CMG: AA ok | Ammo trailer
+SdKfz 6/2 CS 5 CS 5 89 A† D† N MA & CMG: AA ok | Ammo trailer
+SdKfz 7/1 CS 4 CS 4 90 A† D† N 4 TK DR | MA & CMG: AA ok | Ammo trailer
+Kfz 4 CS 3 CS 3 91† N 2 TK DR (MG)
+2cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+3.7cm FlaK LKW CS 5 CS 5 92 A† MA & CMG: AA ok
+Goliath 93† L† Bog assistance
+Kfz 1 cs 2† cs 2† 94† L† N Inherent Crew if armed (with CS#) | Bog assistance
+Kfz 1/20 cs 2 cs 2 95† L† +3 Target Size & HD in Water | Bog assistance
Opel 6700 (Blitz) cs 6 cs 6 96 N
Buessing-NAG 4500 cs 7 cs 7 96 N
-SdKfz 2 cs 2 cs 2 97† L† N
+SdKfz 2 cs 2 cs 2 97† L† N As vehicle (not motorcycle) | Crew/HS Riders OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog assistance
SdKfz 7 cs 6 cs 6 98 N
SdKfz 11 cs 5 cs 5 99 N
PzKpfw IA sD6 CS 2 sD6 CS 2 1† Ge N 2 TK DR (MG)
-PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A†
+PzKpfw ICV sD5 CS 3 sD5 CS 3 2 A† MG: VCA only
PzKpfw IID sD6 CS 3 sD6 CS 3 3 n/a
-PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a
+PzKpfw II Bridgelayer sD6 CS 2 sD6 CS 2 4† n/a Inherent Crew | Movement restrictions | Stun = Recall, CE NA
Pz-7TP CS 3 CS 3 5 B†
-PSW M35 CS 5 CS 5 6† n/a REV x2
-SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE +3 VCA MA: Rear VCA NA
+PSW M35 CS 5 CS 5 6† n/a Reverse MP ×2
+SdKfz8 FlaK 18 A5[2]4[3] CS 6 A4 CS 6 7††[1] n/a CE: +3 VCA, otherwise 0 DRM | Indirect Fire: CE +1 | MA: Rear VCA NA | MA: Random SW Destruction | Mines: As unarmored
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1940.txt
index 2ade5ed..ec80891 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1940.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1940 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E
+---------------- ----------------------------- ------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1941.txt
index c1bfe82..7508c01 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1941.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1941 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E
+---------------- ----------------------------- ------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1942.txt
index 8fb4d50..3a5be0a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1942.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1942 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E
+---------------- ----------------------------- ------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1943.txt
index cfc9246..ce972d5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1943.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1943 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ---------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E
+---------------- ----------------------------- ---------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A4 HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A4 HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1944.txt
index 850c3f2..ed65237 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1944.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1944 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ---------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 A3 sN6 CS 6 12† E
+---------------- ----------------------------- ---------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 A3 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A3 HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A3 HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1945.txt
index 5f019da..95c17d3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/hungarian/1945.txt
@@ -1,15 +1,15 @@
=== vehicles/hungarian/1945 ===
Name Capabilities (effective) # Notes Comments
----------------- ----------------------------- ---------------------- --- -------------- ----------
-38M Toldi I CS 3 CS 3 7† A†1
-38M Toldi IIA CS 3 CS 3 8† A†1
-40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q
-41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q
-PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E
-PzKpfw VIE(L)(g) A3[4] sN6 CS 6 A3 sN6 CS 6 12† E
+---------------- ----------------------------- ---------------------- --- -------------- ---------------------------------------------------------
+38M Toldi I CS 3 CS 3 7† A†1 MA: ATR 12 [TH] | MA: Scrounge OK | CMG: AA ok (TCA only)
+38M Toldi IIA CS 3 CS 3 8† A†1 AP TK# = 9 | CMG: AA ok (TCA only)
+40M Turan I(r) sD5 CS 5 sD5 CS 5 9† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+41M Turan II(r) AP6 s7 sD5 CS 5 AP6 s7 sD5 CS 5 10† E N Q Russian ESB | ESB: +1 DRM | Red TH#
+PzKpfw VG(g) sN6 CS 6 sN6 CS 6 11† E 12: Stall | German ESB | Black TH#
+PzKpfw VIE(L)(g) A3[4] sN6 CS 6 A3 sN6 CS 6 12† E Morale 8 | German ESB | Black TH#
43M Zrinyi II s7 sD5 CS 4 s7 sD5 CS 4 13† Q
39M Csaba CS 4 CS 4 14 n/a
40M Csaba CS 4 CS 4 14 n/a
-Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A3 HE7 s6 CS 4[brewup] 15 E
-40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1
+Marder II(g) A4[3]3[4] HE7 s6 CS 4[brewup] A3 HE7 s6 CS 4[brewup] 15 E German ESB | Black TH#
+40M Nimrod H6[9][3+] CS 6 H6[9] CS 6 16† P†1 HEAT TK# = 26 | MA & CMG: AA ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1940.txt
index 698e063..010918b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1940.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1940 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1941.txt
index 361141a..825fafb 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1941.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1941 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1942.txt
index 46d003f..d910a52 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1942.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1942 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1943.txt
index afaade9..dca70e1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1943.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1943 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1944.txt
index 97f390e..55fe0aa 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1944.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1944 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1945.txt
index a7cdbd8..f02bdc1 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/indonesian/1945.txt
@@ -1,17 +1,17 @@
=== vehicles/indonesian/1945 ===
-Name Capabilities (effective) # Notes Comments
----------------------------------------- --------------- --------------- ------ ----------------------------------- -------------------------------------------------------------------------------------------------------
-Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M†
-Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C
-Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C
-Universal Carrier (b) CS 3 CS 3 4 C
-Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-VCL M1936 (b) CS 2 CS 2 6 C
-CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 Port VCA NA (see Allied Minor Vehicle Note 26).
-Marmon-Herrington III Armored Car (b) 2 TK DR's† CS 4 2 TK DR's† CS 4 8 Ch F†
-M3A1 Scout Car (a) 9PP CS 4 9PP CS 4 9† D†1 AllM 34†2 AP TK: use 12.7 column. Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 AP TK: use 12.7 column.
-Braat Overvalwagen APC 12PP CS 5 12PP CS 5 11†[2] D†1 Ch F† CMG: VCA only Mounted Fire: Full FP
-Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† AP TK: use 12.7 column.
-PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† AP TK: use 12.7 column.
+Name Capabilities (effective) # Notes Comments
+---------------------------------------- -------------- ------------- ------ ----------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 94 Light Armoured Vehicle (j) CS 2 CS 2 1 C Ru M† ESB: +4 DRM | 12: Immob, 11: Stall
+Type 97A Te-Ke Light Armored Vehicle (j) CS 2 CS 2 2 C ESB: +4 DRM
+Type 97B Te-Ke Light Armored Vehicle (j) CS 2 CS 2 3 C No IF | ESB: +4 DRM
+Universal Carrier (b) CS 3 CS 3 4 C ESB: +4 DRM
+Type 95 Ha-Go(j) CS 3 CS 3 5 B C D† E†1 Rear MG 4:00 from MA | ESB: +4 DRM
+VCL M1936 (b) CS 2 CS 2 6 C ESB: +4 DRM
+CTLS-4 (a) CS 2 CS 2 7 C Ru M† AllM 26†1 CMG: Port VCA NA | ESB: +4 DRM | 12: Immob, 11: Stall
+Marmon-Herrington III Armored Car (b) CS 4 CS 4 8 Ch F† 2 TK DR (MG) | ESB: +4 DRM | 12: Immob
+M3A1 Scout Car (a) CS 4 CS 4 9† D†1 AllM 34†2 MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | ESB: +4 DRM
+Braat Overvalwagen AA CS 4 CS 4 10†[1] Ch F† AllM AA†1 MA: 12.7 | ESB: +4 DRM | 12: Immob | MA: AA ok
+Braat Overvalwagen APC CS 5 CS 5 11†[2] D†1 Ch F† CMG: VCA only | Mounted Fire: Full FP | ESB: +4 DRM | 12: Immob
+Alvis-Straussler AC3D CS 4 CS 4 12†[1] D†2 Ru M† MA: 12.7 | ESB: +4 DRM | 12: Immob, 11: Stall
+PLA Wagen CS 5 CS 5 13†[1] AllM AA†1 Ch F† MA: 12.7 | ESB: +4 DRM | MA: AA ok | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1940.txt
index 67ae6c1..bba853e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1940.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1940 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- ------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1941.txt
index 6d38592..249df24 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1941.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1941 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- ------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1942.txt
index f6a8b62..c2cc0c2 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1942.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1942 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- ------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1943.txt
index 618affc..6e19a3f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1943.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1943 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- -------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1944.txt
index 46d45d8..45b54cf 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1944.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1944 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- -------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1945.txt
index 7a1840c..717061b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/italian/1945.txt
@@ -1,45 +1,45 @@
=== vehicles/italian/1945 ===
-Name Capabilities (effective) # Notes Comments
------------------ ------------------- ---------------- --- ------------------------------------------------- ----------
-L5/21 ® CS 2 ® CS 2 1† A†1
-L5/30 ® CS 2 ® CS 2 1† n/a
-L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R
-L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R
-L3 cc ® CS 2 ® CS 2 4† E J†1 N
-L3 Lf ® CS 2 ® CS 2 5† E†1 N
-L6/40 CS 2 CS 2 6† N R
-M11/39 ® CS 3 ® CS 3 7† A†1 N
-M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N
-M14/41 CS 4 CS 4 9† B†1 C†2 N
-M15/42 CS 4 CS 4 10† B†1 C†2
-MR/35(f) CS 2 CS 2 11† I†1
-SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N
-SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N
-SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C†
-SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1
-SMV M43 105/25 no IF H7 s8 CS 4 no IF H7 s8 CS 4 14 C†
-SMV L40 47/32 CS 3 CS 3 15† NT R
-SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1
-AS 42 CS 3 CS 3 17† L†1 M N
-AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1
-AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N
-Lince CS 2 CS 2 18 E
-Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1
-Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1
-Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1
-AB 40 CS 4 CS 4 21 A† I†1 N
-AB 41 CS 4 CS 4 21† N R
-Autoprot S37 CS 4 CS 4 22† R
-Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA†
-Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N
-Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1
-Autocann 90/53 CS 4 CS 4 24 D† N AA†1
-TL 37 cs 5 cs 5 25† L†1 M N R
-TM 40 cs 5 cs 5 25† L†1 M N R
-TP 32 cs 5 cs 5 25† L†1 M N R
-Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R
-Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R
-Autocarro L cs 6 cs 6 28† N R
-Autocarro M cs 7 cs 7 28† N R
-Autocarro P cs 7 cs 7 28† N R
+Name Capabilities (effective) # Notes Comments
+----------------- ------------------- -------------- --- ------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------
+L5/21 ® CS 2 ® CS 2 1† A†1 2 TK DR
+L5/30 ® CS 2 ® CS 2 1† n/a
+L3/35 ® CS 2 ® CS 2 2† A†1 B†1 E N R 2 TK DR | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 aa ® CS 2 ® CS 2 3† C E†2 F†1 N R BMG: CE Fire NA | BMG: Removal OK (dm MMG) | AAMG: VCA only | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L3 cc ® CS 2 ® CS 2 4† E J†1 N MA: CE use NA | Stun = Recall, CE & Fire NA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK
+L3 Lf ® CS 2 ® CS 2 5† E†1 N Trailer (AF 0) | Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+L6/40 CS 2 CS 2 6† N R
+M11/39 ® CS 3 ® CS 3 7† A†1 N B11: SA only | 2 TK DR
+M13/40 ®† CS 4 ®† CS 4 8† B†1 C†2 N AAMG: VCA only
+M14/41 CS 4 CS 4 9† B†1 C†2 N AAMG: VCA only
+M15/42 CS 4 CS 4 10† B†1 C†2 AAMG: VCA only
+MR/35(f) CS 2 CS 2 11† I†1 CMG: AA ok (TCA only) | CE: +1 Rear Turret & Indirect Fire | French ESB+
+SMV M40 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12 C†1 F† H†2 N AAMG: VCA only
+SMV M41 75/18 H7[S2+]†[2] s8 CS 3 H7†[2] s8 CS 3 12† C†1 H†2 N AAMG: VCA only
+SMV M42 75/18 H7 s8 CS 3 H7 s8 CS 3 13 C† AAMG: VCA only
+SMV M42 75/32 H7 s8 CS 3 H7 s8 CS 3 13† C†1 AAMG: VCA only
+SMV M43 105/25 H7 s8 CS 4 H7 s8 CS 4 14 C† No IF | AAMG: VCA only
+SMV L40 47/32 CS 3 CS 3 15† NT R Always CE
+SMV M41M 90/53 HE7 CS 5 HE7 CS 5 16† D†1 Same Location fire NA | CE: 0/+1 | MA: No Bnd (F)F, Motion Fire
+AS 42 CS 3 CS 3 17† L†1 M N As Truck | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+AS 42 aa CS 4 CS 4 17† G†1 L†2 M N AA†1 As Truck | MA: No Bnd (F)F, Motion Fire in VCA | Moves as AC [EXC: Hedge NA] | Reverse MP ×3 | MA: AA ok
+AS 42 cc CS 4 CS 4 17† G†1 J†1 L†2 M N As Truck | MA: No Bnd (F)F, Motion Fire in VCA | MA: ATR 12 [TH] | MA: Removal/Scrounge OK | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Lince CS 2 CS 2 18 E Stun = Recall, CE & Fire NA | BMG: HD Fire OK
+Lancia 1ZM ® CS 6 ® CS 6 19† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | Wire clearance | 2 TK DR | Reverse MP ×3
+Fiat 611A ® CS 5 ® CS 5 20† A†2 F†3 M†1 Rear MG: Removal OK (dm MMG) | 2 TK DR | Reverse MP ×3
+Fiat 611B ® HE7 CS 5 ® HE7 CS 5 20† F†2 M†1 Rear MG: Removal OK (dm MMG) | Reverse MP ×3
+AB 40 CS 4 CS 4 21 A† I†1 N Rear MG: AA ok (TCA only) | 2 TK DR
+AB 41 CS 4 CS 4 21† N R
+Autoprot S37 CS 4 CS 4 22† R As Armored HT | Moves as AC | Reverse MP ×4
+Autocann 20/65(b) CS 4 CS 4 23† G†1 N R AA† British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA | MA: AA ok
+Autocann 65/17(b) H7[S2+]†[2] CS 4 H7†[2] CS 4 23† G†1 H†2 N British for Hamm.Immob. & Sand Bog | MA: No Bnd (F)F, Motion Fire in VCA
+Autocann 75/27 AP7 CS 4 AP7 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+Autocann 90/53 CS 4 CS 4 24 D† N AA†1 MA: No Bnd (F)F, Motion Fire | MA: AA ok
+TL 37 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TM 40 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+TP 32 cs 5 cs 5 25† L†1 M N R Ammo: 4PP | Moves as AC [EXC: Hedge NA] | Reverse MP ×3
+Autocaretta cs 5†[1] cs 5†[1] 26† K†1 N R Inherent Crew if armed (with CS#)
+Fiat 508 MC cs 2†[1] cs 2†[1] 27† A†2 K†1 N R No Passengers | AAMG: VCA only | AAMG: Removal NA, Scrounge OK | Bog Assistance | 2 TK DR | Inherent Crew if armed (with CS#)
+Autocarro L cs 6 cs 6 28† N R
+Autocarro M cs 7 cs 7 28† N R
+Autocarro P cs 7 cs 7 28† N R
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1940.txt
index b46cbab..4645254 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1940.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1940 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ---------------- --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1941.txt
index ec9bce3..c869537 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1941.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1941 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ------------------ --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1942.txt
index b4177cd..a0d65ef 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1942.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1942 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ------------------ --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1943.txt
index 0043aa8..c7e4c44 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1943.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1943 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ------------------ --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1944.txt
index 2c799da..fdd1d67 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1944.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1944 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] sD5†[1] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ------------------ --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] sD5†[1] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1945.txt
index 19eb8d0..972ed03 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/japanese/1945.txt
@@ -1,55 +1,55 @@
=== vehicles/japanese/1945 ===
-Name Capabilities (effective) # Notes Comments
---------------------------------------- ---------------------- ---------------------- --- ------------------------------------------------ -----------------------------------------------------------------------------------------------------------
-Type 92A ® CS 3 ® CS 3 1† A†1
-Type 92B ® CS 3 ® CS 3 1† A†1
-Type 94 ® CS 2 ® CS 2 2† n/a
-Type 95 SO-KI ® CS 5 ® CS 5 3† n/a
-Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
-Type 97B TE-KE ® no IF CS 2 ® no IF CS 2 4† n/a
-Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] sD5†[1] CS 3 5† B†1 C†2
-Type 2 KA-MI CS 5† CS 5† 6† n/a
-Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
-Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1
-Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a
-Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
-Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
-Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
-Type 91 CS 6 CS 6 10† A†1
-Type 92 CS 4 CS 4 11† A†1
-Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
-Type 4 HO-RO no IF WP6 CS 5[brewup] no IF WP6 CS 5[brewup] 13† n/a
-Type 1 HO-KI cs 5 cs 5 14† n/a
-Type 98 SHI-KE cs 5 cs 5 15† n/a
-Type 92 I-KE cs 5 cs 5 16† n/a
-Type 95 cs 2 cs 2 17† n/a
-Type 94 cs 6 cs 6 18 n/a
-Type 97 cs 7 cs 7 18 n/a
-Vickers 8-in. Costal Defense Gun Turret 19† n/a
-FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† 1 MP minimum road movement rate, even if CE.
-NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† 1 MP minimum road movement rate, even if CE.
-Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H†
-VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1
-Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
-Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
-M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1
-Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A†
-Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
-Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Refer to Japanese Note 6 on Pontoons for amphibious data and wreck.
-Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
-Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Has 2 side FT with limited traverse. May remove wire as if a Dozer (B24.7).
-Type 2587(b) ® 2 TK DR's† CS 5 ® 2 TK DR's† CS 5 14† Ch F† REV x4
-Marmon-Herrington III(b) ® 2 TK DR's† CS 4 ® 2 TK DR's† CS 4 15† C Ch F†
-Type 1 Ho-Ha CS 5 CS 5 16† n/a 2MA&2&2
-M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† Refer to Allied Minor Vehicle Note 34 [EXC: does not come with an inherent HS].
-Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† The Inherent Crew is a 2-3-7 HS (D6.82). Refer to British Vehicle Note 64 for switching the BMG to an AAMG.
-Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
-Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
-M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M†
-Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
-Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
-Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
-Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF NA VCA MA: AA (Un)load: Portee
+Name Capabilities (effective) # Notes Comments
+--------------------------------------- ---------------------- ------------------ --- ------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Type 92A ® CS 3 ® CS 3 1† A†1
+Type 92B ® CS 3 ® CS 3 1† A†1 MA: CMG or BMG | BMG: 12,7 | BMG: AA ok (VCA only, HD ok, no AA mode) | Recall: Both MG disabled
+Type 94 ® CS 2 ® CS 2 2† n/a
+Type 95 SO-KI ® CS 5 ® CS 5 3† n/a MA: Normal Range = 8 | MA: Removal/Scrounge OK
+Type 97A TE-KE ® CS 2 ® CS 2 4† n/a
+Type 97B TE-KE ® CS 2 ® CS 2 4† n/a No IF
+Type 95 HA-GO ®†[2] sD5[4+]†[1] CS 3 ®†[2] sD5†[1] CS 3 5† B†1 C†2 Rear MG: 4:00 from MA
+Type 2 KA-MI CS 5† CS 5† 6† n/a Amphibious | Movement restrictions | Near misses
+Type 2 KA-MI (without pontoons) CS 5† CS 5† 6† n/a
+Type 89A CHI-RO ® CS 4 ® CS 4 7† A†1 AP TK# = 8
+Type 89B CHI-RO ® CS 4 ® CS 4 7† n/a Rear MG: 8:00 from MA | AP TK# = 8
+Type 97A CHI-HA ®†[2] sD5[1+]†[1] CS 4 ®†[2] sD5†[1] CS 4 8† B†1 C†2
+Type 97B CHI-HA sD5 CS 4 sD5 CS 4 8† n/a
+Type 1 CHI-HE sD5 CS 5 sD5 CS 5 9† n/a
+Type 91 CS 6 CS 6 10† A†1 BMG: Normal Range = 8 | Reverse MP ×3
+Type 92 CS 4 CS 4 11† A†1 Reverse MP ×4
+Type 1 HO-NI I WP5 CS 5 WP5 CS 5 12† n/a
+Type 4 HO-RO WP6 CS 5[brewup] WP6 CS 5[brewup] 13† n/a No IF
+Type 1 HO-KI cs 5 cs 5 14† n/a
+Type 98 SHI-KE cs 5 cs 5 15† n/a
+Type 92 I-KE cs 5 cs 5 16† n/a Ammo: 4PP
+Type 95 cs 2 cs 2 17† n/a Bog assistance
+Type 94 cs 6 cs 6 18 n/a
+Type 97 cs 7 cs 7 18 n/a
+Vickers 8-in. Costal Defense Gun Turret 19† n/a Always CE (+3 DRM) | As OT Armored Cupola | CC: As Immobile OT AFV [EXC: PAATC NA] | AP TK# = 19
+FT-17M Ko(f) ® CS 2 ® CS 2 1† A Fr C Ru M† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+FT-17C Ko(f) ® CS 2 ® CS 2 2† A B Fr C Ru M† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Immob, 11: Stall
+NC-27M Otsu(f) ® CS 2 ® CS 2 3† A Fr C Ge H† Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+NC-27C Otsu(f) ® CS 2 ® CS 2 4† A B Fr C Ge H† Road Rate NA | Red TH# | French ESB | CE: +1 Rear Turret & Indirect Fire | 12: Stall
+Type 88 LAV(b) ® CS 2 ® CS 2 5 A AllM D Ch H† British ESB | Stun = Recall, CE & Fire NA | Bog assistance
+VCL(b) ® CS 2 ® CS 2 6† A C Ru M†1 British ESB | 12: Immob, 11: Stall
+Type 98 Ke-Ni ® CS 3 ® CS 3 7† Jp C
+Type 2 Ke-To ® CS 3 ® CS 3 8† Jp C
+M3(a) ® CS 4 ® CS 4 9 A B C Jp A† US B†1 BMG: +1 DRM vs Moving/Motion | Red TH# | American ESB
+Stuart I(a) ® sD4 CS 4 ® sD4 CS 4 10 A B C Jp A† Red TH# | American ESB
+Type 97B Shi-Ki sD6 CS 4 sD6 CS 4 11† n/a Moved/Motion: Fire NA
+Type 3 Ka-Chi sD5 CS 5 sD5 CS 5 12 Jp 6† Amphibious | Movement restrictions
+Type 3 Ka-Chi (without pontoons) sD5 CS 5 sD5 CS 5 12 Jp 6†
+Armored Eng Veh SS ® sD7 CS 5 ® sD7 CS 5 13† n/a Wire removal
+Type 2587(b) ® CS 5 ® CS 5 14† Ch F† 2 TK DR (MG) | Reverse MP ×4 | 12: Immob
+Marmon-Herrington III(b) ® CS 4 ® CS 4 15† C Ch F† 2 TK DR (MG) | 12: Immob
+Type 1 Ho-Ha CS 5 CS 5 16† n/a {{2|MA|2*|2*}} | Independent AAMG's | Inherent Crew & Passenger | Crew: MA only
+M3A1 Scout Car(a) ® CS 4 ® CS 4 17 A C AllM 34†2 Jp A†1 Ch F† American ESB | MA: 12.7 | {{4|MA|2*}} | Inherent Crew | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50-cal MA only | MG Removal OK (dm .50-cal HMG & dm MMG) | 12: Immob
+Carrier A(b) ® CS 3 ® CS 3 18 A C Br Note 64† Inherent 2-3-7 Crew | Always CE | BMG: AA ok | British ESB
+Type 2 Ho-I WP5 sD5 CS 5 WP5 sD5 CS 5 19 n/a
+Type 1 Ho-Ni II H5 CS 5 H5 CS 5 20† n/a
+M3 75 SPA(a) ® CS 4 ® CS 4 21 B C US U Ru M† Red TH# | CE: +3 Front | 12: Immob, 11: Stall
+Type 97B Chi-Ha H9 CS 4 H9 CS 4 22 n/a
+Type 3 Ho-Ni III WP5 CS 5 WP5 CS 5 23 n/a
+Type 97 AA Truck CS 7 CS 7 24† n/a MA: AA
+Type 98 MCT CS 5 CS 5 25 Br H Ge A† Bnd FF & Motion Fire NA VCA | MA: AA | (Un)load: Portee | Inherent Infantry Crew
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1950.txt
index cb1c6c2..33b0127 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1950.txt
@@ -1,11 +1,11 @@
=== vehicles/kfw-kpa/1950 ===
Name Capabilities (effective) # Notes Comments
-------- --------------- --------------- --- ------- ----------
-T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a
+------- --------------- --------------- --- ------- ----------------------
+T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a sD: single-use
SU-76M A7 CS 4[brewup] A7 CS 4[brewup] 2† n/a
-BA-64B CS 2 CS 2 3† B
-GAZ-67B cs 2 cs 2 4† B
+BA-64B CS 2 CS 2 3† B MA: AA ok | BU Fire NA
+GAZ-67B cs 2 cs 2 4† B Bog assistance
GAZ-MM cs 6 cs 6 4† B
ZIS-5 cs 7 cs 7 4† B
IAG-6 cs 7 cs 7 4† B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1951.txt
index f563839..d21caa7 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1951.txt
@@ -1,11 +1,11 @@
=== vehicles/kfw-kpa/1951 ===
Name Capabilities (effective) # Notes Comments
-------- --------------- --------------- --- ------- ----------
-T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a
+------- --------------- --------------- --- ------- ----------------------
+T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a sD: single-use
SU-76M A7 CS 4[brewup] A7 CS 4[brewup] 2† n/a
-BA-64B CS 2 CS 2 3† B
-GAZ-67B cs 2 cs 2 4† B
+BA-64B CS 2 CS 2 3† B MA: AA ok | BU Fire NA
+GAZ-67B cs 2 cs 2 4† B Bog assistance
GAZ-MM cs 6 cs 6 4† B
ZIS-5 cs 7 cs 7 4† B
IAG-6 cs 7 cs 7 4† B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1952.txt
index e665ee4..e9a430a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1952.txt
@@ -1,11 +1,11 @@
=== vehicles/kfw-kpa/1952 ===
Name Capabilities (effective) # Notes Comments
-------- --------------- --------------- --- ------- ----------
-T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a
+------- --------------- --------------- --- ------- ----------------------
+T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a sD: single-use
SU-76M A7 CS 4[brewup] A7 CS 4[brewup] 2† n/a
-BA-64B CS 2 CS 2 3† B
-GAZ-67B cs 2 cs 2 4† B
+BA-64B CS 2 CS 2 3† B MA: AA ok | BU Fire NA
+GAZ-67B cs 2 cs 2 4† B Bog assistance
GAZ-MM cs 6 cs 6 4† B
ZIS-5 cs 7 cs 7 4† B
IAG-6 cs 7 cs 7 4† B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1953.txt
index 7c7d565..80c1a77 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-kpa/1953.txt
@@ -1,11 +1,11 @@
=== vehicles/kfw-kpa/1953 ===
Name Capabilities (effective) # Notes Comments
-------- --------------- --------------- --- ------- ----------
-T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a
+------- --------------- --------------- --- ------- ----------------------
+T-34/85 A6 sD6† CS 6 A6 sD6† CS 6 1† n/a sD: single-use
SU-76M A7 CS 4[brewup] A7 CS 4[brewup] 2† n/a
-BA-64B CS 2 CS 2 3† B
-GAZ-67B cs 2 cs 2 4† B
+BA-64B CS 2 CS 2 3† B MA: AA ok | BU Fire NA
+GAZ-67B cs 2 cs 2 4† B Bog assistance
GAZ-MM cs 6 cs 6 4† B
ZIS-5 cs 7 cs 7 4† B
IAG-6 cs 7 cs 7 4† B
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1950.txt
index ba0e7b8..e4825c8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1950.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-ounc/1950 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1951.txt
index 8852e43..90320d4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1951.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-ounc/1951 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1952.txt
index 360de2c..60521d9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1952.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-ounc/1952 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1953.txt
index 615330f..24c73d4 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-ounc/1953.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-ounc/1953 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1950.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1950.txt
index 6bc5414..087a7ba 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1950.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1950.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-rok/1950 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1951.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1951.txt
index 3e29e81..61e125c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1951.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1951.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-rok/1951 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1952.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1952.txt
index 84f4b25..a77f6c5 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1952.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1952.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-rok/1952 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1953.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1953.txt
index b18f217..aa20891 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1953.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/kfw-rok/1953.txt
@@ -1,49 +1,49 @@
=== vehicles/kfw-rok/1953 ===
Name Capabilities (effective) # Notes Comments
------------------ ------------------------ --------------------- --- ------------------------------------------------------------------ ----------
-M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y
-M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P
+----------------- ------------------------ --------------------- --- ------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+M24 WP7 s5 sM8 CS 5 WP7 s5 sM8 CS 5 1† O Y Multiple Hits
+M4A3E8 A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 2† A†1 P ∞ A
M4A3E8(105) C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 3† C M
-M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT†
-M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1
-POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M
-M32A1B3 TRV CS 6 CS 6 6† K M P
-M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M
+M4A3E8 Dozer A†[1] s5 sM8 CS 6 A†[1] s5 sM8 CS 6 4 A†1 TT† ∞ A | Front-hull hit: +2 TH DRM (unless level < firer)
+M4A3E8(105) Dozer C7 H9 WP9 s7 sM8 CS 6 C7 H9 WP9 s7 sM8 CS 6 4† C M TT†1 Front-hull hit: +2 TH DRM (unless level < firer)
+POA-CWS-H5 C5 sM8 CS 6 C5 sM8 CS 6 5† C M TCA restrictions | CE: MA, SA Fire NA | Fire MA & SA NA
+M32A1B3 TRV CS 6 CS 6 6† K M P Front turret AF = 4 | (Un)load: 2 MF | May tow vehicles | Bog assistance
+M26A1 A†[1] WP6[M51+]†[2] CS 6 A†[1] WP6†[2] CS 6 7† A†1 J†2 M ∞ A
M45 H7 WP9 s7 CS 6 H7 WP9 s7 CS 6 8 n/a
-M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1
-M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU
-M38A1C Jeep H† CS 2 H† CS 2 11† n/a
-M3 CS 5 CS 5 12† K Y
-M3(MMG) CS 5 CS 5 13† E† H K Y
-M3(HMG) CS 5 CS 5 13† E† H K Y
-M19A1 MGMC CS 4 CS 4 14† AA†1
-M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1
-M15 Special CS 4 CS 4 16† AA†2 DD†1
-M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1
-M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1
-M39 AUV CS 6 CS 6 19† G†1 M
-M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a
+M46 A†[2] WP6[M51+]†[3] CS 6 A†[2] WP6†[3] CS 6 9† A†2 J†3 M FF†1 ∞ A
+M36B2 GMC(a) A† sP5 CS 7 A† sP5 CS 7 10 A† K UU ∞ A | American ESB+
+M38A1C Jeep H† CS 2 H† CS 2 11† n/a MA: RCL (crew only) | Red TH# | No Bnd FF, Motion Fire | Rear VCA NA | ∞ H | HEAT TK# = 25
+M3 CS 5 CS 5 12† K Y MA: As MMG for TK & Removal
+M3(MMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|4*|4*}} | MG Removal OK (dm .50-cal HMG, dm MMG) | Crew: .50-cal MA only | Independent AAMG's
+M3(HMG) CS 5 CS 5 13† E† H K Y Inherent Crew & Passenger | MA: 12.7 | {{4|MA|6*|6*}} | MG Removal OK (dm .50-cal HMG, dm HMG) | Crew: .50-cal MA only | Independent AAMG's
+M19A1 MGMC CS 4 CS 4 14† AA†1 MA: VCA < level NA | Trailer (0 AF) | MA & CMG: AA ok
+M15A1 MGMC CS 4 CS 4 15† O V†1 Y AA†2 DD†1 CMG: Normal Range = 16 | CMG Removal NA | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M15 Special CS 4 CS 4 16† AA†2 DD†1 CE: +1 | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16 MGMC CS 4 CS 4 17† F†1 V†1 Y AA†2 DD†1 CE: +1 Side/Rear Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M16A1 MGMC CS 5 CS 5 18† F†1 V†1 AA†2 DD†1 CE: +3 Front Turret | 4 TK DR | [16] TH | MA & CMG: Removal/Scrounge NA | MA & CMG: AA ok | MA & CMG: VCA ≤ level NA
+M39 AUV CS 6 CS 6 19† G†1 M MA: 12.7
+M39 MC WP8 CS 5[brewup] WP8 CS 5[brewup] 19† n/a Inherent Infantry Crew | MA Removal OK (dm M1(L) 81mm Mortar)
M7 HMC C7 H7 WP8 s7 CS 7 C7 H7 WP8 s7 CS 7 20† C Y
M37 HMC H9 WP9 s7 CS 7 H9 WP9 s7 CS 7 21 n/a
-M41 HMC no IF WP8 s7 CS 9 no IF WP8 s7 CS 9 22† S†1
-M40 GMC no IF AP4 WP8 s7 CS 9 no IF AP4 WP8 s7 CS 9 23 S†
-M43 HMC no IF CS 9 no IF CS 9 23 S†
-LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2
-LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T†
-LVT3 CS 7 CS 7 25† D† H M T†1 X†2
-LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB†
-M75 CS 6 CS 6 26 G† BB†1
-M29 Weasel CS 3 CS 3 27† B†1 M T†1
-M29C Weasel CS 3 CS 3 28† B†1 M T†1
-M4 hst CS 6 CS 6 29 G† Y
-DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y
-TACP Jeep CS 2† CS 2† 31† L†1 M
-7½-Ton CS 7 CS 7 32 Y
-Searchlight Truck CS 7† CS 7† 33† n/a
-M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU
-M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU
-M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU
-¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU
+M41 HMC WP8 s7 CS 9 WP8 s7 CS 9 22† S†1 No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M40 GMC AP4 WP8 s7 CS 9 AP4 WP8 s7 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+M43 HMC CS 9 CS 9 23 S† No IF | Limbered: Fire NA | Unlimbered: RFNM, always CE (0/+1 DRM)
+LVT(A)5 C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24† H T†1 X†2 AAMG: 4&4; NA opposite side | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT(A)5m C7 H8 WP8 CS 6 C7 H8 WP8 CS 6 24 M T† Bog: 0 DRM for soft, mud, snow-covered ground
+LVT3 CS 7 CS 7 25† D† H M T†1 X†2 {{6|MA|4*}} (optional) | MG VCA only | MA: 12.7 | CE: +3 Front | (Un)load: must be CE, Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Independent AAMG's | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK
+LVT3C CS 7 CS 7 25† D† M T†1 X†2 BB† MA: Rear VCA < level NA | (Un)load: Rear unarmored | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Bog: 0 DRM for soft, mud, snow-covered ground | BMG: HD Fire OK | Pas: Always BU
+M75 CS 6 CS 6 26 G† BB†1 MA: 12.7 | Pas: Always BU
+M29 Weasel CS 3 CS 3 27† B†1 M T†1 Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M29C Weasel CS 3 CS 3 28† B†1 M T†1 Bog Checks NA for Marsh, Mudflat, Swamp | Bog Checks NA in Mud, Deep Snow, Drift, Sand, Rice Paddies | Bog: 0 DRM for soft, mud, snow-covered ground
+M4 hst CS 6 CS 6 29 G† Y MA: 12.7
+DUKW CS 7†[1] CS 7†[1] 30† D†2 M Q†1 Y AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#)
+TACP Jeep CS 2† CS 2† 31† L†1 M Inherent Crew | Morale 8 | (Un)load: 1 MF | Contact: 10 | Radio: R2, X6 | Bog assistance
+7½-Ton cs 7 cs 7 32 Y
+Searchlight Truck CS 7† CS 7† 33† n/a Inherent Crew | IB VCA NA | Reliability DR: 10 | Sighting TC
+M3A1 CS 5 CS 5 54† E† H K Y Z†1 UU MA: 12.7 | {{4|MA|2*}} | AAMG Removal OK (dm .50-cal HMG, dm MMG) | BAZ | Crew: .50-cal MA only | Independent AAMG's | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M20 sP5 CS 4 sP5 CS 4 55† D†4 K Q†2 W†1 Y Z†3 UU MA: 12.7 | BAZ | AAMG Removal OK (.50-cal HMG) | (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Reverse MP ×4 | BAZ/PIAT Removal by crew/passenger only, or Scrounge.
+M8 C7 sP5 CS 4 C7 sP5 CS 4 56† C K W†1 Y UU Reverse MP ×4
+¼-Ton Jeep cs 2†[1] cs 2†[1] 57† K L†2 M N O P Q†1 Y UU Bog assistance | Inherent Crew if armed (with CS#)
¾-Ton cs 4 cs 4 57† K N O Y UU
2½-Ton cs 7 cs 7 57† K M N O P Y UU
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1940.txt
index feea5fe..9d0fc4c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1940.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1940 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1941.txt
index c1d9f95..d717e7f 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1941.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1941 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1942.txt
index 0a2c669..7733ee9 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1942.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1942 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1943.txt
index f4c71bc..70ff43a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1943.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1943 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1944.txt
index 1f0631f..89e2603 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1944.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1944 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1945.txt
index ffa0eb8..1975310 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/polish/1945.txt
@@ -1,33 +1,33 @@
=== vehicles/polish/1945 ===
Name Capabilities (effective) # Notes Comments
------------------ ----------------- ----------------- ----- --------------------------------------------- --------------------
-TKS ® CS 2 ® CS 2 1† D
-TKS(L) ® CS 2 ® CS 2 1† D
-Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1
-Vickers Ejw(b) ® CS 3 ® CS 3 2 A
-7TPdw ® CS 3 ® CS 3 3† K†1
+----------------- ----------------- ----------------- ----- --------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------
+TKS ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKS(L) ® CS 2 ® CS 2 1† D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+Vickers Edw(b) ® CS 3 ® CS 3 2† A K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK | British ESB+
+Vickers Ejw(b) ® CS 3 ® CS 3 2 A British ESB+
+7TPdw ® CS 3 ® CS 3 3† K†1 2× MA | Turret Knock-Out: Non-HE TK = Final TK
7TPjw CS 3 CS 3 3 n/a
-H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F
-Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G†
-wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a
+H35(f) ® AP10 CS 2 ® AP10 CS 2 4 A E† F French ESB+ | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
+Peugeot 1918(f) ® CS 4 ® CS 4 5 A D G† French ESB+ | Stun = Recall, CE & Fire NA | Reverse MP ×4
+wz.29 "Ursus" ® CS 5 ® CS 5 6† n/a BMG: Rear VCA only | CMG: Left Rear TCA only
wz.34-I ® CS 2 ® CS 2 7 n/a
wz.34-II ® CS 2 ® CS 2 7 n/a
-De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2
-PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3
-302T CS 3 CS 3 10† n/a
+De Dion-Bouton(f) CS 7 CS 7 8† A Q†1 AA†2 Rear TF NA | TCA restrictions | Reverse MP ×2 | Needs Ammo Vehicle/Dump | French ESB+ | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+PF 621L SPAA CS 5 CS 5 9† G†1 Q†2 AA†3 Rear TF NA | TCA restrictions | Reverse MP ×4 | MA: No Bnd (F)F, Motion Fire | MA: AA ok
+302T CS 3 CS 3 10† n/a MA: No Bnd (F)F, Motion Fire in VCA | AAMG Removal OK (6 FP dm HMG)
C2P cs 4 cs 4 11 n/a
C4P cs 5 cs 5 12 n/a
-"Taczanka" cs 3 cs 3 13† Q†1
-TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D
-FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA
-FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA +4 ESB
-TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall
-TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall
-H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C
+"Taczanka" cs 3 cs 3 13† Q†1 Crew Passenger | Horse-Drawn | Wreck Check: dr 6 = elim | AAMG: [{ *:Fired by Passenger *:Fire VCA NA *:No Removal/Scrounge }] | MA: No Bnd (F)F, Motion Fire
+TKS-AA ® CS 2 ® CS 2 1†[2] A†1 C† AllM D 12: Immob, 11: Stall | Only one MG per Player Turn [{ *:BMG: BU only *:AAMG: CE only *:ROF 1 }] | Stun = Recall, CE & Fire NA
+FT-18C (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 2† B D†1 Fr C Road Rate NA | French ESB | CE: +1 Rear Turret & Indirect Fire
+FT-17K (f) ® AP9 C5†[1] CS 2 ® AP9 C5†[1] CS 2 3† B D†1 Fr C Road Rate NA | French ESB | +4 ESB | CE: +1 Rear Turret & Indirect Fire
+TKS-D ® CS 2 ® CS 2 4 C† AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+TKD ® C5†[1] CS 2 ® C5†[1] CS 2 5†[1] C† D†1 AllM D 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+H39(f) ® AP10 CS 2 ® AP10 CS 2 6 B Fr A† Fr C French ESB | CMG: AA ok (TCA only) | CMG: Scrounge OK | CE: +1 Rear Turret & Indirect Fire
7TPjw(L) CS 3 CS 3 7 n/a
wz. 34 Half Track cs 6 cs 6 8 n/a
wz. 34 C4P cs 5 cs 5 9 n/a
PF621L cs 6 cs 6 10 n/a
-PF621L AAtr CS 6 CS 6 11† n/a MA: AA
-Praga RV CS 7 CS 7 12 n/a
+PF621L AAtr CS 6 CS 6 11† n/a MA: AA ok
+Praga RV cs 7 cs 7 12 n/a
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1940.txt
index 246046f..d332e39 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1940.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1940 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1941.txt
index 9c9c2f3..5cb8045 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1941.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1941 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1942.txt
index c9e2835..7913293 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1942.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1942 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1943.txt
index 2184c89..c3d7608 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1943.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1943 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1944.txt
index 085c876..5d24bef 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1944.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1944 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1945.txt
index 6381805..c7b6453 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/romanian/1945.txt
@@ -1,12 +1,12 @@
=== vehicles/romanian/1945 ===
Name Capabilities (effective) # Notes Comments
--------------- -------------- ------------- --- ------------------ ----------
-R-1(t) ® CS 2 ® CS 2 1† E
-R-35/45(f) ® CS 2 ® CS 2 2 D
-TACAM T-60(r) CS 3 CS 3 3† E
-TACAM T-60A(r) CS 3 CS 3 3† E
-TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N
-BA-6(r) ® CS 4 ® CS 4 5† E
-BA-20(r) ® CS 3 ® CS 3 5† E
-Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J
+-------------- -------------- ------------- --- ------------------ --------------------------------------------------------------------------------------------------------------
+R-1(t) ® CS 2 ® CS 2 1† E BMG: Starboard VCA only | Czech ESB
+R-35/45(f) ® CS 2 ® CS 2 2 D CE: +1 Rear Turret & Indirect Fire
+TACAM T-60(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM T-60A(r) CS 3 CS 3 3† E AP TK# = 16 | Russian ESB
+TACAM R-2(r) AP5 CS 3 AP5 CS 3 4† E N AP TK# = 13 | Russian ESB | ESB: +1 DRM | Red TH#
+BA-6(r) ® CS 4 ® CS 4 5† E Russian ESB
+BA-20(r) ® CS 3 ® CS 3 5† E Russian ESB
+Malaxa UE2 cs 2†[1] cs 2†[1] 6† F I†1 J Pas: 1 PP, always CE | Stun = Recall, CE & Fire NA | Inherent Crew if armed (with CS#) | Unpossessed SW ok
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1940.txt
index dac8d58..27c09cd 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1940.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1940 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Red TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Red TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Red TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Red TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1941.txt
index 4c99ef9..19688c8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1941.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1941 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Red TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Red TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Red TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Red TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1942.txt
index f8fad0f..148dbbc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1942.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1942 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® A4 CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† A4 CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF A2 AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† A2 AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 A4 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 A4 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® A4 CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® A4 CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Red TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Red TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Red TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Red TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® A4 C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1943.txt
index 2f31f5a..44fb45b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1943.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1943 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® A4 CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† A4 CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF A2 AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† A2 AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 A4 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 A4 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 A4 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 A4 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] A5 CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 A5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 A5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 A5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® A4 CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® A4 CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Red TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Red TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Red TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Red TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | Red TH# | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Red TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing NA | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing NA | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® A5 C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1944.txt
index d0ea793..460bf9b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1944.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1944 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® A4 CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† A4 CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF A2 AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† A2 AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 A4 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 A5 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 A3 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 A5 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 A3 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 A4 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 A5 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 A5 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] A5 CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 A5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 A5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 A5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® A4 CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® A4 CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 HE8† sD6 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Black TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Black TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Black TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Black TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 HE8† sD6 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Black TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Black TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® A5 C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1945.txt
index 65da51f..63ff627 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/russian/1945.txt
@@ -1,120 +1,120 @@
=== vehicles/russian/1945 ===
Name Capabilities (effective) # Notes Comments
--------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -----------------------------------------
-T-37 ® CS 2 ® CS 2 1 H† M
-T-27 ® CS 2 ® CS 2 1.1† M Q
-T-40 ® CS 2 ® CS 2 2† H†
+-------------------- ------------------------------------------- ----------------------- ------ --------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+T-37 ® CS 2 ® CS 2 1 H† M +3 Target Size & HD if in Water | 12: Immob, 11: Stall
+T-27 ® CS 2 ® CS 2 1.1† M Q Riders: 1 crew, 1 SMC only (NA if Towing) | 12: Immob, 11: Stall | Stun = Recall, CE & Fire NA
+T-40 ® CS 2 ® CS 2 2† H† 2 TK DR (12.7 & MG) | +3 Target Size & HD if in Water
T-50 ® A4[2] CS 4 ® A4 CS 4 3 n/a
T-60 M40 ® CS 2 ® CS 2 4 n/a
T-60 M42 ®† CS 2 ®† CS 2 4 C†
T-70 ®† A4[2] CS 2 ®† A4 CS 2 5 C†
-T-26 M33 ® CS 3 ® CS 3 6 D I† M P
-T-26 M37/39 ® CS 3 ® CS 3 6 D M P
-T-26 M31 ® CS 3 ® CS 3 6.1† M P
-T-26 M32 ® CS 3 ® CS 3 6.2† M P
-OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P
-ST-26 Bridgelayer CS 3 CS 3 6.4† M
-OT-133 ® CS 3 ® CS 3 7† M P
-BT-2A ® CS 3 ® CS 3 7.1† M
-BT-5 M34 ® CS 3 ® CS 3 8† M P
-BT-7 M37 ® CS 3 ® CS 3 9 D I† M P
-BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P
-T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M
-T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M
-T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M
-T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M
-T-34 M40 ® CS 5 ® CS 5 13 M
-T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M
-OT-34 ®† no IF A2[2] AP7 CS 4 ®† no IF A2 AP7 CS 4 15† C† M
+T-26 M33 ® CS 3 ® CS 3 6 D I† M P 12: Immob, 11: Stall
+T-26 M37/39 ® CS 3 ® CS 3 6 D M P 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 6.1† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+T-26 M32 ® CS 3 ® CS 3 6.2† M P CMG: Scrounge OK | 12: Immob, 11: Stall
+OT-26 ® CS 3[brewup] ® CS 3[brewup] 6.3† M P 12: Immob, 11: Stall
+ST-26 Bridgelayer CS 3 CS 3 6.4† M VBM NA (with bridge) | TCA restrictions | Riders NA | 12: Immob, 11: Stall
+OT-133 ® CS 3 ® CS 3 7† M P 12: Immob, 11: Stall
+BT-2A ® CS 3 ® CS 3 7.1† M CMG: 2:00 from MA | 12: Immob, 11: Stall
+BT-5 M34 ® CS 3 ® CS 3 8† M P 12: Immob, 11: Stall
+BT-7 M37 ® CS 3 ® CS 3 9 D I† M P 12: Immob, 11: Stall
+BT-7A AP7 s9 CS 3 AP7 s9 CS 3 10 M P 12: Immob, 11: Stall
+T-28 M34 ® s8 CS 5 ® s8 CS 5 11† M 12: Immob, 11: Stall
+T-28 M34(L) ® s8 CS 5 ® s8 CS 5 11.1† M 12: Immob, 11: Stall
+T-28E M40 ® s8 CS 6 ® s8 CS 6 12† M 12: Immob, 11: Stall
+T-28E M40(L) ® s8 CS 6 ® s8 CS 6 12.1† M 12: Immob, 11: Stall
+T-34 M40 ® CS 5 ® CS 5 13 M 12: Immob, 11: Stall
+T-34 M41 ®† A4[2] CS 5 ®† A4 CS 5 14† C† M 12: Immob, 11: Stall
+OT-34 ®† A2[2] AP7 CS 4 ®† A2 AP7 CS 4 15† C† M No IF | 12: Immob, 11: Stall
T-34 M43 A4[2] CS 5 A4 CS 5 16† n/a
-T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M
-T-34/85 A5[4] sD6† CS 6 A5 sD6† CS 6 18† J†
-M4/76(a) A3[4] s8 sM8 CS 6 A3 s8 sM8 CS 6 19† N
-T-44 A6[5] CS 5 A6 CS 5 20 B† M
-T-35 ® s9 CS 8 ® s9 CS 8 21† M
-SMK CS 7 CS 7 21.1 M T†
-T-100 CS 7 CS 7 22.1 M T†
-KV-1 M39/40 CS 6 CS 6 22† M
-KV-1E CS 6 CS 6 23 D M
-KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M
-KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M
-KV-2 no IF AP9 CS 7 no IF AP9 CS 7 24† M
-KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† D M
+T-43 ®† A4[2] CS 5 ®† A4 CS 5 17 C† M 12: Immob, 11: Stall
+T-34/85 A5[4] sD6† CS 6 A5 sD6† CS 6 18† J† sD: single-use
+M4/76(a) A3[4] s8 sM8 CS 6 A3 s8 sM8 CS 6 19† N Black TH# | U.S. AP & APCR TK #'s | American ESB
+T-44 A6[5] CS 5 A6 CS 5 20 B† M BMG: +1 DRM vs Moving/Motion | 12: Immob, 11: Stall
+T-35 ® s9 CS 8 ® s9 CS 8 21† M 45L SA: Always BU; No TCA Change DRM; No IF | 12: Immob, 11: Stall
+SMK CS 7 CS 7 21.1 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+T-100 CS 7 CS 7 21.2 M T† 12: Immob, 11: Stall | 76 MA: RST | 45L SA: RST; Always BU; No IF | TCA restrictions
+KV-1 M39/40 CS 6 CS 6 22† M 12: Immob, 11: Stall
+KV-1E CS 6 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M41 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-1 M42 A4[2] CS 6 A4 CS 6 23 D M 12: Immob, 11: Stall
+KV-2 AP9 CS 7 AP9 CS 7 24† M Pays NT TCA DRM | No IF | 12: Immob, 11: Stall
+KV-8 A4[2] AP7 CS 6 A4 AP7 CS 6 15† C M 12: Immob, 11: Stall
KV-1S A4[2] CS 6 A4 CS 6 25† n/a
-KV-85 A4[3]5[4] CS 5 A5 CS 5 26 B†
-IS-2 no IF CS 6 no IF CS 6 27 B†
-IS-2m no IF CS 6 no IF CS 6 28 B† G†
-IS-3 no IF sD6† CS 6 no IF sD6† CS 6 29 G† J†
+KV-85 A4[3]5[4] CS 5 A5 CS 5 26 B† BMG: +1 DRM vs Moving/Motion
+IS-2 CS 6 CS 6 27 B† No IF | BMG: +1 DRM vs Moving/Motion
+IS-2m CS 6 CS 6 28 B† G† No IF | BMG: +1 DRM vs Moving/Motion
+IS-3 sD6† CS 6 sD6† CS 6 29 G† J† No IF | sD: single-use
SU-76M A5[3] CS 4[brewup] A5 CS 4[brewup] 30† n/a
-SU-76i(g) A5[3] CS 5 A5 CS 5 31 K
-SU-122 no IF H9 s8 CS 5 no IF H9 s8 CS 5 32 n/a
-SU-152 no IF CS 6 no IF CS 6 33† n/a
-ISU-122 no IF s8 CS 6 no IF s8 CS 6 34 G†
-ISU-152 no IF CS 6 no IF CS 6 34 G†
+SU-76i(g) A5[3] CS 5 A5 CS 5 31 K German ESB | Red TH#
+SU-122 H9 s8 CS 5 H9 s8 CS 5 32 n/a No IF
+SU-152 CS 6 CS 6 33† n/a No IF
+ISU-122 s8 CS 6 s8 CS 6 34 G† No IF
+ISU-152 CS 6 CS 6 34 G† No IF
SU-85 A5[3] HE7 s7 CS 5 A5 HE7 s7 CS 5 35 n/a
SU-100 HE7 CS 5 HE7 CS 5 36 n/a
-SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K
+SU-57(a) A5[3] HE7 CS 4 A5 HE7 CS 4 37 K American ESB | Red TH#
BA-20 ® CS 3 ® CS 3 38 n/a
BA-6 ® A4[2] CS 4 ® A4 CS 4 39 n/a
-BA-64B CS 2 CS 2 40† A†
-ZSU-37 CS 4 CS 4 41† A†
-SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F†
-GAZ-4M-AA CS 4 CS 4 43† A†
-ZIS-42-AA CS 4 CS 4 44 A† F†
+BA-64B CS 2 CS 2 40† A† BU Fire NA | MA & CMG: AA ok
+ZSU-37 CS 4 CS 4 41† A† Pays NT CA DRM | MA & CMG: AA ok
+SU-12 AP7 s8 CS 4 AP7 s8 CS 4 42 F† MA: VCA ≤ level NA
+GAZ-4M-AA CS 4 CS 4 43† A† 4 TK DR | AAMG: Removal/Scrounge NA | MA & CMG: AA ok
+ZIS-42-AA CS 4 CS 4 44 A† F† MA & CMG: AA ok | MA: VCA ≤ level NA
LANO AT ® A4[2+] CS 5 ® A4 CS 5 44.1 n/a
-LANO AA ® CS 5 ® CS 5 44.2† A†1
-IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F†
-GAZ-67B CS 2 CS 2 46 L†
-Komsomolet CS 2† CS 2† 46.1† n/a
+LANO AA ® CS 5 ® CS 5 44.2† A†1 CE: +1 Front & Indirect Fire | VCA Target Facing & CE DRM | MA & CMG: AA ok
+IAG-10-AA AP7 CS 4 AP7 CS 4 45 A† F† No Bnd (F)F | MA & CMG: AA ok | MA: VCA ≤ level NA
+GAZ-67B CS 2 CS 2 46 L† Bog assistance
+Komsomolet CS 2† CS 2† 46.1† n/a Inherent Crew if armed (with CS#) | Pas: CE; +1 VCA | Unpossessed SW ok | Stun = Recall, CE & Fire NA
STZ-3 cs 4 cs 4 46.2 n/a
STZ-5 cs 7 cs 7 46.3 n/a
GAZ-MM cs 6 cs 6 47 n/a
ZIS-5 cs 7 cs 7 47 n/a
IAG-6 cs 7 cs 7 47 n/a
-NKL-6 CS 2† CS 2† 47.1† S†1
-NKL-16 cs 2 cs 2 47.1† S†1
-NKL-26 CS 2 CS 2 47.2† Q S†1
-RF-8-GAZ-98 CS 3 CS 3 47.3† S†1
-Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL
-Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL
-Sherman III(a) WP6[J4+]† s8 CS 5[brewup] WP6† s8 CS 5[brewup] 50† N O R†1 LL
-Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL
-Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL
-Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL
-Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL
-Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL
-Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 D7† HE8† sD6 sM8† CS 7 53† N LL
-M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL
-M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL
-M9(a) cs 4†[1] cs 4†[1] 55 Br A Br I†1 Br N LL
-M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL
-Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL
-Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL
-Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL
-Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 57 Br U†2 Br BB†1 LL
-Jeep(a) cs 2 cs 2 58 H† L†1 LL
-¾-Ton Truck(a) cs 4 cs 4 n/a Br A Br N LL
-1½-Ton Truck(a) cs 6 cs 6 n/a Br A Br N LL
-2½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-7½-Ton Truck(a) cs 7 cs 7 n/a Br A Br N LL
-DUKW cs 7†[1] cs 7†[1] n/a US D†3 US O†2 US CC†1 LL
-BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA
-BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1
-BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG)
-OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M†
-T-26 M31 ® CS 3 ® CS 3 5† Ru M†1
-T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37*: Stbd MG: Port
-T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 C4 applies if equipped with optional CMG.
-T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M†
-T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M†
-BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1
-BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1
-T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1
-BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1
+NKL-6 CS 2† CS 2† 47.1† S†1 Inherent Crew if armed (with CS#) | Rear VCA & Aerial NA
+NKL-16 cs 2 cs 2 47.1† S†1 Rear VCA & Aerial NA
+NKL-26 CS 2 CS 2 47.2† Q S†1 Rear VCA & Aerial NA | Stun = Recall, CE & Fire NA
+RF-8-GAZ-98 CS 3 CS 3 47.3† S†1 R/S VCA & Aerial NA
+Stuart III(a) C6 CS 4 C6 CS 4 48 N O LL American ESB | Black TH# | Lend-Lease
+Lee(a) C4† s8† CS 7 C4† s8† CS 7 49† B†1 N O LL 37LL MA: T | 75 SA: NT (bow-mounted) | Canister: 37LL MA only | Smoke: 75 SA only | AAMG: BU Fire OK (vs Aerial NA, CC ok) | BMG: +1 DRM vs Moving/Motion | American ESB | Black TH# | Lend-Lease
+Sherman III(a) WP6[J4+]† s8 CS 5[brewup] WP6† s8 CS 5[brewup] 50† N O R†1 LL American ESB | Multiple Hits | Black TH# | Lend-Lease
+Sherman III(L)(a) WP7 s5 sM8 CS 6[brewup] WP7 s5 sM8 CS 6[brewup] 50.1 N O R† LL American ESB | Multiple Hits | Black TH# | Lend-Lease
+Matilda II(b) sD6 CS 5 sD6 CS 5 51† M†1 N LL Immob: dr ≤ 3 [EXC: mines, Direct Fire vs front/rear] | Mech.Reliability if Deep Snow or Extreme Winter | British ESB | Black TH# | Lend-Lease
+Valentine II(b) sM8 CS 4 sM8 CS 4 52 Br N LL Black TH# | Lend-Lease
+Valentine V(b) sM8 CS 4 sM8 CS 4 52.1† Br K†1 Br NT LL Black TH# | Lend-Lease
+Valentine VIII(b) HE7 sD6 CS 4 HE7 sD6 CS 4 52.2† Br NT LL Black TH# | Lend-Lease
+Churchill III(b) D6[J4]7[5]† HE7[F3]8[4+]† sD6[4+] sM8† CS 7 D7† HE8† sD6 sM8† CS 7 53† N LL Steep climbs | British ESB | Black TH# | Lend-Lease
+M3A1 Scout Car(a) CS 4 CS 4 54 US E† US H US I† US N LL Inherent Crew & Passenger | MA: 12.7 | Pas: No Mounted Fire penalty | Unpossessed SW ok | Crew: .50 cal MA only | Independent AAMG's | {{4|MA|2*}} | AAMG: Removal OK | Inherent Crew & HS Passenger | Black TH# | Lend-Lease
+M5(a) cs 5†[1] cs 5†[1] 55 Br A Br I†1 Br N LL American ESB+ | MA Removal OK (.30-cal MMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M9A1(a) cs 4† cs 4† 55 Br A Br I† LL American ESB+ | MA Removal OK (.50-cal HMG) | Inherent Crew if armed (with CS#) | Lend-Lease
+M17 MGMC(a) CS 4 CS 4 56 Br A Br F† Br AA†1 LL CE: +1 Side/Rear Turret | MA: VCA ≤ level NA | 4 TK DR | American ESB+ | MA: [16] TH | MA: Removal/Scrounge NA | MA & CMG: AA ok | Black TH# | Lend-Lease
+Carrier A sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL Always CE | BMG: AA ok | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier B sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier C sD5[4+]†[1] CS 3 sD5†[1] CS 3 57 Br N Br P Br U†1 LL Always CE | MA: Removal NA | PIAT | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier, MMG A sD5[4+]†[2] CS 3 sD5†[2] CS 3 57 Br N Br P Br Q†1 Br U†2 LL Always CE | BATR SA: HD VCA Fire OK | ATR: [12] TH | ATR: Removal/Scrounge OK | Combined (un)hooking/(un)loading | Towing OK | Lend-Lease
+Carrier, MMG B sD5[4+]†[2] CS 4 sD5†[2] CS 4 57 Br U†2 Br BB†1 LL Always CE | Normal Range = 14 | Combined (un)hooking/(un)loading | Towing OK | Pas: 1 SMC or 1PP SW | Lend-Lease
+Jeep(a) cs 2 cs 2 58 H† L†1 LL +3 Target Size & HD if in Water | Bog assistance | Lend-Lease
+¾-Ton Truck(a) cs 4 cs 4 58 Br A Br N LL American ESB+ | Lend-Lease
+1½-Ton Truck(a) cs 6 cs 6 58 Br A Br N LL American ESB+ | Lend-Lease
+2½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+7½-Ton Truck(a) cs 7 cs 7 58 Br A Br N LL American ESB+ | Lend-Lease
+DUKW cs 7†[1] cs 7†[1] 60 US D†3 US O†2 US CC†1 LL (Un)load ×2 | Pas: Mounted Fire | Unpossessed SW ok | MG Removal OK | Inherent Crew if armed (with CS#) | Lend-Lease
+BT-2A ® C5†[2] CS 3 ® C5†[2] CS 3 1† C†2 Ru M†1 CMG 2:00 from MA | 12: Immob, 11: Stall
+BT-2A(L) ® C6†[2] CS 3 ® C6†[2] CS 3 2† C†2 Ru M†1 12: Immob, 11: Stall
+BT-2B ® CS 3 ® CS 3 3† Ru M†1 2 TK DR (MG) | 12: Immob, 11: Stall
+OT-26 ® CS 2[brewup] ® CS 2[brewup] 4†[1] Ru M† 12: Immob, 11: Stall
+T-26 M31 ® CS 3 ® CS 3 5† Ru M†1 12: Immob, 11: Stall
+T-26 M32 ® C5†[2] CS 3 ® C5†[2] CS 3 6† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U C5†[2] CS 3 C5†[2] CS 3 7† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32(L) ® C4†[2] CS 3 ® C4†[2] CS 3 8† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M32U(L) C4†[2] CS 3 C4†[2] CS 3 9† C†2 Ru M†1 37L: Starboard | CMG: Port | Turret Knock-Out: Non-HE TK = Final TK | Recall: Both MA & MG disabled | 12: Immob, 11: Stall
+T-26 M33 ® C5 CS 3 ® C5 CS 3 10†[3] Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26 M33U C4†[1] CS 3 C4†[1] CS 3 11 C†1 Ru M† 12: Immob, 11: Stall
+T-26 M39U C4†[1] CS 3 C4†[1] CS 3 12 C†1 Ru M† 12: Immob, 11: Stall
+BT-5 M34 ® C4†[2] CS 3 ® C4†[2] CS 3 13 C†2 Ru I† Ru M†1 12: Immob, 11: Stall
+BT-7 M37 ® C4†[3] CS 3 ® C4†[3] CS 3 14 C†3 Ru D†2 Ru I† Ru M†1 12: Immob, 11: Stall
+T-26A ® AP7 C6†[3] s9 CS 3 ® AP7 C6†[3] s9 CS 3 15† B C†3 Ru D†2 Ru M†1 12: Immob, 11: Stall
+BT-7A AP7 C6†[2] s9 CS 3 AP7 C6†[2] s9 CS 3 16† B C†2 Ru M†1 Shrapnel Rounds | 12: Immob, 11: Stall
BA-6 ® A4[2]5[3] C4† CS 4 ® A5 C4† CS 4 17† n/a
-SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1
+SU-12 AP7 C6†[2] s8 CS 4 AP7 C6†[2] s8 CS 4 18† B C†2 Ru F†1 Shrapnel Rounds | MA: VCA ≤ level NA
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1940.txt
index 2ad495b..46f677c 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1940.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1940 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- ----------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- ----------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1941.txt
index 8954c96..a53fe68 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1941.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1941 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- ----------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- ----------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1942.txt
index 8aa4ec5..65c291e 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1942.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1942 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- ----------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- ----------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1943.txt
index c57bfc4..1e8d8f8 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1943.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1943 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- -------------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- -------------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A4 HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A4 HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1944.txt
index 3a79ab5..0b1ef30 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1944.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1944 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- -------------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- -------------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A3 HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A3 HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1945.txt
index b66fd00..c4279fc 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/slovakian/1945.txt
@@ -1,11 +1,11 @@
=== vehicles/slovakian/1945 ===
Name Capabilities (effective) # Notes Comments
--------------- --------------------------------- -------------------------- --- --------------------------------- ----------
-T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1
+-------------- --------------------------------- -------------------------- --- --------------------------------- -------------------------------------------------------------------------------------------------------
+T vz 33(t) ® CS 2 ® CS 2 17† E F G†2 K†1 Czech ESB | Stun = Recall, CE & Fire NA | 2 TK DR
LT vz 34 ® CS 2 ® CS 2 18 n/a
-PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E
-LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1
-Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A3 HE7 s7 sD6 CS 4[brewup] 21† E
-Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2
-SdKfz 2(g) cs 2 cs 2 23† E L†1
+PzKpfw IIA(g) sD6 CS 3 sD6 CS 3 19 E German ESB | Black TH#
+LT vz 40(t) sD6 CS 4 sD6 CS 4 20† E K†1 Czech ESB | 2 TK DR
+Marder III(t)H A4[3]3[4] HE7 s7 sD6 CS 4[brewup] A3 HE7 s7 sD6 CS 4[brewup] 21† E CE: +3 Front | Czech ESB | Black TH#
+Kfz 1(g) cs 2†[1] cs 2†[1] 22† E I†1 L†2 Inherent Crew if armed (with CS#) | Bog Assistance
+SdKfz 2(g) cs 2 cs 2 23† E L†1 German ESB | Crew/HS Rider OK | Hidden AT Mine attacks NA | AP Mine attacks: Area Fire | Bog Assistance
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1940.txt
index 68286cb..6fcf51d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1940.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1940 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1941.txt
index f5229e7..02adaee 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1941.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1941 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1942.txt
index 1fac15a..010b246 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1942.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1942 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1943.txt
index 177cc74..bdf19a0 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1943.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1943 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1944.txt
index 4c43c0a..25d29ca 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1944.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1944 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1945.txt
index b46478f..5e5d59a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/thai/1945.txt
@@ -1,10 +1,10 @@
=== vehicles/thai/1945 ===
-Name Capabilities (effective) # Notes Comments
------------------------ --------------- --------------- --- ------------- -------------------------------------------------------------
-VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D
-Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A
-Type 83(j) ® CS 3 ® CS 3 3 A E† Refer to Japanese Vehicle Note 5 for Rear MG CA restrictions.
-Vickers 6-Ton AA(b) ® AP TK# 8 CS 3 ® AP TK# 8 CS 3 4 A AllM AA†
-Citroen-Kegresse P17(f) CS 3 CS 3 5† A
-Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† REV x4
+Name Capabilities (effective) # Notes Comments
+----------------------- -------------- ------------- --- ------------- --------------------------------------------------------------------------
+VCL Mk VI(b) ® CS 2 ® CS 2 1 A Ch H AllM D British ESB | 12: Stall | Bog assistance | Stun = Recall, CE & Fire NA
+Vickers 6-Ton MkE-B(b) ® CS 3 ® CS 3 2 A British ESB
+Type 83(j) ® CS 3 ® CS 3 3 A E† Japanese ESB | Rear MG 4:00 from MA
+Vickers 6-Ton AA(b) ® CS 3 ® CS 3 4 A AllM AA† AP TK# = 8 | British ESB | MA: AA ok
+Citroen-Kegresse P17(f) CS 3 CS 3 5† A French ESB
+Vickers Morris M1930(b) ® CS 4 ® CS 4 6 Br X† Ch F† MA: 12.7 | Reverse MP ×4 | British ESB | 12: Immob
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1940.txt
index a17fa65..9e3b95a 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1940.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1940.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1940 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1941.txt
index fe38e90..d9d5076 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1941.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1941.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1941 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1942.txt
index 8c6b085..a6a472d 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1942.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1942.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1942 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1943.txt
index 20c708e..37e304b 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1943.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1943.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1943 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1944.txt
index 45f9583..71d6797 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1944.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1944.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1944 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1945.txt
index 385da00..382e8d3 100644
--- a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1945.txt
+++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/yugoslavian/1945.txt
@@ -1,10 +1,10 @@
=== vehicles/yugoslavian/1945 ===
Name Capabilities (effective) # Notes Comments
-------------- --------------- --------------- --- ---------------------------------- ----------
-T-32 ® CS 2 ® CS 2 19 D
-M3A1(a) C3† CS 4 C3† CS 4 20† A B C L
-M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L
-M3(a) PaK 40 CS 2 CS 2 21† A H†1 L
-M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2
-AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L
+------------- --------------- --------------- --- ---------------------------------- -----------------------------------------------------------------------------------------------
+T-32 ® CS 2 ® CS 2 19 D Stun = Recall, CE & Fire NA
+M3A1(a) C3† CS 4 C3† CS 4 20† A B C L American ESB+ | Black TH#
+M3A3(a) C3† sD3 CS 4 C3† sD3 CS 4 20† A B C L American ESB+ | Black TH#
+M3(a) PaK 40 CS 2 CS 2 21† A H†1 L Turret Hit: As unarmored | Crew Gunshield (Direct Fire) | American ESB+ | Always CE | Black TH#
+M3(a) FlaK 38 CS 2 CS 2 22† A H†1 L AA†2 Turret Hit: As unarmored | American ESB+ | Always CE | Black TH# | MA: AA ok
+AEC II(b) D4 HE5 sM8 CS 4 D4 HE5 sM8 CS 4 23 A G† L British ESB+ | Reverse MP ×4 | Black TH#
diff --git a/vasl_templates/webapp/tests/remote.py b/vasl_templates/webapp/tests/remote.py
index 22d08f4..c2b838a 100644
--- a/vasl_templates/webapp/tests/remote.py
+++ b/vasl_templates/webapp/tests/remote.py
@@ -24,6 +24,7 @@ from vasl_templates.webapp import main as webapp_main
from vasl_templates.webapp import snippets as webapp_snippets
from vasl_templates.webapp import roar as webapp_roar
from vasl_templates.webapp import vasl_mod as vasl_mod_module
+from vasl_templates.webapp import vo_utils as vo_utils_module
_logger = logging.getLogger( "control_tests" )
@@ -91,8 +92,9 @@ class ControlTests:
raise RuntimeError( "Unknown data dir type: {}".format( dtype ) )
_logger.info( "Setting data dir: %s", dname )
self.webapp.config[ "DATA_DIR" ] = dname
+ vo_utils_module._vo_comments = None #pylint: disable=protected-access
from vasl_templates.webapp.vo import load_vo_listings
- load_vo_listings()
+ load_vo_listings( None )
return self
def _set_default_scenario( self, fname=None ):
@@ -185,7 +187,7 @@ class ControlTests:
vasl_mod_module.warnings = []
set_vasl_mod( vmod, startup_msg_store )
from vasl_templates.webapp.vo import load_vo_listings
- load_vo_listings()
+ load_vo_listings( None )
return self
diff --git a/vasl_templates/webapp/tests/test_capabilities.py b/vasl_templates/webapp/tests/test_capabilities.py
index a3ae00d..ad1632a 100644
--- a/vasl_templates/webapp/tests/test_capabilities.py
+++ b/vasl_templates/webapp/tests/test_capabilities.py
@@ -41,20 +41,20 @@ def test_month_capabilities( webapp, webdriver ):
_check_capabilities( webdriver, webapp, *vehicle, "ETO", "06/1944", "D6[!] HE8[!] sD6 sM8[!] CS 7" )
_check_capabilities( webdriver, webapp, *vehicle, "ETO", "01/1945", "D7[!] HE8[!] sD6 sM8[!] CS 7" )
- # M3A1 37mm AT Gun: NT, QSU, C7(A2+)†1
+ # M3A1 37mm AT Gun: NT, C7(A2+)†1
ordnance = [ "american", "ordnance", "M3A1 37mm AT Gun" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "NT QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "07/1942", "NT QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "08/1942", "NT QSU C7[!1]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "NT", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "07/1942", "NT", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "08/1942", "NT C7[!1]", (1,2) )
- # M1 57mm AT Gun: NT, QSU, HE7(J4E)/7(5)†, D4(J4+E)†
+ # M1 57mm AT Gun: NT, HE7(J4E)/7(5)†, D4(J4+E)†
ordnance = [ "american", "ordnance", "M1 57mm AT Gun" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT QSU D4[!] HE7[!]", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT QSU D4[!] HE7[!]", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT QSU HE7[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT D4[!] HE7[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT D4[!] HE7[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT HE7[!]", (1,2) )
# M3: C7(A2+)†2
vehicle = [ "american", "vehicles", "M3" ]
@@ -109,26 +109,26 @@ def test_month_capabilities( webapp, webdriver ):
# OML 2-in. Mortar: IR(2)+†
ordnance = [ "british", "ordnance", "OML 2-in. Mortar" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "4PP s7", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "4PP IR[!] s7", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "4PP IR[!] s7", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "s7", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "IR[!] s7", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "IR[!] s7", (1,2) )
# OML 3-in. Mortar: IR(2)+†1
ordnance = [ "british", "ordnance", "OML 3-in. Mortar" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "NT QSU WP7 s8[!]", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT QSU IR[!1] WP7 s8[!]", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT QSU IR[!1] WP7 s8[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "NT WP7 s8[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT IR[!1] WP7 s8[!]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT IR[!1] WP7 s8[!]", (1,2) )
# OQF 6-Pounder 7-cwt: D6(J4E)7(5)† HE7(F3)8(4+)†
ordnance = [ "british", "ordnance", "OQF 6-Pounder 7-cwt" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1942", "NT QSU" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT QSU" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "02/1943", "NT QSU HE7[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT QSU HE8[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT QSU D6[!] HE8[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT QSU HE8[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT QSU D7[!] HE8[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT QSU D7[!] HE8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1942", "NT" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "02/1943", "NT HE7[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT HE8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT D6[!] HE8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT HE8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT D7[!] HE8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT D7[!] HE8[!]" )
# OQF 17-Pounder: D5(S4)6(5)† HE8(J4+)†
ordnance = [ "british", "ordnance", "OQF 17-Pounder" ]
@@ -252,13 +252,6 @@ def test_month_capabilities( webapp, webdriver ):
_check_capabilities( webdriver, webapp, *vehicle, "ETO", "06/1944", "WP7[!1] s8 CS 4" )
_check_capabilities( webdriver, webapp, *vehicle, "ETO", "01/1945", "WP7[!1] s8 CS 4" )
- # Cannone da 47/32: Towed(A1+)†
- ordnance = [ "italian", "ordnance", "Cannone da 47/32" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1940", "NT QSU" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "07/1941", "NT QSU" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "08/1941", "NT QSU Towed[!]" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT QSU Towed[!]" )
-
# Cannone da 65/17, 75/27, 75/32 + Obice da 75/18: H6(S2+)†1
for vo_name in ("Cannone da 65/17", "Cannone da 75/27","Cannone da 75/32","Obice da 75/18"):
ordnance = [ "italian", "ordnance", vo_name ]
@@ -288,17 +281,17 @@ def test_month_capabilities( webapp, webdriver ):
# 81 Krh/32: s8(N1)†
ordnance = [ "finnish", "ordnance", "81 Krh/32" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1940", "NT QSU 5PP dm" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "10/1941", "NT QSU 5PP dm" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "11/1941", "NT QSU s8[!] 5PP dm" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT QSU s8[!] 5PP dm" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1940", "NT" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "10/1941", "NT" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "11/1941", "NT s8[!]" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT s8[!]" )
# 76 RK/27(r): H6J4+†
ordnance = [ "finnish", "ordnance", "76 RK/27(r)" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT QSU s6" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT QSU s6" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT QSU H6[!] s6" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT QSU H6[!] s6" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT s6" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT s6" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT H6[!] s6" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT H6[!] s6" )
# 105 H/33(g) ; 105 H/41(t): H6A4+†
for vo_name in ("105 H/33(g)","105 H/41(t)"):
@@ -402,15 +395,15 @@ def test_theater_capabilities( webapp, webdriver ):
# OQF 3.7-in. Howitzer: H6(3+P)†
ordnance = [ "british", "ordnance", "OQF 3.7-in. Howitzer" ]
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "12/1942", "NT QSU WP7 s8" )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1943", "NT QSU H6[!] WP7 s8" )
- _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1944", "NT QSU H6[!] WP7 s8" )
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1944", "NT QSU WP7 s8" )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "12/1942", "NT WP7 s8" )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1943", "NT H6[!] WP7 s8" )
+ _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1944", "NT H6[!] WP7 s8" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1944", "NT WP7 s8" )
# Obice da 149/13: WP6(B)
ordnance = [ "chinese", "ordnance", "Obice da 149/13" ]
- _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1940", "NT h-dC[!] s5" )
- _check_capabilities( webdriver, webapp, *ordnance, "Burma", "01/1940", "NT h-dC[!] WP6[!] s5" )
+ _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1940", "NT s5" )
+ _check_capabilities( webdriver, webapp, *ordnance, "Burma", "01/1940", "NT WP6[!] s5" )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -460,12 +453,12 @@ def test_theater_capabilities_bfp( webapp, webdriver ):
def test_american_ordnance_note_c( webapp, webdriver ):
"""Test handling of American Ordnance Note C."""
- # M3A1 37mm AT Gun: QSU C7[A2+]†[1]
+ # M3A1 37mm AT Gun: C7[A2+]†[1]
ordnance = [ "american", "ordnance", "M3A1 37mm AT Gun" ]
- _check_capabilities( webdriver, webapp, *ordnance , "ETO", "07/1942", "QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance , "PTO", "07/1942", "QSU", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance , "ETO", "08/1942", "QSU C7[!1]", (1,2) )
- _check_capabilities( webdriver, webapp, *ordnance , "PTO", "08/1942", "QSU C10[!1]", (1,2) ) # nb: C# += 3
+ _check_capabilities( webdriver, webapp, *ordnance , "ETO", "07/1942", "", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance , "PTO", "07/1942", "", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance , "ETO", "08/1942", "C7[!1]", (1,2) )
+ _check_capabilities( webdriver, webapp, *ordnance , "PTO", "08/1942", "C10[!1]", (1,2) ) # nb: C# += 3
# M2A1 105mm Howitzer: C7[4+P]†[1] H6 WP8 s7
ordnance = [ "american", "ordnance", "M2A1 105mm Howitzer" ]
@@ -547,19 +540,19 @@ def test_custom_capabilities( webapp, webdriver ): #pylint: disable=too-many-sta
return elems
# check the vehicle's snippet
- check_snippet( '"QSU" "cs 4 (brew up)"' )
+ check_snippet( '"XYZ" "cs 4 (brew up)"' )
# edit the vehicle's capabilities
vehicles_sortable = find_child( "#ob_vehicles-sortable_1" )
elems = find_children( "li", vehicles_sortable )
assert len(elems) == 1
ActionChains( webdriver ).double_click( elems[0] ).perform()
- elems = check_capabilities_in_dialog( [ "QSU", "cs 4 (brew up)" ] )
+ elems = check_capabilities_in_dialog( [ "XYZ", "cs 4 (brew up)" ] )
# edit one of the capabilities
elem = find_child( "input[type='text']", elems[0] )
elem.clear()
- elem.send_keys( "QSU (modified)" )
+ elem.send_keys( "XYZ (modified)" )
# delete a capability
ActionChains( webdriver ).key_down( Keys.CONTROL ).click( elems[1] ).perform()
@@ -574,24 +567,24 @@ def test_custom_capabilities( webapp, webdriver ): #pylint: disable=too-many-sta
# save the changes and check the vehicle's snippet
click_dialog_button( "OK" )
- check_snippet( '"QSU (modified)" "a new capability"' )
+ check_snippet( '"XYZ (modified)" "a new capability"' )
# save the scenario
saved_scenario = save_scenario()
assert len(saved_scenario["OB_VEHICLES_1"]) == 1
- assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == [ "QSU (modified)", "a new capability" ]
+ assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == [ "XYZ (modified)", "a new capability" ]
# reload the scenario, and check the vehicle's snippet
select_menu_option( "new_scenario" )
load_scenario( saved_scenario )
select_tab( "ob1" )
- check_snippet( '"QSU (modified)" "a new capability"' )
+ check_snippet( '"XYZ (modified)" "a new capability"' )
# make sure the capabilities are loaded correcly when editing the vehicle
elems = find_children( "li", vehicles_sortable )
assert len(elems) == 1
ActionChains( webdriver ).double_click( elems[0] ).perform()
- elems = check_capabilities_in_dialog( [ "QSU (modified)", "a new capability" ] )
+ elems = check_capabilities_in_dialog( [ "XYZ (modified)", "a new capability" ] )
# delete all capabilities
for elem in elems:
@@ -614,7 +607,7 @@ def test_custom_capabilities( webapp, webdriver ): #pylint: disable=too-many-sta
btn = find_child( "#vo_capabilities-reset" )
btn.click()
click_dialog_button( "OK" )
- check_snippet( '"QSU" "cs 4 (brew up)"' )
+ check_snippet( '"XYZ" "cs 4 (brew up)"' )
# make sure the custom capabilities are no longer saved in the scenario
saved_scenario2 = save_scenario()
@@ -630,7 +623,7 @@ def test_custom_capabilities( webapp, webdriver ): #pylint: disable=too-many-sta
elems = find_children( "#vo_capabilities-sortable input[type='text']" )
assert len(elems) == 2
elems[0].clear()
- elems[0].send_keys( "QSU" )
+ elems[0].send_keys( "XYZ" )
elems[1].clear()
elems[1].send_keys( "cs 4 (brew up)" )
click_dialog_button( "OK" )
@@ -784,10 +777,10 @@ def test_capability_updates_in_ui( webapp, webdriver ):
scenario_data = {
"PLAYER_1": "german",
"OB_VEHICLES_1": [ { "name": "PzKpfw 38(t)A" } ], # A4[1]/5[2] ; sD6 ; CS 4
- "OB_ORDNANCE_1": [ { "name": "3.7cm PaK 35/36" } ], # NT ; QSU ; A4[1]/5[2]/4[3]/3[4] ; H6[9]†
+ "OB_ORDNANCE_1": [ { "name": "3.7cm PaK 35/36" } ], # NT ; A4[1]/5[2]/4[3]/3[4] ; H6[9]†
"PLAYER_2": "russian",
"OB_VEHICLES_2": [ { "name": "Churchill III(b)" } ], # D6[J4]/7[5]† ; HE7[F3]/8[4+]† ; sD6[4+] ; sM8† ; CS 7
- "OB_ORDNANCE_2": [ { "name": "45mm PTP obr. 32" } ], # NT ; QSU ; A4[2]/5[3]/6[4]/7[5]
+ "OB_ORDNANCE_2": [ { "name": "45mm PTP obr. 32" } ], # NT ; A4[2]/5[3]/6[4]/7[5]
}
scenario_data["OB_VEHICLES_1"].append( { "name": "PzJg I" } ) # A5[1]; HE7 ; CS 3
load_scenario( scenario_data )
@@ -821,9 +814,9 @@ def test_capability_updates_in_ui( webapp, webdriver ):
[ "A4152", "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3" ]
],
- [ [ "NT", "QSU", "A41524334", "H6[9]\u2020" ] ],
+ [ [ "NT", "A41524334", "H6[9]\u2020" ] ],
[ [ "D6J475†", "HE7F384+\u2020", "sD64+", "sM8\u2020", "CS 7" ] ], #pylint: disable=line-too-long
- [ [ "NT", "QSU", "A42536475" ] ]
+ [ [ "NT", "A42536475" ] ]
] )
# edit the PzJg I's capabilities (nb: this locks them in, and they should not change
@@ -847,54 +840,54 @@ def test_capability_updates_in_ui( webapp, webdriver ):
[ "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "H6[9]\u2020" ] ],
+ [ [ "NT", "H6[9]\u2020" ] ],
[ [ "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU" ] ]
+ [ [ "NT" ] ]
] )
check_capabilities( "01/01/1941", [
[
[ "A4", "sD6", "CS 4" ] ,
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "A4", "H6[9]\u2020" ] ],
+ [ [ "NT", "A4", "H6[9]\u2020" ] ],
[ [ "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU" ] ]
+ [ [ "NT" ] ]
] )
check_capabilities( "01/01/1942", [
[
[ "A5", "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "A5", "H6[9]\u2020" ] ],
+ [ [ "NT", "A5", "H6[9]\u2020" ] ],
[ [ "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU", "A4" ] ]
+ [ [ "NT", "A4" ] ]
] )
check_capabilities( "01/01/1943", [
[
[ "A5", "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "A4", "H6[9]\u2020" ] ],
+ [ [ "NT", "A4", "H6[9]\u2020" ] ],
[ [ "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU", "A5" ] ]
+ [ [ "NT", "A5" ] ]
] )
check_capabilities( "01/01/1944", [
[
[ "A5", "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "A3", "H6[9]\u2020" ] ],
+ [ [ "NT", "A3", "H6[9]\u2020" ] ],
[ [ "HE8\u2020", "sD6", "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU", "A6" ] ]
+ [ [ "NT", "A6" ] ]
] )
check_capabilities( "01/01/1945", [
[
[ "A5", "sD6", "CS 4" ],
[ "A51", "HE7", "CS 3", "foo!" ]
],
- [ [ "NT", "QSU", "A3", "H6[9]\u2020" ] ],
+ [ [ "NT", "A3", "H6[9]\u2020" ] ],
[ [ "D7\u2020", "HE8\u2020", "sD6", "sM8\u2020", "CS 7" ] ],
- [ [ "NT", "QSU", "A7" ] ]
+ [ [ "NT", "A7" ] ]
] )
# ---------------------------------------------------------------------
@@ -920,13 +913,13 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
caps = [ c.text for c in find_children(".vo-capability",get_sortable_elem()) ]
if expected:
assert vo_name.endswith( "\u24ba" )
- expected = [ "A62", "M8\u2020", "sD8", "CS 6" ]
+ expected = [ "A62", "sD8", "CS 6" ]
if custom:
expected.append( "HE11" )
assert caps == expected
else:
assert "\u24ba" not in vo_name
- expected = [ "A62", "M7\u2020", "sD7", "CS 6" ]
+ expected = [ "A62", "sD7", "CS 6" ]
if custom:
expected.append( "HE10" )
assert caps == expected
@@ -936,13 +929,13 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
caps = [ c.get_attribute("value") for c in find_children("#vo_capabilities-sortable input[type='text']") ]
if expected:
assert vo_name.endswith( "\u24ba" )
- expected = [ "A62", "M8\u2020", "sD8", "CS 6" ]
+ expected = [ "A62", "sD8", "CS 6" ]
if custom:
expected.append( "HE11" )
assert caps == expected
else:
assert "\u24ba" not in vo_name
- expected = [ "A62", "M7\u2020", "sD7", "CS 6" ]
+ expected = [ "A62", "sD7", "CS 6" ]
if custom:
expected.append( "HE10" )
assert caps == expected
@@ -950,7 +943,7 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
# load the scenario
scenario_data = {
"PLAYER_1": "german",
- "OB_VEHICLES_1": [ { "name": "PzKpfw VIE" } ], # A6[2] M7 sD7
+ "OB_VEHICLES_1": [ { "name": "PzKpfw VIE" } ], # A6[2] sD7
}
load_scenario( scenario_data )
select_tab( "ob1" )
@@ -963,8 +956,8 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
elem = find_child( "#vo_capabilities-add" )
elem.click()
elems = find_children( "#vo_capabilities-sortable input[type='text']" )
- assert len(elems) == 5
- elems[4].send_keys( "HE10" )
+ assert len(elems) == 4
+ elems[3].send_keys( "HE10" )
click_dialog_button( "OK" )
# make the vehicle elite
@@ -981,7 +974,7 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
assert len(saved_scenario["OB_VEHICLES_1"]) == 1
assert saved_scenario["OB_VEHICLES_1"][0]["elite"]
assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == \
- [ "A62", "M8\u2020", "sD8", "CS 6", "HE11" ]
+ [ "A62", "sD8", "CS 6", "HE11" ]
select_menu_option( "new_scenario" )
load_scenario( saved_scenario )
select_tab( "ob1" )
@@ -1001,7 +994,7 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
assert len(saved_scenario["OB_VEHICLES_1"]) == 1
assert "elite" not in saved_scenario["OB_VEHICLES_1"][0]
assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == \
- [ "A62", "M7\u2020", "sD7", "CS 6", "HE10" ]
+ [ "A62", "sD7", "CS 6", "HE10" ]
# make the vehicle elite, remove the custom capability
ActionChains( webdriver ).double_click( get_sortable_elem() ).perform()
@@ -1010,8 +1003,8 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
elem.click()
check_elite2( True, True )
elems = find_children( "#vo_capabilities-sortable li" )
- webdriver.execute_script( "arguments[0].scrollIntoView(true);", elems[4] )
- ActionChains( webdriver ).key_down( Keys.CONTROL ).click( elems[4] ).perform()
+ webdriver.execute_script( "arguments[0].scrollIntoView(true);", elems[3] )
+ ActionChains( webdriver ).key_down( Keys.CONTROL ).click( elems[3] ).perform()
ActionChains( webdriver ).key_up( Keys.CONTROL ).perform()
click_dialog_button( "OK" )
check_elite( True, False )
@@ -1020,7 +1013,7 @@ def test_elite( webapp, webdriver ): #pylint: disable=too-many-statements
saved_scenario = save_scenario()
assert len(saved_scenario["OB_VEHICLES_1"]) == 1
assert saved_scenario["OB_VEHICLES_1"][0]["elite"]
- assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == [ "A62", "M8\u2020", "sD8", "CS 6" ]
+ assert saved_scenario["OB_VEHICLES_1"][0]["custom_capabilities"] == [ "A62", "sD8", "CS 6" ]
select_menu_option( "new_scenario" )
load_scenario( saved_scenario )
select_tab( "ob1" )
diff --git a/vasl_templates/webapp/tests/test_comments.py b/vasl_templates/webapp/tests/test_comments.py
new file mode 100644
index 0000000..cf597b3
--- /dev/null
+++ b/vasl_templates/webapp/tests/test_comments.py
@@ -0,0 +1,185 @@
+""" Test comment generation. """
+
+import re
+
+from vasl_templates.webapp.tests.utils import init_webapp, new_scenario, select_tab, \
+ find_child, wait_for_clipboard, set_scenario_date
+from vasl_templates.webapp.tests.test_scenario_persistence import load_scenario
+
+# ---------------------------------------------------------------------
+
+def test_time_based_comments( webapp, webdriver ):
+ """Test time-based comments."""
+
+ # initialize
+ init_webapp( webapp, webdriver, scenario_persistence=1,
+ reset = lambda ct: ct.set_data_dir( dtype="real" )
+ )
+
+ # test a "START-" time-range
+ _test_comments( "german", "vehicles", "SPW 251/10", [
+ ( None, "PSK, else ATR" ),
+ ( "12/31/1942", "| ATR |" ),
+ ( "08/31/1943", "| ATR |" ),
+ ( "09/01/1943", "| PSK |" ),
+ ( "01/01/1944", "| PSK |" ),
+ ] )
+
+ # test a "-END" time-range
+ _test_comments( "french", "ordnance", "Canon AC de 47 SA mle 37 APX", [
+ ( None, "En Portee41+" ),
+ ( "12/31/1940", "En Portee NA" ),
+ ( "01/01/1941", "En Portee (Renault AGR2)" ),
+ ] )
+
+ # test a "START-END" time-range
+ _test_comments( "british", "ordnance", "OQF 6-Pounder 7-cwt", [
+ ( None, "En Portee41-8/43" ),
+ ( "12/31/1940", "En Portee NA" ),
+ ( "01/01/1941", "En Portee (3-ton lorry)" ),
+ ( "08/01/1943", "En Portee (3-ton lorry)" ),
+ ( "09/01/1943", "En Portee NA" ),
+ ( "01/01/1944", "En Portee NA" ),
+ ] )
+
+# ---------------------------------------------------------------------
+
+def test_french_veh_f( webapp, webdriver ):
+ """Test French Vehicle Note F."""
+
+ # initialize
+ init_webapp( webapp, webdriver, scenario_persistence=1,
+ reset = lambda ct: ct.set_data_dir( dtype="real" )
+ )
+
+ # test an "(a)" vehicle
+ _test_comments( "french", "vehicles", "Ac de 40 CA(a)", [
+ ( None, "American ESB+" ),
+ ( None, "Black TH#" ),
+ ( None, "Captured Use (unless Free French or US)" ),
+ ] )
+ _test_comments( "french", "vehicles", "AM Dodge(a)", [
+ ( None, "Captured Use (unless Vichy French)" ),
+ ] )
+
+ # test a "(b)" vehicle
+ _test_comments( "french", "vehicles", "Valentine V(b)", [
+ ( None, "British ESB+" ),
+ ( None, "Black TH#" ),
+ ( None, "Captured Use (unless Vichy French or British)" ),
+ ] )
+
+ # test an "(f)" vehicle
+ _test_comments( "free-french", "vehicles", "H39(f)", [
+ ( None, "French ESB+" ),
+ ( None, "Red TH#" ),
+ ( None, "Captured Use (unless Free/Vichy French)" ),
+ ] )
+
+# ---------------------------------------------------------------------
+
+def test_axis_minor_veh_e( webapp, webdriver ):
+ """Test Axis Minor Vehicle Note E."""
+
+ # initialize
+ init_webapp( webapp, webdriver, scenario_persistence=1,
+ reset = lambda ct: ct.set_data_dir( dtype="real" )
+ )
+
+ # test an "(f)" vehicle
+ _test_comments( "romanian", "vehicles", "R-35(f)", [
+ ( None, "| French ESB |" ),
+ ( None, "! Black TH#" ),
+ ] )
+
+ # test a "(g)" vehicle
+ _test_comments( "croatian", "vehicles", "LT vz 35(g)", [
+ ( None, "| German ESB |" ),
+ ( None, "! Black TH#" ),
+ ] )
+ _test_comments( "hungarian", "vehicles", "LT vz 35(g)", [
+ ( None, "| German ESB |" ),
+ ( None, "Black TH#" ),
+ ] )
+
+ # test an "(i)" vehicle
+ _test_comments( "croatian", "vehicles", "L3/35(i)", [
+ ( None, "| Italian ESB |" ),
+ ( None, "! Black TH#" ),
+ ] )
+
+ # test an "(r)" vehicle
+ _test_comments( "croatian", "vehicles", "Komsomolet(r)", [
+ ( None, "| Russian ESB |" ),
+ ( None, "! Black TH#" ),
+ ] )
+
+ # test an "(t)" vehicle
+ _test_comments( "croatian", "vehicles", "LT vz 38(t)A", [
+ ( None, "| Czech ESB |" ),
+ ( None, "! Black TH#" ),
+ ] )
+ _test_comments( "slovakian", "vehicles", "LT vz 38(t)A", [
+ ( None, "| Czech ESB |" ),
+ ( None, "Black TH#" ),
+ ] )
+
+# ---------------------------------------------------------------------
+
+def test_axis_minor_ord_e( webapp, webdriver ):
+ """Test Axis Minor Ordnance Note E."""
+
+ # initialize
+ init_webapp( webapp, webdriver, scenario_persistence=1,
+ reset = lambda ct: ct.set_data_dir( dtype="real" )
+ )
+
+ # test a "(g)" gun
+ _test_comments( "romanian", "ordnance", "leFH 18(g)", [
+ ( None, "Black TH#" ),
+ ] )
+ _test_comments( "croatian", "ordnance", "leFH 18(g)", [
+ ( None, "! Black TH#" ),
+ ] )
+
+ # test a "(t)" gun
+ _test_comments( "romanian", "ordnance", "Kanon PUV vz. 37(t)", [
+ ( None, "Black TH#" ),
+ ] )
+ _test_comments( "bulgarian", "ordnance", "Kanon PUV vz. 37(t)", [
+ ( None, "! Black TH#" ),
+ ] )
+
+# ---------------------------------------------------------------------
+
+def _test_comments( nat, vo_type, vo_name, vals ):
+ """ Generate and check comments for a series of dates. """
+
+ # load the specified vehicle/ordnance
+ new_scenario()
+ load_scenario( {
+ "PLAYER_1": nat,
+ "OB_{}_1".format( vo_type.upper() ): [ { "name": vo_name } ]
+ } )
+
+ # check the generated comments for each specified date
+ for date,expected in vals:
+ set_scenario_date( date )
+ select_tab( "ob1" )
+ btn = find_child( "button[data-id='ob_{}_1']".format( vo_type ) )
+ btn.click()
+ if expected.startswith( "!" ):
+ expected, contains = expected[1:].strip(), False
+ else:
+ contains = True
+ wait_for_clipboard( 2, expected, transform=_extract_comments, contains=contains )
+
+def _extract_comments( snippet ):
+ """Extract comments from a snippet."""
+ vals = [
+ mo.group( 1 ).strip()
+ for mo in re.finditer( r'', snippet )
+ ]
+ if not vals:
+ return vals
+ return "| {} |".format( " | ".join( vals ) )
diff --git a/vasl_templates/webapp/tests/test_vasl_extensions.py b/vasl_templates/webapp/tests/test_vasl_extensions.py
index ec7c9a8..f6cb9b7 100644
--- a/vasl_templates/webapp/tests/test_vasl_extensions.py
+++ b/vasl_templates/webapp/tests/test_vasl_extensions.py
@@ -234,7 +234,7 @@ def test_kgs_extensions( webapp, webdriver ):
# check the Matilda II(b)
check_counter_images( "Matilda II(b) (HT)",
- ["f97:178","f97:184"] if enable_extns else None
+ ["7150","f97:178","f97:184"] if enable_extns else ["7150"]
)
# check the T60-M40
diff --git a/vasl_templates/webapp/tests/test_vassal.py b/vasl_templates/webapp/tests/test_vassal.py
index 5302ef3..7480da6 100644
--- a/vasl_templates/webapp/tests/test_vassal.py
+++ b/vasl_templates/webapp/tests/test_vassal.py
@@ -608,6 +608,8 @@ def test_analyze_vsav( webapp, webdriver ):
# analyze a basic scenario
new_scenario()
+ set_player( 1, "german" )
+ set_player( 2, "russian" )
_analyze_vsav( "basic.vsav",
[ [ "ge/v:033", "ge/v:066" ], [ "ge/o:029" ] ],
[ [ "ru/v:064" ], [ "ru/o:002", "ru/o:006" ] ],
diff --git a/vasl_templates/webapp/tests/test_vehicles_ordnance.py b/vasl_templates/webapp/tests/test_vehicles_ordnance.py
index b95c8ba..d7a1fff 100644
--- a/vasl_templates/webapp/tests/test_vehicles_ordnance.py
+++ b/vasl_templates/webapp/tests/test_vehicles_ordnance.py
@@ -142,7 +142,7 @@ def test_snippets( webapp, webdriver ):
add_vo( webdriver, vo_type, 1, "a german {}".format(vo_type) )
btn = find_child( "button[data-id='ob_{}_1']".format( vo_type ) )
btn.click()
- caps = '"QSU" "IR" "A1" "H2" "can do other stuff"'
+ caps = '"XYZ" "IR" "A1" "H2"'
if vo_type == "vehicles":
caps += ' "CS 5"'
expected = [
@@ -159,7 +159,7 @@ def test_snippets( webapp, webdriver ):
add_vo( webdriver, vo_type, 1, "another german {}".format(vo_type) )
btn = find_child( "button[data-id='ob_{}_1']".format( vo_type ) )
btn.click()
- caps = '"QSU"'
+ caps = '"XYZ"'
if vo_type == "vehicles":
caps += ' "cs 4 (brew up)"'
expected = [
diff --git a/vasl_templates/webapp/vasl_mod.py b/vasl_templates/webapp/vasl_mod.py
index c98babc..cd38669 100644
--- a/vasl_templates/webapp/vasl_mod.py
+++ b/vasl_templates/webapp/vasl_mod.py
@@ -422,7 +422,7 @@ def get_vo_gpids( vasl_mod ):
"""Get the GPID's for the vehicles/ordnance."""
# initialize
- listings = get_vo_listings( vasl_mod )
+ listings = get_vo_listings( vasl_mod, None )
# figure out which GPID's we know about
gpids = set()
diff --git a/vasl_templates/webapp/vo.py b/vasl_templates/webapp/vo.py
index aee8436..e3af197 100644
--- a/vasl_templates/webapp/vo.py
+++ b/vasl_templates/webapp/vo.py
@@ -3,12 +3,12 @@
import os
import json
import copy
-import logging
from flask import request, render_template, jsonify, abort
from vasl_templates.webapp import app, globvars
from vasl_templates.webapp.config.constants import DATA_DIR
+from vasl_templates.webapp.vo_utils import copy_vo_entry, add_vo_comments, apply_extn_info, make_vo_index
_kfw_listings = { "vehicles": {}, "ordnance": {} }
@@ -33,23 +33,24 @@ def _do_get_listings( vo_type ):
# nb: we should only get here during tests
return _do_load_vo_listings(
globvars.vasl_mod, vo_type,
- request.args.get("merge_common") == "1", request.args.get("report") == "1"
+ request.args.get("merge_common") == "1", request.args.get("report") == "1",
+ None
)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-def load_vo_listings():
+def load_vo_listings( msg_store ):
"""Load and install the vehicle/ordnance listings."""
- globvars.vo_listings = get_vo_listings( globvars.vasl_mod )
+ globvars.vo_listings = get_vo_listings( globvars.vasl_mod, msg_store )
-def get_vo_listings( vasl_mod ):
+def get_vo_listings( vasl_mod, msg_store ):
"""Get the vehicle/ordnance listings."""
return {
- "vehicles": _do_load_vo_listings( vasl_mod, "vehicles", True, False ),
- "ordnance": _do_load_vo_listings( vasl_mod, "ordnance", True, False )
+ "vehicles": _do_load_vo_listings( vasl_mod, "vehicles", True, False, msg_store ),
+ "ordnance": _do_load_vo_listings( vasl_mod, "ordnance", True, False, msg_store )
}
-def _do_load_vo_listings( vasl_mod, vo_type, merge_common, real_data_dir ): #pylint: disable=too-many-locals,too-many-branches,too-many-statements
+def _do_load_vo_listings( vasl_mod, vo_type, merge_common, real_data_dir, msg_store ): #pylint: disable=too-many-locals,too-many-branches,too-many-statements
"""Load the vehicle/ordnance listings."""
# locate the data directory
@@ -86,22 +87,37 @@ def _do_load_vo_listings( vasl_mod, vo_type, merge_common, real_data_dir ): #pyl
with open( fname2, "r" ) as fp:
listings[nat].extend( json.load( fp ) )
- # fixup any vehicle/ordnance references
- vo_index = _make_vo_index( listings )
- for nat,vo_entries in listings.items():
- for i,vo_entry in enumerate(vo_entries):
- vo_id = vo_entry.get( "copy_from" )
- if vo_id:
- vo_entries[i] = _copy_vo_entry( vo_entry, vo_index[vo_id] )
-
# apply any changes for VASL extensions
# NOTE: We do this here, rather than in VaslMod, because VaslMod is a wrapper around a VASL module, and so
# only knows about GPID's and counter images, rather than Chapter H pieces and piece ID's (e.g. "ge/v:001").
if vasl_mod:
# process each VASL extension
- vo_index = _make_vo_index( listings )
+ vo_index = make_vo_index( listings )
for extn in vasl_mod.get_extns():
- _apply_extn_info( listings, extn[0], extn[1], vo_index, vo_type )
+ apply_extn_info( listings, extn[0], extn[1], vo_index, vo_type )
+
+ # add in the common Allied/Axis Minor vehicles/ordnance
+ if merge_common:
+ for minor_type in ( "allied-minor", "axis-minor" ):
+ if minor_type+"-common" not in listings:
+ continue
+ for nat in minor_nats[minor_type]:
+ listings[nat].extend( copy.deepcopy( listings[minor_type+"-common"] ) )
+ del listings[ minor_type+"-common" ]
+
+ # add vehicle/ordnance comments (based on what notes they have)
+ add_vo_comments( listings, vo_type, msg_store )
+ add_vo_comments( _kfw_listings[vo_type], vo_type, msg_store )
+
+ # fixup any vehicle/ordnance references
+ # NOTE: We do this after adding comments to vehicles/ordnance, so that those comments
+ # are included when we copy vehicle/ordnance entries.
+ vo_index = make_vo_index( listings )
+ for nat,vo_entries in listings.items():
+ for i,vo_entry in enumerate(vo_entries):
+ vo_id = vo_entry.get( "copy_from" )
+ if vo_id:
+ vo_entries[i] = copy_vo_entry( vo_entry, vo_index[vo_id], nat, vo_type, msg_store )
# update nationality variants with the listings from their base nationality
for nat in listings:
@@ -110,6 +126,22 @@ def _do_load_vo_listings( vasl_mod, vo_type, merge_common, real_data_dir ): #pyl
base_nat = nat.split( "~" )[0]
listings[nat] = listings[base_nat] + listings[nat]
+ # add in the Landing Craft
+ if merge_common:
+ if vo_type == "vehicles":
+ for lc in listings.get( "landing-craft", [] ):
+ # FUDGE! Landing Craft get appended to the vehicles for the Japanese/American/British,
+ # so we need to tag the note numbers so that they refer to the *Landing Craft* note,
+ # not the Japanese/American/British vehicle note.
+ lc = copy.deepcopy( lc )
+ if "note_number" in lc:
+ lc["note_number"] = "LC {}".format( lc["note_number"] )
+ if lc["name"] in ("Daihatsu","Shohatsu"):
+ listings["japanese"].append( lc )
+ else:
+ listings["american"].append( lc )
+ listings["british"].append( lc )
+
# install the K:FW entries
# NOTE: We do this after updating the nationality variants so that e.g. the British Canadians
# don't get the BCFK vehicles/ordnance.
@@ -138,120 +170,8 @@ def _do_load_vo_listings( vasl_mod, vo_type, merge_common, real_data_dir ): #pyl
else:
assert False, "Unknown V/O type: {}".format( vo_type )
- # add in any common vehicles/ordnance and landing craft
- # NOTE: We do this after updating nationality variants, so that the British variants (i.e. Canada
- # and New Zealand) don't get the landing craft.
- if merge_common:
- # add in any common Allied/Axis Minor vehicles/ordnance
- for minor_type in ("allied-minor","axis-minor"):
- if minor_type+"-common" not in listings:
- continue
- for nat in minor_nats[minor_type]:
- listings[nat].extend( listings[minor_type+"-common"] )
- del listings[ minor_type+"-common" ]
- # add in any landing craft
- if vo_type == "vehicles":
- for lc in listings.get("landing-craft",[]):
- # FUDGE! Landing Craft get appended to the vehicles for the Japanese/American/British,
- # so we need to tag the note numbers so that they refer to the *Landing Craft* note,
- # not the Japanese/American/British vehicle note.
- if "note_number" in lc:
- lc["note_number"] = "LC {}".format( lc["note_number"] )
- if lc["name"] in ("Daihatsu","Shohatsu"):
- listings["japanese"].append( lc )
- else:
- listings["american"].append( lc )
- listings["british"].append( lc )
-
return listings
-def _copy_vo_entry( placeholder_vo_entry, src_vo_entry ): #pylint: disable=too-many-branches
- """Create a new vehicle/ordnance entry by copying an existing one."""
- # Anjuna, India (FEB/19)
-
- # create the new vehicle/ordnance entry
- new_vo_entry = copy.deepcopy( src_vo_entry )
- new_vo_entry["id"] = placeholder_vo_entry["id"]
- if "name" in placeholder_vo_entry:
- new_vo_entry["name"] = placeholder_vo_entry["name"]
- if "gpid" in placeholder_vo_entry:
- new_vo_entry["gpid"] = placeholder_vo_entry["gpid"]
- elif "extra_gpids" in placeholder_vo_entry:
- if not isinstance( new_vo_entry["gpid"], list ):
- new_vo_entry["gpid"] = [ new_vo_entry["gpid"] ]
- new_vo_entry["gpid"].extend( placeholder_vo_entry["extra_gpids"] )
-
- # fixup any note numbers and multi-applicable notes
- vo_id = placeholder_vo_entry[ "copy_from" ]
- if vo_id.startswith( "br/" ):
- prefix = "Br"
- elif vo_id.startswith( "am/" ):
- prefix = "US"
- elif vo_id.startswith( "fr/" ):
- prefix = "Fr"
- else:
- logging.warning( "Unexpected vehicle/ordnance reference nationality: %s", vo_id )
- prefix = ""
- if "note_number" in placeholder_vo_entry:
- # replace the note# with the explicitly-defined one
- new_vo_entry["note_number"] = placeholder_vo_entry["note_number"]
- else:
- # fixup the note# from the original vehicle/ordnance
- new_vo_entry["note_number"] = "{} {}".format( prefix, new_vo_entry["note_number"] )
- if "notes" in placeholder_vo_entry:
- # replace the multi-applicable notes with the explicitly-defined ones
- new_vo_entry["notes"] = placeholder_vo_entry["notes"]
- elif "notes" in new_vo_entry:
- # fixup the multi-applicable notes from the original vehicle/ordnance
- new_vo_entry["notes"] = [ "{} {}".format( prefix, n ) for n in new_vo_entry["notes"] ]
- if "extra_notes" in placeholder_vo_entry:
- new_vo_entry["notes"].extend( placeholder_vo_entry["extra_notes"] )
-
- return new_vo_entry
-
-def _apply_extn_info( listings, extn_fname, extn_info, vo_index, vo_type ):
- """Update the vehicle/ordnance listings for the specified VASL extension."""
-
- # initialize
- logger = logging.getLogger( "vasl_mod" )
- logger.info( "Updating %s for VASL extension '%s': %s",
- vo_type, extn_info["extensionId"], os.path.split(extn_fname)[1]
- )
-
- # process each entry
- for nat in extn_info:
- if not isinstance( extn_info[nat], dict ):
- continue
- for entry in extn_info[nat].get( vo_type, [] ):
- vo_entry = vo_index.get( entry["id"] )
- if vo_entry:
- # update an existing vehicle/ordnance
- logger.debug( "- Updating GPID's for %s: %s", entry["id"], entry["gpid"] )
- if vo_entry["gpid"]:
- prev_gpids = vo_entry["gpid"]
- if not isinstance( vo_entry["gpid"], list ):
- vo_entry["gpid"] = [ vo_entry["gpid"] ]
- vo_entry["gpid"].extend( entry["gpid"] )
- else:
- prev_gpids = "(none)"
- vo_entry["gpid"] = entry["gpid"]
- # NOTE: We can't really set the extension ID here because the counter is also in the core VASL module.
- logger.debug( " - %s => %s", prev_gpids, vo_entry["gpid"] )
- else:
- # add a new vehicle/ordnance
- if nat not in listings:
- listings[ nat ] = []
- entry[ "extn_id" ] = extn_info[ "extensionId" ]
- listings[ nat ].append( entry )
-
-def _make_vo_index( vo_entries ):
- """Generate an index of each vehicle/ordnance entry."""
- vo_index = {}
- for nat in vo_entries:
- for vo_entry in vo_entries[nat]:
- vo_index[ vo_entry["id"] ] = vo_entry
- return vo_index
-
# ---------------------------------------------------------------------
@app.route( "////", defaults={"month":1} )
diff --git a/vasl_templates/webapp/vo_utils.py b/vasl_templates/webapp/vo_utils.py
new file mode 100644
index 0000000..950f2c6
--- /dev/null
+++ b/vasl_templates/webapp/vo_utils.py
@@ -0,0 +1,476 @@
+""" Utilities to help load the vehicle/ordnance listings. """
+
+import os
+import json
+import re
+import copy
+import logging
+
+from vasl_templates.webapp import app, globvars
+from vasl_templates.webapp.config.constants import DATA_DIR
+
+_vo_comments = None
+
+# ---------------------------------------------------------------------
+
+_NOTE_ID_PREFIXES = {
+ "US": "american",
+ "Br": "british",
+ "Ge": "german",
+ "Ru": "russian",
+ "Fr": "french",
+ "Ch": "chinese",
+ "AllM": "allied-minor",
+}
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+_COMMENT_HANDLERS = {
+ "russian": {
+ "vehicles": {
+ "N": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": "American ESB",
+ "(b)": "British ESB"
+ } ),
+ "LL": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": "{? 01/1944- | Black TH# | Red TH# | Black TH#44+ ?}"
+ }, "Black TH#" ),
+ }
+ },
+ "british": {
+ "vehicles": {
+ "A": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": "American ESB+"
+ } )
+ }
+ },
+ "french": {
+ "vehicles": {
+ "F": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": _french_veh_f,
+ "(b)": _french_veh_f,
+ "(f)": _french_veh_f,
+ } ),
+ }
+ },
+ "finnish": {
+ "vehicles": {
+ "D": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(b)": "British ESB",
+ "(g)": [ "German ESB", "Black TH#" ],
+ "(r)": "Russian ESB",
+ "(s)": [ "Swedish ESB", "Black TH#" ]
+ } )
+ },
+ "ordnance": {
+ "B": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(b)": "Black TH#",
+ "(f)": "Black TH#",
+ "(g)": [ "Black TH#", "No Captured Use penalty for Germans" ],
+ "(r)": "No Captured Use penalty for Russians",
+ "(s)": "Black TH#",
+ "(t)": "Black TH#",
+ } )
+ }
+ },
+ "chinese": {
+ "vehicles": {
+ "A": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": [ "American ESB, +1 DRM" ],
+ "(b)": [ "British ESB, +1 DRM" ],
+ "(g)": [ "German ESB, +1 DRM" ],
+ "(i)": [ "Italian ESB, +1 DRM" ],
+ "(r)": [ "Russian ESB, +1 DRM" ],
+ } ),
+ "D": "2 TK DR"
+ }
+ },
+ "allied-minor": {
+ "vehicles": {
+ "A": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": "American ESB+",
+ "(b)": "British ESB+",
+ "(f)": "French ESB+",
+ "(i)": "Italian ESB+",
+ } )
+ }
+ },
+ "axis-minor": {
+ "vehicles": {
+ "E": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(f)": "French ESB",
+ "(g)": _axis_minor_veh_e,
+ "(i)": "Italian ESB",
+ "(r)": "Russian ESB",
+ "(t)": _axis_minor_veh_e,
+ } ),
+ },
+ "ordnance": {
+ "E": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(g)": _axis_minor_ord_e,
+ "(t)": _axis_minor_ord_e,
+ } ),
+ }
+ },
+ "kfw-un": {
+ "vehicles": {
+ "UU": lambda vo_entry, note_id: _check_name( vo_entry, note_id, {
+ "(a)": "American ESB+",
+ } ),
+ }
+ }
+}
+
+def _check_comment_handlers( vo_entry, nat, vo_type, note_id, comments, orig_nat ):
+ """Add any multi-applicable note-specific comments to the vehicle/ordnance."""
+ val = _COMMENT_HANDLERS.get( nat, {} ).get( vo_type, {} ).get( note_id )
+ if not val:
+ return
+ if isinstance( val, str ):
+ comments.append( val )
+ elif isinstance( val, list ):
+ comments.extend( val )
+ else:
+ assert callable( val )
+ val = val( vo_entry, orig_nat )
+ if val:
+ assert isinstance( val, list )
+ comments.extend( val )
+
+def _french_veh_f( vo_entry, orig_nat ): #pylint: disable=unused-argument
+ """Handle French Vehicle Note F."""
+ # NOTE: French Vehicle Note F says things like:
+ # "(a)" also indicates that this vehicle is treated as captured if crewed by other than Free French or U.S.
+ # so we would like to be smart here and check the owning player's nationality and add a "Captured Use" comment
+ # only if it applies. Unfortunately, while this technique works for the Allied/Axis Minor common vehicles/ordnance,
+ # it won't here :-(
+ # Consider a scenario where the British have an Ac de 40 CA(a). This piece won't appear in the list of
+ # British vehicles, so the user has to set up a 2nd scenario, with a Free French player, to get access to
+ # this piece. The code will detect the owning player is the Free French, and so conclude that it doesn't need
+ # to add a "Captured Use" comment. There's no way of fixing this (other than adding the Free French
+ # vehicles/ordnance to every nationality that could possibly use them), so we add the comment verbatim
+ # and let the user figure it out.
+ if "(a)" in vo_entry["name"]:
+ comments = [ "Black TH#", "American ESB+" ]
+ if vo_entry["id"] == "fr/v:020": # nb: AM Dodge(a)
+ comments.append( "Captured Use (unless Vichy French)" )
+ else:
+ comments.append( "Captured Use (unless Free French or US)" )
+ elif "(b)" in vo_entry["name"]:
+ comments = [ "Black TH#", "British ESB+" ]
+ comments.append( "Captured Use (unless Vichy French or British)" )
+ elif "(f)" in vo_entry["name"]:
+ comments = [ "Red TH#", "French ESB+" ]
+ comments.append( "Captured Use (unless Free/Vichy French)" )
+ else:
+ comments = []
+ return comments
+
+def _axis_minor_veh_e( vo_entry, orig_nat ):
+ """Handle Axis Minor Vehicle Note E (cases (g) and (t) only)."""
+ assert "(g)" in vo_entry["name"] or "(t)" in vo_entry["name"]
+ comments = [ "German ESB" if "(g)" in vo_entry["name"] else "Czech ESB" ]
+ if orig_nat in ( "romanian", "hungarian", "slovakian" ):
+ comments.append( "Black TH#" )
+ return comments
+
+def _axis_minor_ord_e( vo_entry, orig_nat ):
+ """Handle Axis Minor Ordnance Note E."""
+ assert "(g)" in vo_entry["name"] or "(t)" in vo_entry["name"]
+ if orig_nat in ( "romanian", "hungarian", "slovakian" ):
+ return [ "Black TH#" ]
+ return None
+
+def _check_name( vo_entry, nat, cases, defaultVal=None ):
+ """Check the vehicle/ordnance's name."""
+ for key,val in cases.items():
+ if key in vo_entry.get("name",""):
+ if isinstance( val, str ):
+ return [val]
+ elif isinstance( val, list ):
+ return val
+ else:
+ assert callable( val )
+ return val( vo_entry, nat )
+ if defaultVal:
+ return [defaultVal]
+ return None
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+def add_vo_comments( listings, vo_type, msg_store ):
+ """Add comments to the vehicle/ordnance entries."""
+ # Melbourne, Australia (JUN/20)
+
+ # initialize
+ global _vo_comments
+ if not _vo_comments:
+ fname = os.path.join( app.config.get("DATA_DIR",DATA_DIR), "vo-comments.json" )
+ _vo_comments = json.load( open( fname, "r" ) )
+
+ # process each vehicle/ordnance
+ for nat,vo_entries in listings.items():
+ for vo_entry in vo_entries:
+ if "copy_from" in vo_entry:
+ continue # nb: we do these later, when the entry is actually copied
+ _do_add_vo_comments( vo_entry, nat, vo_type, msg_store )
+
+def _do_add_vo_comments( vo_entry, nat, vo_type, msg_store ): #pylint: disable=too-many-locals,too-many-branches
+ """Add comments to a vehicle/ordnance entry."""
+
+ # figure out which comments have been disabled
+ disable_comments_for_note_ids = set() # disable all omments associated with these note ID's
+ disabled_comments = set() # disable these specific comments
+ prefixes = "|".join( _NOTE_ID_PREFIXES.keys() )
+ regex = re.compile( "^(({}) )?[A-Za-z]{{,2}}$".format( prefixes ) )
+ vals = vo_entry.get( "disabled_comments", [] )
+ for val in vals if isinstance(vals,list) else [vals]:
+ if regex.search( val ):
+ disable_comments_for_note_ids.add( val )
+ else:
+ disabled_comments.add( val )
+
+ # get the vehicle/ordnance's manually-defined comments
+ comments = vo_entry.get( "comments", [] )
+ if isinstance( comments, str ):
+ comments = [ comments ]
+
+ # add any generated comments
+ comments.extend(
+ _make_comments( vo_entry, nat, vo_type, disable_comments_for_note_ids )
+ )
+
+ # dedupe the comments
+ # NOTE: This needs to be done in the front-end as well, since some comments will be generated
+ # based on the scenario date, and we have no way of knowing what that is here.
+ comments2, comment_index = [], set()
+ for cmt in comments:
+ if cmt in comment_index:
+ continue
+ comments2.append( cmt )
+ comment_index.add( cmt )
+
+ # remove comments that have been disabled
+ # NOTE: This needs to be done in the front-end as well, since some comments will be generated
+ # based on the scenario date, and we have no way of knowing what that is here.
+ comments3 = []
+ def parse_cmd( cmt ):
+ """Parse a disabled comment command."""
+ if cmt.startswith( "?:" ):
+ return cmt[2:].strip(), False # nb: this is an optional comment (i.e. don't warn if it's not there)
+ else:
+ return cmt, True
+ disabled_comments = dict( parse_cmd(c) for c in disabled_comments )
+ for cmt in comments2:
+ if cmt in disabled_comments:
+ del disabled_comments[ cmt ]
+ else:
+ comments3.append( cmt )
+ disabled_comments = { k: v for k,v in disabled_comments.items() if v }
+ if disabled_comments:
+ if msg_store:
+ msg_store.warning(
+ "Can't find disabled comments for {}: ".format(
+ vo_entry["id"],
+ " ".join( " {}".format(c) for c in disabled_comments )
+ )
+ )
+
+ # install the comments into the vehicle/ordnance entry
+ if comments3:
+ vo_entry["comments"] = comments3
+ else:
+ vo_entry.pop( "comments", None )
+
+def _make_comments( vo_entry, nat, vo_type, disabled_note_ids ): #pylint: disable=too-many-branches
+ """Automatically generate comments for a vehicle/ordnance."""
+
+ # initialize
+ all_comments = []
+
+ # process each multi-applicable note
+ vo_notes = vo_entry.get( "notes", [] )
+ for note_id in vo_notes:
+
+ # clean up the next note ID
+ pos = note_id.find( "\u2020" )
+ if pos >= 0:
+ note_id = note_id[:pos]
+ note_id = re.sub( r"\.*?\", "", note_id )
+ note_id = re.sub( r"\.*?\", "", note_id )
+ if not note_id:
+ continue
+ assert re.search( "^[A-Za-z0-9 ]+$", note_id )
+
+ # translate nationality-specific note ID's
+ orig_note_id = note_id
+ force_auto_comment = False
+ nat2 = nat
+ nat_type = globvars.template_pack[ "nationalities" ].get( nat, {} ).get( "type" ) \
+ if globvars.template_pack else None
+ if nat in ( "kfw-uro", "kfw-bcfk", "kfw-un-common" ):
+ nat2 = "kfw-un"
+ elif nat in ( "kfw-kpa", "kfw-cpva" ):
+ nat2 = "kfw-comm"
+ elif nat_type == "allied-minor" or nat == "allied-minor-common":
+ nat2 = "allied-minor"
+ elif nat_type == "axis-minor" or nat == "axis-minor-common":
+ nat2 = "axis-minor"
+ words = note_id.split()
+ if len(words) > 1:
+ nat2 = _NOTE_ID_PREFIXES.get( words[0] )
+ if nat2:
+ note_id = " ".join( words[1:] )
+ force_auto_comment = True
+
+ # check if all comments for this note have been disabled
+ if orig_note_id in disabled_note_ids:
+ continue
+
+ # generate any comments associated with this multi-applicable note
+ comments = []
+ if not vo_entry.get( "extn_id" ):
+ # NOTE: We don't do this for extensions because if a vehicle/ordnance has Note X,
+ # that references the extension's Note X, not the nationality's normal Note X.
+ # However, vehicles/ordnance can reference things like "Ru M" or "AllM F", but these will
+ # set force_auto_comment and cause those comments to be added below.
+ if nat2 != nat:
+ _check_comment_handlers( vo_entry, nat2, vo_type, note_id, comments, nat )
+ else:
+ _check_comment_handlers( vo_entry, nat, vo_type, note_id, comments, None )
+ if not vo_entry.get( "extn_id" ) or force_auto_comment:
+ auto_comments = _vo_comments.get( nat2, {} ).get( vo_type, {} ).get( note_id )
+ if auto_comments:
+ _append_to( comments, auto_comments )
+
+ # update the vehicle/ordnance entry
+ _append_to( all_comments, comments )
+
+ return all_comments
+
+def _append_to( dest, val ):
+ """Append value(s) to a list."""
+ assert isinstance( dest, list )
+ if isinstance( val, str ):
+ dest.append( val )
+ elif isinstance( val, list ):
+ dest.extend( val )
+ else:
+ assert False
+
+# ---------------------------------------------------------------------
+
+def copy_vo_entry( placeholder_vo_entry, src_vo_entry, nat, vo_type, msg_store ): #pylint: disable=too-many-branches
+ """Create a new vehicle/ordnance entry by copying an existing one."""
+ # Anjuna, India (FEB/19)
+
+ # create the new vehicle/ordnance entry
+ new_vo_entry = copy.deepcopy( src_vo_entry )
+ new_vo_entry["id"] = placeholder_vo_entry["id"]
+ if "name" in placeholder_vo_entry:
+ new_vo_entry["name"] = placeholder_vo_entry["name"]
+ if "gpid" in placeholder_vo_entry:
+ new_vo_entry["gpid"] = placeholder_vo_entry["gpid"]
+ elif "extra_gpids" in placeholder_vo_entry:
+ if not isinstance( new_vo_entry["gpid"], list ):
+ new_vo_entry["gpid"] = [ new_vo_entry["gpid"] ]
+ new_vo_entry["gpid"].extend( placeholder_vo_entry["extra_gpids"] )
+
+ def add_prefix( notes, prefix ):
+ """Add a prefix to a list of note ID's."""
+ for i,note in enumerate(notes):
+ notes[i] = "{} {}".format( prefix, note )
+
+ # fixup any note numbers and multi-applicable notes
+ vo_id = placeholder_vo_entry[ "copy_from" ]
+ if vo_id.startswith( "br/" ):
+ prefix = "Br"
+ elif vo_id.startswith( "am/" ):
+ prefix = "US"
+ elif vo_id.startswith( "fr/" ):
+ prefix = "Fr"
+ else:
+ logging.warning( "Unexpected vehicle/ordnance reference nationality: %s", vo_id )
+ prefix = ""
+ if "note_number" in placeholder_vo_entry:
+ # replace the note# with the explicitly-defined one
+ new_vo_entry["note_number"] = placeholder_vo_entry["note_number"]
+ else:
+ # fixup the note# from the original vehicle/ordnance
+ new_vo_entry["note_number"] = "{} {}".format( prefix, new_vo_entry["note_number"] )
+ if "notes" in placeholder_vo_entry:
+ # replace the multi-applicable notes with the explicitly-defined ones
+ new_vo_entry["notes"] = placeholder_vo_entry["notes"]
+ elif "notes" in new_vo_entry:
+ # fixup the multi-applicable notes from the original vehicle/ordnance
+ add_prefix( new_vo_entry["notes"], prefix )
+ if "extra_notes" in placeholder_vo_entry:
+ new_vo_entry["notes"].extend( placeholder_vo_entry["extra_notes"] )
+
+ # fixup the comments
+ if "comments" in placeholder_vo_entry:
+ if "comments" in new_vo_entry:
+ new_vo_entry["comments"].extend( placeholder_vo_entry["comments"] )
+ else:
+ new_vo_entry["comments"] = placeholder_vo_entry["comments"]
+ if "disabled_comments" in new_vo_entry:
+ add_prefix( new_vo_entry["disabled_comments"], prefix )
+ if "disabled_comments" in placeholder_vo_entry:
+ if "disabled_comments" in new_vo_entry:
+ new_vo_entry["disabled_comments"].extend( placeholder_vo_entry["disabled_comments"] )
+ else:
+ new_vo_entry["disabled_comments"] = placeholder_vo_entry["disabled_comments"]
+ # NOTE: Dynamically adding comments complicates things a lot, since they sometimes depend on
+ # the vehicle/ordnance's name (e.g. if it contains "(a)"), or the owning nationality.
+ # We re-generate the comments here, which means that comments from the source entry will be
+ # re-added, but they will get deduped.
+ _do_add_vo_comments( new_vo_entry, nat, vo_type, msg_store )
+
+ return new_vo_entry
+
+# ---------------------------------------------------------------------
+
+def apply_extn_info( listings, extn_fname, extn_info, vo_index, vo_type ):
+ """Update the vehicle/ordnance listings for the specified VASL extension."""
+
+ # initialize
+ logger = logging.getLogger( "vasl_mod" )
+ logger.info( "Updating %s for VASL extension '%s': %s",
+ vo_type, extn_info["extensionId"], os.path.split(extn_fname)[1]
+ )
+
+ # process each entry
+ for nat in extn_info:
+ if not isinstance( extn_info[nat], dict ):
+ continue
+ for entry in extn_info[nat].get( vo_type, [] ):
+ vo_entry = vo_index.get( entry["id"] )
+ if vo_entry:
+ # update an existing vehicle/ordnance
+ logger.debug( "- Updating GPID's for %s: %s", entry["id"], entry["gpid"] )
+ if vo_entry["gpid"]:
+ prev_gpids = vo_entry["gpid"]
+ if not isinstance( vo_entry["gpid"], list ):
+ vo_entry["gpid"] = [ vo_entry["gpid"] ]
+ vo_entry["gpid"].extend( entry["gpid"] )
+ else:
+ prev_gpids = "(none)"
+ vo_entry["gpid"] = entry["gpid"]
+ # NOTE: We can't really set the extension ID here because the counter is also in the core VASL module.
+ logger.debug( " - %s => %s", prev_gpids, vo_entry["gpid"] )
+ else:
+ # add a new vehicle/ordnance
+ if nat not in listings:
+ listings[ nat ] = []
+ entry[ "extn_id" ] = extn_info[ "extensionId" ]
+ listings[ nat ].append( entry )
+
+# ---------------------------------------------------------------------
+
+def make_vo_index( vo_entries ):
+ """Generate an index of each vehicle/ordnance entry."""
+ vo_index = {}
+ for nat in vo_entries:
+ for vo_entry in vo_entries[nat]:
+ vo_index[ vo_entry["id"] ] = vo_entry
+ return vo_index
| |