Added support for K:FW.

master
Pacman Ghost 4 years ago
parent e49785ff8f
commit 2536f220a2
  1. BIN
      chapter-h/chapter-h-placeholders.zip
  2. 1
      tools/build_file.py
  3. 2
      vasl_templates/main_window.py
  4. 69
      vasl_templates/tools/make_chapter_h_placeholders.py
  5. 165
      vasl_templates/tools/tests/fixtures/chapter-h-placeholders.txt
  6. 53
      vasl_templates/webapp/data/default-template-pack/baz-cpva16.j2
  7. 55
      vasl_templates/webapp/data/default-template-pack/baz-cpva17.j2
  8. 9
      vasl_templates/webapp/data/default-template-pack/baz.j2
  9. 58
      vasl_templates/webapp/data/default-template-pack/baz45.j2
  10. 60
      vasl_templates/webapp/data/default-template-pack/baz50.j2
  11. 1
      vasl_templates/webapp/data/default-template-pack/mol-p.j2
  12. 1
      vasl_templates/webapp/data/default-template-pack/mol.j2
  13. 17
      vasl_templates/webapp/data/default-template-pack/nationalities.json
  14. 1
      vasl_templates/webapp/data/default-template-pack/piat.j2
  15. 1
      vasl_templates/webapp/data/default-template-pack/psk.j2
  16. 6
      vasl_templates/webapp/data/expected-multiple-images.json
  17. 68
      vasl_templates/webapp/data/ordnance/axis-minor/common.json
  18. 2
      vasl_templates/webapp/data/ordnance/axis-minor/croatian.json
  19. 2
      vasl_templates/webapp/data/ordnance/axis-minor/romanian.json
  20. 1
      vasl_templates/webapp/data/ordnance/kfw-cpva.json
  21. 1
      vasl_templates/webapp/data/ordnance/kfw-kpa.json
  22. 1
      vasl_templates/webapp/data/ordnance/kfw-ounc.json
  23. 1
      vasl_templates/webapp/data/ordnance/kfw-rok.json
  24. 28
      vasl_templates/webapp/data/ordnance/kfw/bcfk.json
  25. 74
      vasl_templates/webapp/data/ordnance/kfw/cpva.json
  26. 64
      vasl_templates/webapp/data/ordnance/kfw/kpa.json
  27. 30
      vasl_templates/webapp/data/ordnance/kfw/un-common.json
  28. 52
      vasl_templates/webapp/data/ordnance/kfw/us-rok-ounc.json
  29. 12
      vasl_templates/webapp/data/vasl-overrides.json
  30. 12
      vasl_templates/webapp/data/vehicles/american.json
  31. 58
      vasl_templates/webapp/data/vehicles/axis-minor/common.json
  32. 6
      vasl_templates/webapp/data/vehicles/axis-minor/slovakian.json
  33. 10
      vasl_templates/webapp/data/vehicles/british.json
  34. 2
      vasl_templates/webapp/data/vehicles/chinese.json
  35. 1
      vasl_templates/webapp/data/vehicles/kfw-kpa.json
  36. 1
      vasl_templates/webapp/data/vehicles/kfw-ounc.json
  37. 1
      vasl_templates/webapp/data/vehicles/kfw-rok.json
  38. 219
      vasl_templates/webapp/data/vehicles/kfw/bcfk.json
  39. 74
      vasl_templates/webapp/data/vehicles/kfw/kpa.json
  40. 54
      vasl_templates/webapp/data/vehicles/kfw/un-common.json
  41. 332
      vasl_templates/webapp/data/vehicles/kfw/us-rok-ounc.json
  42. 2
      vasl_templates/webapp/static/css/tabs.css
  43. 2
      vasl_templates/webapp/static/extras.js
  44. BIN
      vasl_templates/webapp/static/images/flags/kfw-cpva.png
  45. BIN
      vasl_templates/webapp/static/images/flags/kfw-kpa.png
  46. BIN
      vasl_templates/webapp/static/images/flags/kfw-ounc.png
  47. BIN
      vasl_templates/webapp/static/images/flags/kfw-rok.png
  48. 57
      vasl_templates/webapp/static/main.js
  49. 66
      vasl_templates/webapp/static/snippets.js
  50. 1
      vasl_templates/webapp/static/user_settings.js
  51. 71
      vasl_templates/webapp/static/vassal.js
  52. 9
      vasl_templates/webapp/static/vo.js
  53. 4
      vasl_templates/webapp/templates/tabs-ob1.html
  54. 3
      vasl_templates/webapp/templates/tabs-scenario.html
  55. BIN
      vasl_templates/webapp/tests/fixtures/analyze-vsav/vo-entry-selection-for-theater.vsav
  56. 1
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/baz-cpva16.j2
  57. 1
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/baz-cpva17.j2
  58. 2
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/baz.j2
  59. 1
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/baz45.j2
  60. 1
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/baz50.j2
  61. 5
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/nationalities.json
  62. 1
      vasl_templates/webapp/tests/fixtures/template-packs/full/american/baz45.j2
  63. 1
      vasl_templates/webapp/tests/fixtures/template-packs/full/american/baz50.j2
  64. 1
      vasl_templates/webapp/tests/fixtures/template-packs/full/baz-cpva16.j2
  65. 1
      vasl_templates/webapp/tests/fixtures/template-packs/full/baz-cpva17.j2
  66. 1
      vasl_templates/webapp/tests/fixtures/template-packs/new-default/american/baz45.j2
  67. 1
      vasl_templates/webapp/tests/fixtures/template-packs/new-default/american/baz50.j2
  68. 1
      vasl_templates/webapp/tests/fixtures/template-packs/new-default/kfw/baz-cpva16.j2
  69. 1
      vasl_templates/webapp/tests/fixtures/template-packs/new-default/kfw/baz-cpva17.j2
  70. 2565
      vasl_templates/webapp/tests/fixtures/vasl-pieces-6.5.0.txt
  71. 1
      vasl_templates/webapp/tests/fixtures/vasl-pieces-legacy.txt
  72. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1940.txt
  73. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1941.txt
  74. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1942.txt
  75. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1943.txt
  76. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1944.txt
  77. 16
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/american/1945.txt
  78. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1940.txt
  79. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1941.txt
  80. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1942.txt
  81. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1943.txt
  82. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1944.txt
  83. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/axis-minor-common/1945.txt
  84. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt
  85. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt
  86. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt
  87. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt
  88. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt
  89. 64
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt
  90. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1940.txt
  91. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1941.txt
  92. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1942.txt
  93. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1943.txt
  94. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1944.txt
  95. 2
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/croatian/1945.txt
  96. 19
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1950.txt
  97. 19
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1951.txt
  98. 19
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1952.txt
  99. 19
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-cpva/1953.txt
  100. 20
      vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/kfw-kpa/1950.txt
  101. Some files were not shown because too many files have changed in this diff Show More

@ -102,6 +102,7 @@ def _get_pieceslot_images( node, opts ):
# identify fields that look like an image path
valid_prefixes = ( "ru/", "ge/", "am/", "br/", "it/", "ja/", "ch/", "sh/", "fr/", "al/", "ax/", "hu/", "fi/",
"po/", "ss/", # nb: for BFP
"nk/", # nb: for K:FW
)
def is_image_path( val ):
"""Check if a value looks like an image path."""

@ -87,7 +87,7 @@ class MainWindow( QWidget ):
self.restoreGeometry( val )
else :
self.resize( 1000, 600 )
self.setMinimumSize( 980, 520 )
self.setMinimumSize( 1000, 520 )
# initialize the layout
layout = QVBoxLayout( self )

@ -56,10 +56,12 @@ def make_chapter_h_placeholders( output_fname, log=None \
# (instead of being copied from an existing piece), but we can live with that... :-/
continue
dname2, fname2 = os.path.split( fname )
if os.path.split( dname2 )[1] == "kfw":
continue # nb: we do these files later
nat = os.path.splitext( fname2 )[0]
if nat == "common":
nat = os.path.split( dname2 )[1]
if nat in ("free-french","british-commonwealth-forces-korea","cvpa","kpa","us-rok-ounc","un-forces"):
if nat == "free-french" or nat.startswith("kfw-"):
continue
notes, ma_notes = load_vo_data( fname, nat )
if nat not in results:
@ -69,6 +71,29 @@ def make_chapter_h_placeholders( output_fname, log=None \
else:
results[ nat ][ vo_type ] = { "notes": notes, "ma_notes": ma_notes }
# insert the K:FW vehicles/ordnance
kfw_vo_data = load_kfw_vo_data()
results["kfw-un"] = {
"vehicles": {
"notes": kfw_vo_data["kfw-un"]["vehicles"][0],
"ma_notes": kfw_vo_data["kfw-un"]["vehicles"][1]
},
"ordnance": {
"notes": kfw_vo_data["kfw-un"]["ordnance"][0],
"ma_notes": kfw_vo_data["kfw-un"]["ordnance"][1]
}
}
results["kfw-comm"] = {
"vehicles": {
"notes": kfw_vo_data["kfw-comm"]["vehicles"][0],
"ma_notes": kfw_vo_data["kfw-comm"]["vehicles"][1]
},
"ordnance": {
"notes": kfw_vo_data["kfw-comm"]["ordnance"][0],
"ma_notes": kfw_vo_data["kfw-comm"]["ordnance"][1]
}
}
# load the extensions
base_dir = os.path.join( os.path.split(__file__)[0], "../webapp/data/extensions" )
for fname in glob.glob( os.path.join( base_dir, "*.json" ) ):
@ -142,6 +167,48 @@ def load_vo_data( fname, nat ):
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def load_kfw_vo_data():
"""Load the K:FW vehicle/ordnance data files."""
# load the K:FW vehicles
un_veh_notes, un_veh_ma_notes = set(), set()
dname = os.path.join( os.path.split(__file__)[0], "../webapp/data/vehicles/kfw" )
for fname in ( "us-rok-ounc.json", "bcfk.json", "un-common.json" ):
notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
un_veh_notes.update( notes )
un_veh_ma_notes.update( ma_notes )
comm_veh_notes, comm_veh_ma_notes = set(), set()
for fname in ( "kpa.json", ):
notes, ma_notes = load_vo_data( os.path.join(dname,"kpa.json"), None )
comm_veh_notes.update( notes )
comm_veh_ma_notes.update( ma_notes )
# load the K:FW ordnance
un_ord_notes, un_ord_ma_notes = set(), set()
dname = os.path.join( os.path.split(__file__)[0], "../webapp/data/ordnance/kfw" )
for fname in ( "us-rok-ounc.json", "bcfk.json", "un-common.json" ):
notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
un_ord_notes.update( notes )
un_ord_ma_notes.update( ma_notes )
comm_ord_notes, comm_ord_ma_notes = set(), set()
for fname in ( "kpa.json", "cpva.json" ):
notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
comm_ord_notes.update( notes )
comm_ord_ma_notes.update( ma_notes )
return {
"kfw-un": {
"vehicles": ( un_veh_notes, un_veh_ma_notes ),
"ordnance": ( un_ord_notes, un_ord_ma_notes )
},
"kfw-comm": {
"vehicles": ( comm_veh_notes, comm_veh_ma_notes ),
"ordnance": ( comm_ord_notes, comm_ord_ma_notes )
}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def load_vo_data_from_extension( fname ):
"""Load a vehicle/ordnance extension data file."""

@ -1049,6 +1049,171 @@ japanese/vehicles/adf-bj/b.html
japanese/vehicles/adf-bj/c.html
japanese/vehicles/b.html
japanese/vehicles/c.html
kfw-comm/ordnance/1.png
kfw-comm/ordnance/10.png
kfw-comm/ordnance/11.png
kfw-comm/ordnance/12.png
kfw-comm/ordnance/13.png
kfw-comm/ordnance/14.png
kfw-comm/ordnance/15.png
kfw-comm/ordnance/18.png
kfw-comm/ordnance/19.png
kfw-comm/ordnance/2.png
kfw-comm/ordnance/20.png
kfw-comm/ordnance/21.png
kfw-comm/ordnance/22.png
kfw-comm/ordnance/23.png
kfw-comm/ordnance/24.png
kfw-comm/ordnance/25.png
kfw-comm/ordnance/26.png
kfw-comm/ordnance/27.png
kfw-comm/ordnance/28.png
kfw-comm/ordnance/29.png
kfw-comm/ordnance/3.png
kfw-comm/ordnance/30.png
kfw-comm/ordnance/31.png
kfw-comm/ordnance/32.png
kfw-comm/ordnance/4.png
kfw-comm/ordnance/5.png
kfw-comm/ordnance/6.png
kfw-comm/ordnance/7.png
kfw-comm/ordnance/8.png
kfw-comm/ordnance/9.png
kfw-comm/ordnance/a.html
kfw-comm/ordnance/b.html
kfw-comm/ordnance/r.html
kfw-comm/vehicles/1.png
kfw-comm/vehicles/2.png
kfw-comm/vehicles/3.png
kfw-comm/vehicles/4.png
kfw-comm/vehicles/5.png
kfw-comm/vehicles/6.png
kfw-comm/vehicles/b.html
kfw-un/ordnance/1.png
kfw-un/ordnance/10.png
kfw-un/ordnance/11.png
kfw-un/ordnance/12.png
kfw-un/ordnance/13.png
kfw-un/ordnance/14.png
kfw-un/ordnance/15.png
kfw-un/ordnance/16.png
kfw-un/ordnance/17.png
kfw-un/ordnance/18.png
kfw-un/ordnance/19.png
kfw-un/ordnance/2.png
kfw-un/ordnance/20.png
kfw-un/ordnance/23.png
kfw-un/ordnance/24.png
kfw-un/ordnance/25.png
kfw-un/ordnance/3.png
kfw-un/ordnance/4.png
kfw-un/ordnance/5.png
kfw-un/ordnance/6.png
kfw-un/ordnance/7.png
kfw-un/ordnance/8.png
kfw-un/ordnance/9.png
kfw-un/ordnance/a.html
kfw-un/ordnance/b.html
kfw-un/ordnance/c.html
kfw-un/ordnance/k.html
kfw-un/ordnance/m.html
kfw-un/ordnance/n.html
kfw-un/ordnance/o.html
kfw-un/ordnance/p.html
kfw-un/ordnance/r.html
kfw-un/ordnance/y.html
kfw-un/vehicles/1.png
kfw-un/vehicles/10.png
kfw-un/vehicles/11.png
kfw-un/vehicles/12.png
kfw-un/vehicles/13.png
kfw-un/vehicles/14.png
kfw-un/vehicles/15.png
kfw-un/vehicles/16.png
kfw-un/vehicles/17.png
kfw-un/vehicles/18.png
kfw-un/vehicles/19.png
kfw-un/vehicles/2.png
kfw-un/vehicles/20.png
kfw-un/vehicles/21.png
kfw-un/vehicles/22.png
kfw-un/vehicles/23.png
kfw-un/vehicles/24.png
kfw-un/vehicles/25.png
kfw-un/vehicles/26.png
kfw-un/vehicles/27.png
kfw-un/vehicles/28.png
kfw-un/vehicles/29.png
kfw-un/vehicles/3.png
kfw-un/vehicles/30.png
kfw-un/vehicles/31.png
kfw-un/vehicles/32.png
kfw-un/vehicles/33.png
kfw-un/vehicles/34.png
kfw-un/vehicles/35.png
kfw-un/vehicles/36.png
kfw-un/vehicles/37.png
kfw-un/vehicles/38.png
kfw-un/vehicles/39.png
kfw-un/vehicles/4.png
kfw-un/vehicles/40.png
kfw-un/vehicles/41.png
kfw-un/vehicles/42.png
kfw-un/vehicles/43.png
kfw-un/vehicles/44.png
kfw-un/vehicles/45.png
kfw-un/vehicles/46.png
kfw-un/vehicles/47.png
kfw-un/vehicles/48.png
kfw-un/vehicles/49.png
kfw-un/vehicles/5.png
kfw-un/vehicles/50.png
kfw-un/vehicles/51.png
kfw-un/vehicles/52.png
kfw-un/vehicles/53.png
kfw-un/vehicles/54.png
kfw-un/vehicles/55.png
kfw-un/vehicles/56.png
kfw-un/vehicles/57.png
kfw-un/vehicles/6.png
kfw-un/vehicles/7.png
kfw-un/vehicles/8.png
kfw-un/vehicles/9.png
kfw-un/vehicles/a.html
kfw-un/vehicles/aa.html
kfw-un/vehicles/b.html
kfw-un/vehicles/bb.html
kfw-un/vehicles/c.html
kfw-un/vehicles/cc.html
kfw-un/vehicles/d.html
kfw-un/vehicles/dd.html
kfw-un/vehicles/e.html
kfw-un/vehicles/ee.html
kfw-un/vehicles/f.html
kfw-un/vehicles/ff.html
kfw-un/vehicles/g.html
kfw-un/vehicles/h.html
kfw-un/vehicles/j.html
kfw-un/vehicles/k.html
kfw-un/vehicles/l.html
kfw-un/vehicles/m.html
kfw-un/vehicles/mm.html
kfw-un/vehicles/n.html
kfw-un/vehicles/nn.html
kfw-un/vehicles/o.html
kfw-un/vehicles/p.html
kfw-un/vehicles/q.html
kfw-un/vehicles/s.html
kfw-un/vehicles/t.html
kfw-un/vehicles/tt.html
kfw-un/vehicles/u.html
kfw-un/vehicles/uu.html
kfw-un/vehicles/v.html
kfw-un/vehicles/w.html
kfw-un/vehicles/x.html
kfw-un/vehicles/y.html
kfw-un/vehicles/z.html
kfw-un/vehicles/zz.html
landing-craft/1.png
landing-craft/2.png
landing-craft/3.png

@ -0,0 +1,53 @@
<html> <!-- vasl-templates:id {{SNIPPET_ID}} -->
<head>
<meta charset="utf-8">
<style>
{{CSS:common}}
</style>
</head>
<table>
<tr>
<td colspan="2" style="
background: {{OB_COLOR}} ;
border-bottom: 1px solid {{OB_COLOR_2}} ;
padding: 2px 5px ;
font-size: 105% ; font-weight: bold ;
">
{{INCLUDE:player_flag}}Bazooka '44
<tr>
<td style="padding:0 5px;">
<table>
<tr>
<td> <b>Range</b> <td> <b>TH#</b>
<tr>
<td class="c"> 0 <td class="c"> 10
<tr>
<td class="c"> 1 <td class="c"> 8
<tr>
<td class="c"> 2 <td class="c"> 7
<tr>
<td class="c"> 3 <td class="c"> 6
<tr>
<td class="c"> 4 <td class="c"> 3
</table>
<td valign="top" style="padding:0 5px;">
<table>
<tr>
<td> <b>X#:</b>
<td class="r"> 11
<tr>
<td> <b>TK#:</b>
<td class="r"> 16
<tr>
<td colspan="2" class="r"> 8-4
</table>
</table>
</html>

@ -0,0 +1,55 @@
<html> <!-- vasl-templates:id {{SNIPPET_ID}} -->
<head>
<meta charset="utf-8">
<style>
{{CSS:common}}
</style>
</head>
<table>
<tr>
<td colspan="2" style="
background: {{OB_COLOR}} ;
border-bottom: 1px solid {{OB_COLOR_2}} ;
padding: 2px 5px ;
font-size: 105% ; font-weight: bold ;
">
{{INCLUDE:player_flag}}Bazooka Type 51
<tr>
<td style="padding:0 5px;">
<table>
<tr>
<td> <b>Range</b> <td> <b>TH#</b>
<tr>
<td class="c"> 0 <td class="c"> 10
<tr>
<td class="c"> 1 <td class="c"> 9
<tr>
<td class="c"> 2 <td class="c"> 8
<tr>
<td class="c"> 3 <td class="c"> 7
<tr>
<td class="c"> 4 <td class="c"> 5
<tr>
<td class="c"> 5 <td class="c"> 3
</table>
<td valign="top" style="padding:0 5px;">
<table>
<tr>
<td> <b>X#:</b>
<td class="r"> 10
<tr>
<td> <b>TK#:</b>
<td class="r"> 22
<tr>
<td colspan="2" class="r"> 12-5
</table>
</table>
</html>

@ -53,26 +53,21 @@
<td valign="top" style="padding:0 5px;">
<table>
{%if BAZ_BREAKDOWN%}
<tr>
<td> <b>X#:</b>
<td class="r"> {{BAZ_BREAKDOWN}}
{%endif%}
{%if BAZ_WP%}
<tr>
<td> <b>WP#:</b>
<td class="r"> {{BAZ_WP}}
{%endif%}
{%if BAZ_TOKILL%}
<tr>
<td> <b>TK#:</b>
<td class="r"> {{BAZ_TOKILL}}
{%endif%}
{%if BAZ_RANGE%}
<td class="r"> {{BAZ_TK}}
<tr>
<td colspan="2" class="r"> 8-{{BAZ_RANGE}}
{%endif%}
</table>
</table>
</html>

@ -0,0 +1,58 @@
<html> <!-- vasl-templates:id {{SNIPPET_ID}} -->
<head>
<meta charset="utf-8">
<style>
{{CSS:common}}
</style>
</head>
<table>
<tr>
<td colspan="2" style="
background: {{OB_COLOR}} ;
border-bottom: 1px solid {{OB_COLOR_2}} ;
padding: 2px 5px ;
font-size: 105% ; font-weight: bold ;
">
{{INCLUDE:player_flag}}Bazooka '45
<tr>
<td style="padding:0 5px;">
<table>
<tr>
<td> <b>Range</b> <td> <b>TH#</b>
<tr>
<td class="c"> 0 <td class="c"> 11
<tr>
<td class="c"> 1 <td class="c"> 10
<tr>
<td class="c"> 2 <td class="c"> 9
<tr>
<td class="c"> 3 <td class="c"> 8
<tr>
<td class="c"> 4 <td class="c"> 6
<tr>
<td class="c"> 5 <td class="c"> 4
</table>
<td valign="top" style="padding:0 5px;">
<table>
<tr>
<td> <b>X#:</b>
<td class="r"> 11
<tr>
<td> <b>WP#:</b>
<td class="r"> 6
<tr>
<td> <b>TK#:</b>
<td class="r"> 16
<tr>
<td colspan="2" class="r"> 8-5
</table>
</table>
</html>

@ -0,0 +1,60 @@
<html> <!-- vasl-templates:id {{SNIPPET_ID}} -->
<head>
<meta charset="utf-8">
<style>
{{CSS:common}}
</style>
</head>
<table>
<tr>
<td colspan="2" style="
background: {{OB_COLOR}} ;
border-bottom: 1px solid {{OB_COLOR_2}} ;
padding: 2px 5px ;
font-size: 105% ; font-weight: bold ;
">
{{INCLUDE:player_flag}}Bazooka '50
<tr>
<td style="padding:0 5px;">
<table>
<tr>
<td> <b>Range</b> <td> <b>TH#</b>
<tr>
<td class="c"> 0 <td class="c"> 11
<tr>
<td class="c"> 1 <td class="c"> 10
<tr>
<td class="c"> 2 <td class="c"> 9
<tr>
<td class="c"> 3 <td class="c"> 8
<tr>
<td class="c"> 4 <td class="c"> 6
<tr>
<td class="c"> 5 <td class="c"> 4
</table>
<td valign="top" style="padding:0 5px;">
<table>
<tr>
<td> <b>X#:</b>
<td class="r"> 11
{%if SCENARIO_YEAR >= 1952%}
<tr>
<td> <b>WP#:</b>
<td class="r"> 6
{%endif%}
<tr>
<td> <b>TK#:</b>
<td class="r"> 32
<tr>
<td colspan="2" class="r"> 12-5
</table>
</table>
</html>

@ -39,4 +39,5 @@
Kindling Attempt: +2 DRM
</table>
</html>

@ -137,6 +137,23 @@
"filipino": {
"display_name": "Filipino",
"ob_colors": [ "#3ceb7c","#1de256", "#0ed93c" ]
},
"kfw-rok": {
"display_name": "South Korean",
"ob_colors": [ "#e5cea0","#d2ac5b", "#cdf000" ]
},
"kfw-ounc": {
"display_name": "OUNC",
"ob_colors": [ "#55aeff","#118eff", "#b8e527" ]
},
"kfw-kpa": {
"display_name": "North Korean",
"ob_colors": [ "#eabe51","#d68d1a", "#d68d1a" ]
},
"kfw-cpva": {
"display_name": "Communist Chinese",
"ob_colors": [ "#e5cea0","#d2ac5b", "#d3870e" ]
}
}

@ -26,6 +26,12 @@
"name": "155 ART wz.17",
"front_images": "po/gun/poARTwz17-BFP.png",
"back_images": [ "po/gun/poARTwz17-BFP.png", "po/gun/poARTwz17-BFPb.png" ]
},
"3b5:3676": {
"name": "M19A1 MGMC",
"front_images": [ "us/veh/usM19A1MGMC(trailer)KFW.png", "us/veh/usM19A1MGMC(KFW).png" ],
"back_images": null
}
}

@ -4,7 +4,7 @@
"type": "MTR",
"capabilities_other": [ "5PP" ],
"note_number": "44",
"notes": [ "A", "H", "S", "C", "B" ],
"notes": [ "A", "B", "C", "H", "S" ],
"id": "axc/o:000",
"gpid": 3680
},
@ -12,7 +12,7 @@
"type": "MTR",
"capabilities_other": [ "4PP" ],
"note_number": "45",
"notes": [ "A", "R", "H", "S", "C" ],
"notes": [ "A", "C", "H", "R", "S" ],
"id": "axc/o:001",
"gpid": 3681
},
@ -21,7 +21,7 @@
"capabilities": [ "NT", "QSU", "IR" ],
"capabilities2": { "s": 7 },
"note_number": "46\u2020",
"notes": [ "A", "C", "B" ],
"notes": [ "A", "B", "C" ],
"id": "axc/o:002",
"gpid": 3709
},
@ -30,7 +30,7 @@
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 7 },
"note_number": "47\u2020",
"notes": [ "A", "R", "H", "S" ],
"notes": [ "A", "H", "R", "S" ],
"id": "axc/o:003",
"gpid": 3711
},
@ -39,7 +39,7 @@
"capabilities": [ "NT", "QSU", "h-d" ],
"capabilities2": { "s": 8 },
"note_number": "48\u2020",
"notes": [ "R", "H" ],
"notes": [ "H", "R" ],
"id": "axc/o:004",
"gpid": 3713
},
@ -47,7 +47,7 @@
"type": "ATR",
"capabilities_other": [ "1PP" ],
"note_number": "49",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/o:005",
"gpid": null
},
@ -55,16 +55,16 @@
"type": "ATR",
"capabilities_other": [ "5PP" ],
"note_number": "50",
"notes": [ "A", "R", "H" ],
"notes": [ "A", "H", "R" ],
"id": "axc/o:006",
"gpid": null
},
{ "name": "Kanon PUV vz. 37(t)",
"type": "AT",
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,"1S"] ] },
"capabilities2": { "A": [ [4,"1S"], "\u2020" ] },
"note_number": "51\u2020",
"notes": [ "E", "H", "S", "B" ],
"notes": [ "B", "E", "H", "S" ],
"id": "axc/o:007",
"gpid": 3714
},
@ -73,7 +73,7 @@
"capabilities": [ "NT", "QSU" ],
"comments": [ "No Gunshield." ],
"note_number": "52\u2020",
"notes": [ "A", "R", "H", "S" ],
"notes": [ "A", "H", "R", "S" ],
"id": "axc/o:008",
"gpid": 3715
},
@ -82,7 +82,7 @@
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,3], [3,4] ] },
"note_number": "53\u2020",
"notes": [ "E", "R", "H", "S", "B" ],
"notes": [ "B", "E", "H", "R", "S" ],
"id": "axc/o:009",
"gpid": 3716
},
@ -91,7 +91,7 @@
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "H": [ [5,"3+"] ], "s": 6 },
"note_number": "54\u2020",
"notes": [ "E", "R", "B" ],
"notes": [ "B", "E", "R" ],
"id": "axc/o:010",
"gpid": 3717
},
@ -100,7 +100,7 @@
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": [ [4,3], [3,4] ] },
"note_number": "55\u2020",
"notes": [ "E", "R", "H", "S", "B" ],
"notes": [ "B", "E", "H", "R", "S" ],
"id": "axc/o:011",
"gpid": 3718
},
@ -108,7 +108,7 @@
"type": "ART",
"capabilities": [ "NT", "QSU" ],
"note_number": "56\u2020",
"notes": [ "A", "R", "H", "S", "C", "B" ],
"notes": [ "A", "B", "C", "H", "R", "S" ],
"id": "axc/o:012",
"gpid": 3719
},
@ -117,7 +117,7 @@
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 7 },
"note_number": "57",
"notes": [ "R", "B" ],
"notes": [ "B", "R" ],
"id": "axc/o:013",
"gpid": 3720
},
@ -134,7 +134,7 @@
"type": "ART",
"capabilities": [ "NT", "QSU" ],
"note_number": "59\u2020",
"notes": [ "A", "R", "S", "C" ],
"notes": [ "A", "C", "R", "S" ],
"id": "axc/o:015",
"gpid": 3722
},
@ -142,7 +142,7 @@
"type": "ART",
"capabilities": [ "T" ],
"note_number": "60\u2020",
"notes": [ "S", "C" ],
"notes": [ "C", "S" ],
"id": "axc/o:016",
"gpid": 3723
},
@ -151,7 +151,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "s": 8 },
"note_number": "61\u2020",
"notes": [ "A\u2020", "R", "H", "S", "C" ],
"notes": [ "A\u2020", "C", "H", "R", "S" ],
"id": "axc/o:017",
"gpid": 3724
},
@ -160,7 +160,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "H": [ [4,"3+"] ], "s": 5 },
"note_number": "62\u2020",
"notes": [ "E", "H", "S", "B" ],
"notes": [ "B", "E", "H", "S" ],
"id": "axc/o:018",
"gpid": 3725
},
@ -169,7 +169,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "AP": 7, "C": [ [7,"CS"], "\u2020" ] },
"note_number": "63\u2020",
"notes": [ "R", "S", "C" ],
"notes": [ "C", "R", "S" ],
"id": "axc/o:019",
"gpid": 3726
},
@ -178,7 +178,7 @@
"capabilities": [ "NT", "h-d" ],
"capabilities2": { "s": 7 },
"note_number": "64\u2020",
"notes": [ "R", "B" ],
"notes": [ "B", "R" ],
"id": "axc/o:020",
"gpid": 3727
},
@ -187,7 +187,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "s": [ [5,"1-2R"], "\u2020" ] },
"note_number": "65",
"notes": [ "R", "B" ],
"notes": [ "B", "R" ],
"id": "axc/o:021",
"gpid": 3728
},
@ -195,7 +195,7 @@
"type": "ART",
"capabilities": [ "NT" ],
"note_number": "66\u2020",
"notes": [ "R", "H", "S" ],
"notes": [ "H", "R", "S" ],
"id": "axc/o:022",
"gpid": 3729
},
@ -205,7 +205,7 @@
"capabilities2": { "s": 6 },
"comments": [ "No IF." ],
"note_number": "67\u2020",
"notes": [ "S", "C" ],
"notes": [ "C", "S" ],
"id": "axc/o:023",
"gpid": 3730
},
@ -214,7 +214,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "s": 7 },
"note_number": "68\u2020",
"notes": [ "R", "B" ],
"notes": [ "B", "R" ],
"id": "axc/o:024",
"gpid": 3731
},
@ -223,7 +223,7 @@
"capabilities": [ "T" ],
"capabilities_other": [ "2 TK DR\u2020" ],
"note_number": "69\u2020",
"notes": [ "T\u2020<sup>1</sup>", "R", "B" ],
"notes": [ "B", "R", "T\u2020<sup>1</sup>" ],
"id": "axc/o:025",
"gpid": 3732
},
@ -232,7 +232,7 @@
"capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020", "2 ROF", "B11" ] },
"note_number": "70",
"notes": [ "G\u2020", "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "G\u2020", "H", "R", "S" ],
"id": "axc/o:026",
"gpid": 3733
},
@ -241,7 +241,7 @@
"capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020<sup>1</sup>", "2 ROF", "B9" ] },
"note_number": "71\u2020",
"notes": [ "E", "G\u2020<sup>1</sup>", "R", "B" ],
"notes": [ "B", "E", "G\u2020<sup>1</sup>", "R" ],
"id": "axc/o:027",
"gpid": 3734
},
@ -250,7 +250,7 @@
"capabilities": [ "T" ],
"capabilities2": { "LF": [ "NT", "20\u2020<sup>1</sup>", "2 ROF", "B10" ] },
"note_number": "72\u2020",
"notes": [ "E", "G\u2020<sup>1</sup>", "R", "B" ],
"notes": [ "B", "E", "G\u2020<sup>1</sup>", "R" ],
"id": "axc/o:028",
"gpid": 3735
},
@ -258,7 +258,7 @@
"type": "AA",
"capabilities": [ "T" ],
"note_number": "73\u2020",
"notes": [ "E", "R", "B" ],
"notes": [ "B", "E", "R" ],
"id": "axc/o:029",
"gpid": 3736
},
@ -267,15 +267,15 @@
"capabilities": [ "T" ],
"capabilities2": { "LF": [ "40\u2020<sup>1</sup>", "2 ROF" ] },
"note_number": "74\u2020",
"notes": [ "G\u2020<sup>1</sup>", "R", "H", "S", "C" ],
"notes": [ "C", "G\u2020<sup>1</sup>", "H", "R", "S" ],
"id": "axc/o:030",
"gpid": 3737
},
{ "name": "Skoda M33",
"type": "AA",
"capabilities": [ "T" ],
"note_number": "75R",
"notes": [ "S" ],
"note_number": "75",
"notes": [ "R", "S" ],
"id": "axc/o:031",
"gpid": 3738
},
@ -284,7 +284,7 @@
"capabilities": [ "T" ],
"capabilities2": { "LF": [ "88\u2020<sup>1</sup>", "1 ROF", "B11" ] },
"note_number": "76\u2020",
"notes": [ "E", "G\u2020<sup>1</sup>", "R", "S", "B" ],
"notes": [ "B", "E", "G\u2020<sup>1</sup>", "R", "S" ],
"id": "axc/o:032",
"gpid": 3739
}

@ -1,6 +1,6 @@
[
{ "name": "Canonne da 65/17",
{ "name": "Cannone da 65/17",
"type": "INF",
"capabilities": [ "NT" ],
"comments": [ "No Gunshield." ],

@ -74,7 +74,7 @@
"capabilities": [ "NT" ],
"capabilities2": { "AP": 6 },
"note_number": "9\u2020",
"notes": [ "A" ],
"notes": [ "A\u2020" ],
"id": "ro/o:008",
"gpid": 3747
},

@ -7,8 +7,8 @@
"capabilities_other": [ "4PP" ],
"note_number": "14",
"notes": [ "A", "N" ],
"id": "bcfk/o:000",
"gpid": null
"id": "kfw-bcfk/o:000",
"gpid": 12687
},
{ "name": "M19 60mm Mortar",
"type": "MTR",
@ -17,8 +17,8 @@
"capabilities_other": [ "4PP" ],
"note_number": "15",
"notes": [ "A", "R" ],
"id": "bcfk/o:001",
"gpid": null
"id": "kfw-bcfk/o:001",
"gpid": "3b5:7613"
},
{ "name": "OML 3-in. Mortar",
"type": "MTR",
@ -26,8 +26,8 @@
"capabilities2": { "s": 8, "WP": 7 },
"note_number": "16",
"notes": [ "A" ],
"id": "bcfk/o:002",
"gpid": null
"id": "kfw-bcfk/o:002",
"gpid": 5944
},
{ "name": "OSB 4.2-in. Mortar",
"type": "MTR",
@ -36,8 +36,8 @@
"comments": [ "Towed\u2020" ],
"note_number": "17\u2020",
"notes": [ "N" ],
"id": "bcfk/o:003",
"gpid": null
"id": "kfw-bcfk/o:003",
"gpid": 1181
},
{ "name": "OQF 17-Pounder",
"type": "AT",
@ -45,8 +45,8 @@
"capabilities2": { "HE": 8, "D": 6 },
"note_number": "18",
"notes": [ "N" ],
"id": "bcfk/o:004",
"gpid": null
"id": "kfw-bcfk/o:004",
"gpid": 12439
},
{ "name": "OQF 25-Pounder",
"type": "ART",
@ -54,8 +54,8 @@
"capabilities_other": [ "ST" ],
"note_number": "19\u2020",
"notes": [ "N" ],
"id": "bcfk/o:005",
"gpid": null
"id": "kfw-bcfk/o:005",
"gpid": 1194
},
{ "name": "OQF 40mm AA",
"type": "AA",
@ -63,8 +63,8 @@
"capabilities2": { "LF": [ "40\u2020", "2 ROF" ] },
"note_number": "20",
"notes": [ "B\u2020", "N" ],
"id": "bcfk/o:006",
"gpid": null
"id": "kfw-bcfk/o:006",
"gpid": 1204
}
]

@ -1,42 +1,28 @@
[
{ "name": "M1A1 Rocket Launcher",
"type": null,
"capabilities_other": [ "1PP" ],
"note_number": "16",
"id": "cvpa/o:000",
"gpid": null
},
{ "name": "Type 51 Rocket Launcher",
"type": null,
"capabilities_other": [ "1PP" ],
"note_number": "17",
"id": "cvpa/o:001",
"gpid": null
},
{ "name": "50mm Type 89 Heavy Grenade Launcher",
"type": "MTR",
"capabilities_other": [ "4PP" ],
"note_number": "18\u2020",
"notes": [ "A" ],
"id": "cvpa/o:002",
"gpid": null
"id": "kfw-cpva/o:002",
"gpid": 11558
},
{ "name": "60mm Type 31 Mortar",
"type": "MTR",
"capabilities_other": [ "5PP" ],
"note_number": "19",
"notes": [ "A" ],
"id": "cvpa/o:003",
"gpid": null
"id": "kfw-cpva/o:003",
"gpid": 11559
},
{ "name": "82mm Type 20 Mortar",
"type": "MTR",
"capabilities": [ "NT", "QSU" ],
"note_number": "20\u2020",
"notes": [ "A" ],
"id": "cvpa/o:004",
"gpid": null
"id": "kfw-cpva/o:004",
"gpid": 11579
},
{ "name": "82mm Type 53 Mortar",
"type": "MTR",
@ -44,39 +30,39 @@
"capabilities2": { "s": 6 },
"note_number": "21\u2020",
"notes": [ "A" ],
"id": "cvpa/o:005",
"gpid": null
"id": "kfw-cpva/o:005",
"gpid": 11581
},
{ "name": "120mm PM obr. 38",
"type": "MTR",
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "s": 6 },
"note_number": "22\u2020",
"id": "cvpa/o:006",
"gpid": null
"id": "kfw-cpva/o:006",
"gpid": 11583
},
{ "name": "45mm PTP obr. 42",
"type": "AT",
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7 },
"note_number": "23\u2020",
"id": "cvpa/o:007",
"gpid": null
"id": "kfw-cpva/o:007",
"gpid": 11584
},
{ "name": "47mm Type 1 Machine-Moved Gun",
"type": "AT",
"capabilities": [ "NT", "QSU" ],
"note_number": "24\u2020",
"id": "cvpa/o:008",
"gpid": null
"id": "kfw-cpva/o:008",
"gpid": 11585
},
{ "name": "57mm PTP obr. 43",
"type": "AT",
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 6 },
"note_number": "25\u2020",
"id": "cvpa/o:009",
"gpid": null
"id": "kfw-cpva/o:009",
"gpid": "3b5:10114"
},
{ "name": "57mm Type 36 Recoilless Rifle",
"type": "RCL",
@ -85,8 +71,8 @@
"comments": [ "crewed\u2020" ],
"note_number": "26\u2020<sup>1</sup>",
"notes": [ "R\u2020" ],
"id": "cvpa/o:010",
"gpid": null
"id": "kfw-cpva/o:010",
"gpid": "3b5:10150"
},
{ "name": "75mm Type 52 Recoilless Rifle",
"type": "RCL",
@ -95,8 +81,8 @@
"comments": [ "crewed\u2020" ],
"note_number": "27",
"notes": [ "R\u2020" ],
"id": "cvpa/o:011",
"gpid": null
"id": "kfw-cpva/o:011",
"gpid": "3b5:10151"
},
{ "name": "70mm Type 92 Infantry Gun",
"type": "INF",
@ -104,8 +90,8 @@
"capabilities2": { "AP": 3, "H": 3 },
"note_number": "28\u2020",
"notes": [ "A" ],
"id": "cvpa/o:012",
"gpid": null
"id": "kfw-cpva/o:012",
"gpid": "3b5:10115"
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
@ -113,24 +99,24 @@
"capabilities2": { "H": 6, "s": 6 },
"note_number": "29\u2020",
"notes": [ "A" ],
"id": "cvpa/o:013",
"gpid": null
"id": "kfw-cpva/o:013",
"gpid": "3b5:10118"
},
{ "name": "Year-38 Type Field Gun (Improved)",
"type": "ART",
"capabilities": [ "NT", "QSU", "h-d" ],
"capabilities_other": [ "\"12\" AP TK#\u2020" ],
"note_number": "30\u2020",
"id": "cvpa/o:014",
"gpid": null
"id": "kfw-cpva/o:014",
"gpid": 11586
},
{ "name": "76.2mm obr. 42",
"type": "ART",
"capabilities": [ "NT", "QSU" ],
"capabilities2": { "A": 7, "s": 6 },
"note_number": "31\u2020",
"id": "cvpa/o:015",
"gpid": null
"id": "kfw-cpva/o:015",
"gpid": "3b5:10119"
},
{ "name": "Type 93 Twin-Mount High-Angle Machine Gun",
"type": "AA",
@ -139,8 +125,8 @@
"comments": [ "Towing NA\u2020" ],
"note_number": "32\u2020",
"notes": [ "A" ],
"id": "cvpa/o:016",
"gpid": null
"id": "kfw-cpva/o:016",
"gpid": 11587
}
]

@ -5,8 +5,8 @@
"capabilities_other": [ "4PP" ],
"note_number": "1",
"notes": [ "A", "B" ],
"id": "kpa/o:000",
"gpid": null
"id": "kfw-kpa/o:000",
"gpid": 11600
},
{ "name": "82mm BM obr. 37",
"type": "MTR",
@ -14,8 +14,8 @@
"capabilities2": { "s": 8 },
"note_number": "2\u2020",
"notes": [ "A", "B" ],
"id": "kpa/o:001",
"gpid": null
"id": "kfw-kpa/o:001",
"gpid": 11621
},
{ "name": "120mm PM obr. 38",
"type": "MTR",
@ -23,23 +23,23 @@
"capabilities2": { "s": 8 },
"note_number": "3\u2020",
"notes": [ "B" ],
"id": "kpa/o:002",
"gpid": null
"id": "kfw-kpa/o:002",
"gpid": 11623
},
{ "name": "14.5mm PTRD-41",
"type": "ATR",
"capabilities_other": [ "1PP" ],
"note_number": "4",
"notes": [ "B" ],
"id": "kpa/o:003",
"gpid": null
"id": "kfw-kpa/o:003",
"gpid": 11604
},
{ "name": "14.5mm PTRS-41",
"type": "ATR",
"capabilities_other": [ "2PP", "TK#: 6\u2020" ],
"note_number": "5\u2020",
"id": "kpa/o:004",
"gpid": null
"id": "kfw-kpa/o:004",
"gpid": "3b5:7871"
},
{ "name": "45mm PTP obr. 37",
"type": "AT",
@ -47,8 +47,8 @@
"capabilities2": { "A": 7 },
"note_number": "6\u2020",
"notes": [ "B" ],
"id": "kpa/o:005",
"gpid": null
"id": "kfw-kpa/o:005",
"gpid": 11624
},
{ "name": "45mm PTP obr. 42",
"type": "AT",
@ -56,8 +56,8 @@
"capabilities2": { "A": 7 },
"note_number": "6\u2020",
"notes": [ "B" ],
"id": "kpa/o:006",
"gpid": null
"id": "kfw-kpa/o:006",
"gpid": 11625
},
{ "name": "76.2mm PP obr. 27",
"type": "INF",
@ -65,8 +65,8 @@
"capabilities2": { "H": 6, "s": 8 },
"note_number": "7\u2020",
"notes": [ "A", "B" ],
"id": "kpa/o:007",
"gpid": null
"id": "kfw-kpa/o:007",
"gpid": 11626
},
{ "name": "76.2mm obr. 02/30",
"type": "ART",
@ -74,8 +74,8 @@
"capabilities2": { "s": 8 },
"note_number": "8\u2020",
"notes": [ "B" ],
"id": "kpa/o:008",
"gpid": null
"id": "kfw-kpa/o:008",
"gpid": 11627
},
{ "name": "76.2mm obr. 42",
"type": "ART",
@ -83,8 +83,8 @@
"capabilities2": { "A": 7, "s": 8 },
"note_number": "9\u2020",
"notes": [ "B" ],
"id": "kpa/o:009",
"gpid": null
"id": "kfw-kpa/o:009",
"gpid": 11628
},
{ "name": "107mm P obr. 10/30",
"type": "ART",
@ -92,8 +92,8 @@
"capabilities2": { "s": 8 },
"note_number": "10",
"notes": [ "B" ],
"id": "kpa/o:010",
"gpid": null
"id": "kfw-kpa/o:010",
"gpid": 11629
},
{ "name": "122mm G obr. 38",
"type": "ART",
@ -101,8 +101,8 @@
"capabilities2": { "H": 6, "s": 8 },
"note_number": "11\u2020",
"notes": [ "B" ],
"id": "kpa/o:011",
"gpid": null
"id": "kfw-kpa/o:011",
"gpid": "3b5:2047"
},
{ "name": "122mm obr. 31",
"type": "ART",
@ -110,32 +110,32 @@
"capabilities2": { "s": 8 },
"note_number": "12",
"notes": [ "B" ],
"id": "kpa/o:012",
"gpid": null
"id": "kfw-kpa/o:012",
"gpid": 11630
},
{ "name": "152mm GP obr. 37",
"type": "ART",
"capabilities": [ "NT" ],
"note_number": "13",
"notes": [ "B" ],
"id": "kpa/o:013",
"gpid": null
"id": "kfw-kpa/o:013",
"gpid": 11631
},
{ "name": "37mm ZP obr. 39",
"type": "AA",
"capabilities": [ "T" ],
"note_number": "14\u2020",
"notes": [ "B" ],
"id": "kpa/o:014",
"gpid": null
"id": "kfw-kpa/o:014",
"gpid": 11632
},
{ "name": "85mm ZP obr. 39",
"type": "AA",
"capabilities": [ "T" ],
"note_number": "15",
"notes": [ "B" ],
"id": "kpa/o:015",
"gpid": null
"id": "kfw-kpa/o:015",
"gpid": 11633
}
]

@ -1,23 +1,5 @@
[
{ "name": "M9A1 Rocket Launcher",
"type": null,
"capabilities2": { "WP": 6 },
"capabilities_other": [ "1PP" ],
"note_number": "21",
"notes": [ "K", "R", "Y" ],
"id": "unc/o:000",
"gpid": null
},
{ "name": "M20 Rocket Launcher",
"type": null,
"capabilities2": { "WP": [ [6,"2+"], "\u2020" ] },
"capabilities_other": [ "1PP" ],
"note_number": "22\u2020",
"notes": [ "K", "M", "O", "P", "R" ],
"id": "unc/o:001",
"gpid": null
},
{ "name": "M2 60mm Mortar",
"type": "MTR",
"capabilities": [ "IR" ],
@ -25,8 +7,8 @@
"capabilities_other": [ "5PP", "OBA\u2020" ],
"note_number": "23\u2020",
"notes": [ "A", "K", "M", "O", "P", "Y" ],
"id": "unc/o:002",
"gpid": null
"id": "kfw-un-common/o:002",
"gpid": [ 12689, 11391, 11359, 11440, 849 ]
},
{ "name": "M1(L) 81mm Mortar",
"type": "MTR",
@ -34,8 +16,8 @@
"capabilities2": { "WP": 8 },
"note_number": "24\u2020",
"notes": [ "A", "K", "M", "O", "P", "R" ],
"id": "unc/o:003",
"gpid": null
"id": "kfw-un-common/o:003",
"gpid": [ 11416, "3b5:2460", 11363, "3b5:8410" ]
},
{ "name": "M20(L) 75mm Recoilless Rifle",
"type": "RCL",
@ -44,8 +26,8 @@
"comments": [ "crewed\u2020" ],
"note_number": "25\u2020",
"notes": [ "K", "M", "O", "P", "R" ],
"id": "unc/o:004",
"gpid": null
"id": "kfw-un-common/o:004",
"gpid": [ 11396, 11337, "3b5:11259", "3b5:8402" ]
}
]

@ -5,8 +5,8 @@
"capabilities_other": [ "4PP" ],
"note_number": "1\u2020",
"notes": [ "A", "P" ],
"id": "uro/o:000",
"gpid": null
"id": "kfw-uro/o:000",
"gpid": 11392
},
{ "name": "M2 4.2-in. Mortar",
"type": "MTR",
@ -14,8 +14,8 @@
"capabilities2": { "WP": 10 },
"note_number": "2\u2020",
"notes": [ "K", "M", "O", "P", "Y" ],
"id": "uro/o:001",
"gpid": null
"id": "kfw-uro/o:001",
"gpid": [ 11418, 881, "3b5:8412" ]
},
{ "name": "M3A1 37mm AT Gun",
"type": "AT",
@ -23,8 +23,8 @@
"capabilities2": { "C": 7 },
"note_number": "3\u2020",
"notes": [ "C", "K", "P" ],
"id": "uro/o:002",
"gpid": null
"id": "kfw-uro/o:002",
"gpid": 11419
},
{ "name": "M1 57mm AT Gun",
"type": "AT",
@ -32,8 +32,8 @@
"capabilities2": { "HE": 7, "D": 4 },
"note_number": "4\u2020",
"notes": [ "K" ],
"id": "uro/o:003",
"gpid": null
"id": "kfw-uro/o:003",
"gpid": 11420
},
{ "name": "M18(L) 57mm Recoilless Rifle",
"type": "RCL",
@ -42,8 +42,8 @@
"comments": [ "non-crewed\u2020" ],
"note_number": "5\u2020",
"notes": [ "C", "K", "O" ],
"id": "uro/o:004",
"gpid": null
"id": "kfw-uro/o:004",
"gpid": [ 11395, 11336, "3b5:8401" ]
},
{ "name": "M2A1 105mm Howitzer",
"type": "ART",
@ -51,8 +51,8 @@
"capabilities2": { "H": 6, "s": 7, "WP": 8, "C": 7 },
"note_number": "6\u2020",
"notes": [ "C", "K", "M", "O", "P", "Y" ],
"id": "uro/o:005",
"gpid": null
"id": "kfw-uro/o:005",
"gpid": [ 11421, 891, "3b5:8417" ]
},
{ "name": "M3 105mm Howitzer",
"type": "ART",
@ -60,8 +60,8 @@
"capabilities2": { "H": 7, "s": 7, "WP": 8, "C": 7 },
"note_number": "7\u2020",
"notes": [ "C", "K" ],
"id": "uro/o:006",
"gpid": null
"id": "kfw-uro/o:006",
"gpid": 11422
},
{ "name": "M1 155mm Howitzer",
"type": "ART",
@ -69,8 +69,8 @@
"capabilities2": { "s": 7, "WP": 8 },
"note_number": "8\u2020",
"notes": [ "K", "M", "P", "Y" ],
"id": "uro/o:007",
"gpid": null
"id": "kfw-uro/o:007",
"gpid": [ 11423, 895 ]
},
{ "name": "M1A1 155mm Gun",
"type": "ART",
@ -79,8 +79,8 @@
"comments": [ "No IF." ],
"note_number": "9",
"notes": [ "Y" ],
"id": "uro/o:008",
"gpid": null
"id": "kfw-uro/o:008",
"gpid": 897
},
{ "name": "M1 8-in. Howitzer",
"type": "ART",
@ -88,8 +88,8 @@
"comments": [ "No IF." ],
"note_number": "10\u2020",
"notes": [ "Y" ],
"id": "uro/o:009",
"gpid": null
"id": "kfw-uro/o:009",
"gpid": 898
},
{ "name": "M51 Multiple .50-cal MG Carriage",
"type": "AA",
@ -98,8 +98,8 @@
"capabilities_other": [ "4 TK DR\u2020" ],
"note_number": "11\u2020",
"notes": [ "M", "Y" ],
"id": "uro/o:010",
"gpid": null
"id": "kfw-uro/o:010",
"gpid": "3b5:3741"
},
{ "name": "M1 40mm AA Gun",
"type": "AA",
@ -107,8 +107,8 @@
"capabilities2": { "LF": [ "40\u2020", "2 ROF" ] },
"note_number": "12",
"notes": [ "B\u2020", "Y" ],
"id": "uro/o:011",
"gpid": null
"id": "kfw-uro/o:011",
"gpid": 902
},
{ "name": "M2 90mm AA Gun",
"type": "AA",
@ -116,8 +116,8 @@
"capabilities2": { "LF": [ "90\u2020<sup>1</sup>", "1 ROF", "B11" ] },
"note_number": "13\u2020",
"notes": [ "B\u2020<sup>1</sup>", "M", "Y" ],
"id": "uro/o:012",
"gpid": null
"id": "kfw-uro/o:012",
"gpid": 905
}
]

@ -130,6 +130,18 @@
"updated": {
"front_images": "ru/gun/ru76PPobr27.png"
}
},
"3b5:10093": {
"expected": {
"name": "SL truck",
"front_images": [ "sh/SL3b(KFW).png", "sh/SL4b(KFW).png", "sh/SL5b(KFW).png", "sh/SL6b(KFW).png", "sh/SL1b(KFW).png", "sh/SL2b(KFW).png" ],
"back_images": [ "sh/SL3(KFW).png", "sh/SL4(KFW).png", "sh/SL5(KFW).png", "sh/SL6(KFW).png", "sh/SL1(KFW).png", "sh/SL2(KFW).png" ]
},
"updated": {
"front_images": "us/veh/usSearchlight(KFW).png",
"back_images": null
}
}
}

@ -497,7 +497,7 @@
"id": "am/v:056",
"gpid": 1032
},
{ "name": "\u00bc-Ton Jeep GPA",
{ "name": "&#188;-Ton Jeep GPA",
"type": "atr",
"cs#": 2,
"note_number": "53\u2020",
@ -505,7 +505,7 @@
"id": "am/v:057",
"gpid": 1036
},
{ "name": "\u00bc-Ton Jeep",
{ "name": "&#188;-Ton Jeep",
"type": "tr",
"cs#": "2\u2020<sup>1</sup>",
"note_number": "54\u2020",
@ -513,7 +513,7 @@
"id": "am/v:058",
"gpid": [ 1039, 1040, 1041 ]
},
{ "name": "\u00be-Ton",
{ "name": "&#190;-Ton",
"type": "tr",
"cs#": 4,
"note_number": "55\u2020",
@ -521,7 +521,7 @@
"id": "am/v:059",
"gpid": 1042
},
{ "name": "1\u00bd-Ton",
{ "name": "1&#189;-Ton",
"type": "tr",
"cs#": 6,
"note_number": "56\u2020",
@ -529,7 +529,7 @@
"id": "am/v:060",
"gpid": 1044
},
{ "name": "2\u00bd-Ton",
{ "name": "2&#189;-Ton",
"type": "tr",
"cs#": 7,
"note_number": "57\u2020",
@ -537,7 +537,7 @@
"id": "am/v:061",
"gpid": 1046
},
{ "name": "7\u00bd-Ton",
{ "name": "7&#189;-Ton",
"type": "tr",
"cs#": 7,
"note_number": "58\u2020",

@ -5,7 +5,7 @@
"no_radio": "\u00ae",
"CS#": 2,
"note_number": "29\u2020",
"notes": [ "K\u2020<sup>1</sup>", "E", "F", "G\u2020<sup>2</sup>", "H", "C", "B" ],
"notes": [ "B", "C", "E", "F", "G\u2020<sup>2</sup>", "H", "K\u2020<sup>1</sup>" ],
"id": "axc/v:000",
"gpid": 3787
},
@ -15,7 +15,7 @@
"CS#": 2,
"no_if": true,
"note_number": "30\u2020",
"notes": [ "D", "R", "C" ],
"notes": [ "C", "D", "R" ],
"id": "axc/v:001",
"gpid": 3789
},
@ -25,7 +25,7 @@
"CS#": 2,
"capabilities2": { "AP": 9 },
"note_number": "30\u2020",
"notes": [ "D", "R", "C" ],
"notes": [ "C", "D", "R" ],
"id": "axc/v:002",
"gpid": 3791
},
@ -34,7 +34,7 @@
"CS#": 2,
"capabilities2": { "sD": 6 },
"note_number": "31\u2020",
"notes": [ "K\u2020<sup>1</sup>", "E", "H", "C" ],
"notes": [ "C", "E", "H", "K\u2020<sup>1</sup>" ],
"id": "axc/v:003",
"gpid": 3827
},
@ -44,7 +44,7 @@
"CS#": 2,
"capabilities2": { "AP": 10 },
"note_number": "32\u2020",
"notes": [ "A\u2020<sup>1</sup>", "D", "E", "R", "H", "B" ],
"notes": [ "A\u2020<sup>1</sup>", "B", "D", "E", "H", "R" ],
"id": "axc/v:004",
"gpid": [ 3795, 3906 ]
},
@ -54,7 +54,7 @@
"CS#": 2,
"capabilities2": { "AP": 10 },
"note_number": "33\u2020",
"notes": [ "A\u2020<sup>1</sup>", "D", "E", "H", "C", "B" ],
"notes": [ "A\u2020<sup>1</sup>", "B", "C", "D", "E", "H" ],
"id": "axc/v:005",
"gpid": 3793
},
@ -63,7 +63,7 @@
"CS#": 4,
"capabilities2": { "sD": 5 },
"note_number": "34\u2020",
"notes": [ "E", "R", "S", "B" ],
"notes": [ "B", "E", "R", "S" ],
"id": "axc/v:006",
"gpid": 3825
},
@ -72,7 +72,7 @@
"CS#": 4,
"capabilities2": { "A": [ [3,1], [4,2], [3,3] ], "sD": 6 },
"note_number": "35\u2020",
"notes": [ "E", "R", "H", "S" ],
"notes": [ "E", "H", "R", "S" ],
"id": "axc/v:007",
"gpid": 3799
},
@ -81,11 +81,11 @@
"CS#": 4,
"capabilities2": { "A": [ [4,2], [3,3] ], "sD": 7 },
"note_number": "35\u2020",
"notes": [ "E", "H", "S", "B" ],
"notes": [ "B", "E", "H", "S" ],
"id": "axc/v:008",
"gpid": 3801
},
{ "name": "S-35(f)",
{ "name": "S35(f)",
"type": "MT",
"CS#": 4,
"note_number": "36\u2020",
@ -98,7 +98,7 @@
"CS#": 5,
"capabilities2": { "A": [ [5,2], [4,3], [3,4] ], "sD": 5 },
"note_number": "37\u2020",
"notes": [ "E", "O\u2020<sup>1</sup>", "Q", "R", "H", "C" ],
"notes": [ "C", "E", "H", "O\u2020<sup>1</sup>", "Q", "R" ],
"id": "axc/v:010",
"gpid": [ 3829, 3831 ]
},
@ -125,7 +125,7 @@
"CS#": 6,
"capabilities2": { "AP": 7, "H": [ [5,"3+"] ], "s": 8, "sD": 7 },
"note_number": "39\u2020",
"notes": [ "E", "Q", "R", "H", "B" ],
"notes": [ "B", "E", "H", "Q", "R" ],
"id": "axc/v:013",
"gpid": 3839
},
@ -134,7 +134,7 @@
"CS#": 6,
"capabilities2": { "A": [ [4,2], [3,3] ], "s": 7, "sD": 5 },
"note_number": "39\u2020",
"notes": [ "E", "O\u2020<sup>1</sup>", "Q", "R", "H", "B" ],
"notes": [ "B", "E", "H", "O\u2020<sup>1</sup>", "Q", "R" ],
"id": "axc/v:014",
"gpid": [ 3841, 3843 ]
},
@ -143,7 +143,7 @@
"CS#": 4,
"capabilities2": { "A": [ [3,4] ], "s": 8, "sD": 7 },
"note_number": "40\u2020",
"notes": [ "E", "Q", "R", "H", "B" ],
"notes": [ "B", "E", "H", "Q", "R" ],
"id": "axc/v:015",
"gpid": 3845
},
@ -152,14 +152,14 @@
"CS#": 4,
"capabilities2": { "A": [ [3,4] ], "HE": 7 },
"note_number": "41\u2020",
"notes": [ "E", "H", "B" ],
"notes": [ "B", "E", "H" ],
"id": "axc/v:016",
"gpid": 3803
},
{ "name": "SPW 250/1(g)",
"type": "ht",
"CS#": 4,
"note_number": "42\u2020",
"note_number": "42",
"notes": [ "E", "R" ],
"id": "axc/v:017",
"gpid": 3847
@ -168,7 +168,7 @@
"type": "ht",
"CS#": 5,
"note_number": "42\u2020",
"notes": [ "E", "R", "C" ],
"notes": [ "C", "E", "R" ],
"id": "axc/v:018",
"gpid": 3849
},
@ -194,7 +194,7 @@
"type": "AC",
"CS#": 4,
"note_number": "44\u2020",
"notes": [ "E", "R", "C" ],
"notes": [ "C", "E", "R" ],
"id": "axc/v:021",
"gpid": 3807
},
@ -203,7 +203,7 @@
"CS#": 3,
"capabilities2": { "sD": 6 },
"note_number": "45\u2020",
"notes": [ "P\u2020<sup>1</sup>", "E", "M\u2020<sup>2</sup>", "R", "B" ],
"notes": [ "B", "E", "M\u2020<sup>2</sup>", "P\u2020<sup>1</sup>", "R" ],
"id": "axc/v:022",
"gpid": 3853
},
@ -212,7 +212,7 @@
"CS#": 3,
"capabilities2": { "sD": 6 },
"note_number": "45\u2020",
"notes": [ "P\u2020<sup>1</sup>", "E", "M\u2020<sup>2</sup>", "R", "B" ],
"notes": [ "B", "E", "M\u2020<sup>2</sup>", "P\u2020<sup>1</sup>", "R" ],
"id": "axc/v:023",
"gpid": 3855
},
@ -221,7 +221,7 @@
"CS#": 3,
"capabilities2": { "sD": 6 },
"note_number": "46\u2020",
"notes": [ "E", "M\u2020<sup>1</sup>", "P\u2020<sup>2</sup>", "R", "B" ],
"notes": [ "B", "E", "M\u2020<sup>1</sup>", "P\u2020<sup>2</sup>", "R" ],
"id": "axc/v:024",
"gpid": 3857
},
@ -229,7 +229,7 @@
"type": "APC",
"cs#": "2\u2020<sup>1</sup>",
"note_number": "47\u2020",
"notes": [ "E", "F", "I\u2020<sup>1</sup>", "J", "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "E", "F", "H", "I\u2020<sup>1</sup>", "J", "R", "S" ],
"id": "axc/v:025",
"gpid": [ 3809, 3811 ]
},
@ -237,7 +237,7 @@
"type": "PC",
"cs#": 5,
"note_number": "48",
"notes": [ "S", "B" ],
"notes": [ "B", "S" ],
"id": "axc/v:026",
"gpid": 3859
},
@ -245,7 +245,7 @@
"type": "PC",
"cs#": 4,
"note_number": "49",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:027",
"gpid": 3813
},
@ -253,7 +253,7 @@
"type": "PC",
"cs#": 5,
"note_number": "49",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:028",
"gpid": 3815
},
@ -261,7 +261,7 @@
"type": "PC",
"cs#": 6,
"note_number": "49",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:029",
"gpid": 3817
},
@ -269,7 +269,7 @@
"type": "tr",
"cs#": 4,
"note_number": "50",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:030",
"gpid": 3819
},
@ -277,7 +277,7 @@
"type": "tr",
"cs#": 5,
"note_number": "50",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:031",
"gpid": 3821
},
@ -285,7 +285,7 @@
"type": "tr",
"cs#": 7,
"note_number": "50",
"notes": [ "R", "H", "S", "C", "B" ],
"notes": [ "B", "C", "H", "R", "S" ],
"id": "axc/v:032",
"gpid": 3823
}

@ -5,7 +5,7 @@
"no_radio": "\u00ae",
"CS#": 2,
"note_number": "17\u2020",
"notes": [ "K\u2020<sup>1</sup>", "E", "F", "G\u2020<sup>2</sup>" ],
"notes": [ "E", "F", "G\u2020<sup>2</sup>", "K\u2020<sup>1</sup>" ],
"id": "sl/v:000",
"gpid": 3879
},
@ -31,7 +31,7 @@
"CS#": 4,
"capabilities2": { "sD": 6 },
"note_number": "20\u2020",
"notes": [ "K\u2020<sup>1</sup>", "E" ],
"notes": [ "E", "K\u2020<sup>1</sup>" ],
"id": "sl/v:003",
"gpid": 3885
},
@ -48,7 +48,7 @@
"type": "tr",
"cs#": "2\u2020<sup>1</sup>",
"note_number": "22\u2020",
"notes": [ "E", "L\u2020<sup>2</sup>", "I\u2020<sup>1</sup>" ],
"notes": [ "E", "I\u2020<sup>1</sup>", "L\u2020<sup>2</sup>" ],
"id": "sl/v:005",
"gpid": 3889
},

@ -1068,7 +1068,7 @@
"id": "br/v:121",
"gpid": 1567
},
{ "name": "\u00bc-Ton Jeep(a)",
{ "name": "&#188;-Ton Jeep(a)",
"type": "tr",
"cs#": "2\u2020<sup>1</sup>",
"note_number": "84\u2020",
@ -1076,7 +1076,7 @@
"id": "br/v:122",
"gpid": [ 1569, 1570 ]
},
{ "name": "\u00be-Ton Truck(a)",
{ "name": "&#190;-Ton Truck(a)",
"type": "tr",
"cs#": 4,
"note_number": "85",
@ -1084,7 +1084,7 @@
"id": "br/v:123",
"gpid": 1571
},
{ "name": "1\u00bd-Ton Truck(a)",
{ "name": "1&#189;-Ton Truck(a)",
"type": "tr",
"cs#": 6,
"note_number": "85",
@ -1092,7 +1092,7 @@
"id": "br/v:124",
"gpid": 1573
},
{ "name": "2\u00bd-Ton Truck(a)",
{ "name": "2&#189;-Ton Truck(a)",
"type": "tr",
"cs#": 7,
"note_number": "85",
@ -1100,7 +1100,7 @@
"id": "br/v:125",
"gpid": 1575
},
{ "name": "7\u00bd-Ton Truck(a)",
{ "name": "7&#189;-Ton Truck(a)",
"type": "tr",
"cs#": 7,
"note_number": "85\u2020",

@ -170,7 +170,7 @@
"id": "ch/v:019",
"gpid": 2113
},
{ "name": "2\u00bd-Ton(a)",
{ "name": "2&#189;-Ton(a)",
"type": "tr",
"cs#": 7,
"note_number": "16\u2020",

@ -0,0 +1,219 @@
[
{ "name": "M4A3E8(a)",
"type": "MT",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>1</sup>" ], "s": 5, "sM": 8 },
"note_number": "34",
"notes": [ "A\u2020<sup>1</sup>", "FF\u2020", "UU" ],
"id": "kfw-bcfk/v:000",
"gpid": "3b5:7685"
},
{ "name": "M4A3E8 Dozer(a)",
"type": "MTv",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>1</sup>" ], "s": 5, "sM": 8 },
"note_number": "34",
"notes": [ "A\u2020<sup>1</sup>", "TT\u2020", "UU" ],
"id": "kfw-bcfk/v:001",
"gpid": "3b5:7687"
},
{ "name": "Cromwell VII",
"type": "MT",
"CS#": 6,
"capabilities2": { "s": "8\u2020", "sD": 7, "sM": "8\u2020<sup>1</sup>" },
"note_number": "35\u2020",
"notes": [ "N", "ZZ\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:002",
"gpid": 1320
},
{ "name": "Centaur Dozer",
"type": "MTv",
"CS#": "2\u2020<sup>1</sup>",
"capabilities2": { "sD": 7 },
"note_number": "36\u2020<sup>1</sup>",
"notes": [ "TT\u2020" ],
"id": "kfw-bcfk/v:003",
"gpid": "3b5:7658"
},
{ "name": "Churchill VII",
"type": "HT",
"CS#": 7,
"capabilities2": { "s": 8, "WP": 6, "sD": 7, "sM": "8\u2020<sup>1</sup>" },
"note_number": "37\u2020",
"notes": [ "N", "CC", "ZZ\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:004",
"gpid": 1372
},
{ "name": "Centurion III",
"type": "HT",
"CS#": 7,
"capabilities2": { "HE": 8, "D": [ "\u2020" ], "s": 8, "WP": 6, "sD": 7, "sM": "8\u2020<sup>1</sup>" },
"note_number": "38\u2020",
"notes": [ "CC", "ZZ\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:005",
"gpid": 11365
},
{ "name": "Centurion III(L)",
"type": "HT",
"CS#": 7,
"capabilities2": { "D": 8, "s": 8, "WP": 6, "sD": 7, "sM": "8\u2020<sup>2</sup>" },
"note_number": "38\u2020",
"notes": [ "CC", "FF\u2020<sup>1</sup>", "ZZ\u2020<sup>2</sup>" ],
"id": "kfw-bcfk/v:006",
"gpid": "3b5:7669"
},
{ "name": "Churchill Bridgelayer",
"type": "HTv",
"CS#": 2,
"capabilities2": { "sD": 7 },
"note_number": "39\u2020",
"notes": [ "N", "CC" ],
"id": "kfw-bcfk/v:007",
"gpid": "3b5:7681"
},
{ "name": "M4A1 MC(a)",
"type": "ht",
"CS#": "4:brewup",
"capabilities": [ "IR" ],
"capabilities2": { "WP": 8 },
"note_number": "40\u2020",
"notes": [ "Q\u2020<sup>1</sup>", "NN", "UU" ],
"id": "kfw-bcfk/v:008",
"gpid": "3b5:7705"
},
{ "name": "M9(a)",
"type": "ht",
"cs#": 4,
"note_number": "41",
"notes": [ "N", "UU" ],
"id": "kfw-bcfk/v:009",
"gpid": 1489
},
{ "name": "Daimler",
"type": "SC",
"CS#": 2,
"capabilities2": { "sD": 4 },
"note_number": "42\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/v:010",
"gpid": 1401
},
{ "name": "Carrier A",
"type": "APC",
"CS#": 3,
"capabilities2": { "sD": 5 },
"note_number": "43\u2020",
"notes": [ "N", "U\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:011",
"gpid": 1497
},
{ "name": "Carrier C",
"type": "APC",
"CS#": 3,
"capabilities2": { "sD": 5 },
"note_number": "43\u2020",
"notes": [ "N", "U\u2020<sup>2</sup>", "Z\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:012",
"gpid": 1501
},
{ "name": "Carrier, MMG A",
"type": "APC",
"CS#": 3,
"capabilities2": { "sD": 5 },
"note_number": "44\u2020",
"notes": [ "N", "U\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:013",
"gpid": 1503
},
{ "name": "Carrier, 3-in. Mtr",
"type": "APC",
"CS#": "4:brewup",
"note_number": "45\u2020",
"notes": [ "U", "MM\u2020<sup>1</sup>", "NN" ],
"id": "kfw-bcfk/v:014",
"gpid": 1511
},
{ "name": "Oxford Carrier",
"type": "APC",
"CS#": "5\u2020",
"note_number": "46\u2020",
"notes": [ "EE\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:015",
"gpid": "3b5:7735"
},
{ "name": "Oxford Carrier, MMG",
"type": "APC",
"CS#": 5,
"note_number": "47\u2020",
"notes": [ "EE\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:016",
"gpid": "3b5:7731"
},
{ "name": "Oxford Carrier, HMG",
"type": "APC",
"CS#": 5,
"note_number": "47\u2020",
"notes": [ "G\u2020<sup>1</sup>", "EE\u2020<sup>2</sup>" ],
"id": "kfw-bcfk/v:017",
"gpid": "3b5:7733"
},
{ "name": "Oxford Carrier, 3-in Mtr",
"type": "APC",
"CS#": 5,
"note_number": "48\u2020",
"notes": [ "EE\u2020<sup>2</sup>", "MM\u2020<sup>1</sup>", "NN" ],
"id": "kfw-bcfk/v:018",
"gpid": "3b5:7719"
},
{ "name": "IP Carrier AOV",
"type": "APC",
"CS#": 4,
"note_number": "49\u2020",
"notes": [ "N", "W\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:019",
"gpid": 1527
},
{ "name": "Wasp",
"type": "APCv",
"CS#": "3:brewup",
"capabilities2": { "sD": "5\u2020" },
"note_number": "50\u2020",
"notes": [ "N", "U" ],
"id": "kfw-bcfk/v:020",
"gpid": 1533
},
{ "name": "Morris C9/B",
"type": "AAtr",
"CS#": 4,
"note_number": "51\u2020",
"notes": [ "N", "AA\u2020<sup>1</sup>" ],
"id": "kfw-bcfk/v:021",
"gpid": 1557
},
{ "name": "Quad FAT",
"type": "tr",
"cs#": "5:brewup\u2020",
"note_number": "52\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/v:022",
"gpid": 1561
},
{ "name": "15-cwt",
"type": "tr",
"cs#": 5,
"note_number": "53\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/v:023",
"gpid": 1563
},
{ "name": "3-Ton Lorry",
"type": "tr",
"cs#": 7,
"note_number": "53\u2020",
"notes": [ "N" ],
"id": "kfw-bcfk/v:024",
"gpid": 1567
}
]

@ -0,0 +1,74 @@
[
{ "name": "T-34/85",
"type": "MT",
"CS#": 6,
"capabilities2": { "A": 6, "sD": "6\u2020" },
"note_number": "1\u2020",
"id": "kfw-kpa/v:000",
"gpid": "3b5:8212"
},
{ "name": "SU-76M",
"type": "AG",
"CS#": "4:brewup",
"capabilities2": { "A": 7 },
"note_number": "2\u2020",
"id": "kfw-kpa/v:001",
"gpid": "3b5:8214"
},
{ "name": "BA-64B",
"type": "AC",
"CS#": 2,
"note_number": "3\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/v:002",
"gpid": "3b5:8216"
},
{ "name": "GAZ-67B",
"type": "tr",
"cs#": 2,
"note_number": "4\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/v:003",
"gpid": "3b5:11102"
},
{ "name": "GAZ-MM",
"type": "tr",
"cs#": 6,
"note_number": "4\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/v:004",
"gpid": "3b5:11098"
},
{ "name": "ZIS-5",
"type": "tr",
"cs#": 7,
"note_number": "4\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/v:005",
"gpid": "3b5:11103"
},
{ "name": "IAG-6",
"type": "tr",
"cs#": 7,
"note_number": "4\u2020",
"notes": [ "B" ],
"id": "kfw-kpa/v:006",
"gpid": "3b5:11107"
},
{ "name": "GAZ-51",
"type": "tr",
"cs#": 6,
"note_number": "5\u2020",
"id": "kfw-kpa/v:007",
"gpid": "3b5:11100"
},
{ "name": "ZIS-151",
"type": "tr",
"cs#": 7,
"note_number": "6\u2020",
"id": "kfw-kpa/v:008",
"gpid": "3b5:11105"
}
]

@ -0,0 +1,54 @@
[
{ "name": "M3A1",
"type": "ht",
"CS#": 5,
"note_number": "54\u2020",
"notes": [ "E\u2020", "H", "K", "Y", "Z\u2020<sup>1</sup>", "UU" ],
"id": "kfw-un-common/v:000",
"gpid": [ 969, "3b5:7703", "3b5:4019" ]
},
{ "name": "M20",
"type": "SC",
"CS#": 4,
"capabilities2": { "sP": 5 },
"note_number": "55\u2020",
"notes": [ "D\u2020<sup>4</sup>", "K", "Q\u2020<sup>2</sup>", "W\u2020<sup>1</sup>", "Y", "Z\u2020<sup>3</sup>", "UU" ],
"id": "kfw-un-common/v:001",
"gpid": [ 998, "3b5:7697", "3b5:4036" ]
},
{ "name": "M8",
"type": "AC",
"CS#": 4,
"capabilities2": { "C": 7, "sP": 5 },
"note_number": "56\u2020",
"notes": [ "C", "K", "W\u2020<sup>1</sup>", "Y", "UU" ],
"id": "kfw-un-common/v:002",
"gpid": [ 1002, "3b5:7699", "3b5:4038" ]
},
{ "name": "&#188;-Ton Jeep",
"type": "tr",
"cs#": "2\u2020<sup>1</sup>",
"note_number": "57\u2020",
"notes": [ "K", "L\u2020<sup>2</sup>", "M", "N", "O", "P", "Q\u2020<sup>1</sup>", "Y", "UU" ],
"id": "kfw-un-common/v:003",
"gpid": [ 1039, 1569, "3b5:10746", "3b5:8423" ]
},
{ "name": "&#190;-Ton",
"type": "tr",
"cs#": 4,
"note_number": "57\u2020",
"notes": [ "K", "N", "O", "Y", "UU" ],
"id": "kfw-un-common/v:004",
"gpid": [ 1042, 1571, "3b5:4050", "3b5:8425" ]
},
{ "name": "2&#189;-Ton",
"type": "tr",
"cs#": 7,
"note_number": "57\u2020",
"notes": [ "K", "M", "N", "O", "P", "Y", "UU" ],
"id": "kfw-un-common/v:005",
"gpid": [ 1046, 1575, "3b5:4052", "3b5:8427" ]
}
]

@ -0,0 +1,332 @@
[
{ "name": "M24",
"type": "LT",
"CS#": 5,
"capabilities2": { "s": 5, "WP": 7, "sM": 8 },
"note_number": "1\u2020",
"notes": [ "O", "Y" ],
"id": "kfw-uro/v:000",
"gpid": [ 12652, "3b5:8419" ]
},
{ "name": "M4A3E8",
"type": "MT",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>1</sup>" ], "s": 5, "sM": 8 },
"note_number": "2\u2020",
"notes": [ "A\u2020<sup>1</sup>", "P" ],
"id": "kfw-uro/v:001",
"gpid": [ 11338, "3b5:3983" ]
},
{ "name": "M4A3E8(105)",
"type": "MT",
"CS#": 6,
"capabilities2": { "H": 9, "C": 7, "s": 7, "WP": 9, "sM": 8 },
"note_number": "3\u2020",
"notes": [ "C", "M" ],
"id": "kfw-uro/v:002",
"gpid": "3b5:3626"
},
{ "name": "M4A3E8 Dozer",
"type": "MTv",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>1</sup>" ], "s": 5, "sM": 8 },
"note_number": "4",
"notes": [ "A\u2020<sup>1</sup>", "TT\u2020" ],
"id": "kfw-uro/v:003",
"gpid": "3b5:3628"
},
{ "name": "M4A3E8(105) Dozer",
"type": "MTv",
"CS#": 6,
"capabilities2": { "H": 9, "C": 7, "s": 7, "WP": 9, "sM": 8 },
"note_number": "4\u2020",
"notes": [ "C", "M", "TT\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:004",
"gpid": "3b5:3630"
},
{ "name": "POA-CWS-H5",
"type": "MTv",
"CS#": 6,
"capabilities2": { "C": 5, "sM": 8 },
"note_number": "5\u2020",
"notes": [ "C", "M" ],
"id": "kfw-uro/v:005",
"gpid": "3b5:3632"
},
{ "name": "M32A1B3 TRV",
"type": "MTv",
"CS#": 6,
"note_number": "6\u2020",
"notes": [ "K", "M", "P" ],
"id": "kfw-uro/v:006",
"gpid": "3b5:3634"
},
{ "name": "M26A1",
"type": "MT",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>1</sup>" ], "WP": [ [6,"M51+"], "\u2020<sup>2</sup>" ] },
"note_number": "7\u2020",
"notes": [ "A\u2020<sup>1</sup>", "J\u2020<sup>2</sup>", "M" ],
"id": "kfw-uro/v:007",
"gpid": "3b5:3636"
},
{ "name": "M45",
"type": "MT",
"CS#": 6,
"capabilities2": { "H": 7, "s": 7, "WP": 9 },
"note_number": "8",
"id": "kfw-uro/v:008",
"gpid": "3b5:3638"
},
{ "name": "M46",
"type": "MT",
"CS#": 6,
"capabilities2": { "A": [ "\u2020<sup>2</sup>" ], "WP": [ [6,"M51+"], "\u2020<sup>3</sup>" ] },
"note_number": "9\u2020",
"notes": [ "A\u2020<sup>2</sup>", "J\u2020<sup>3</sup>", "M", "FF\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:009",
"gpid": "3b5:3640"
},
{ "name": "M36B2 GMC(a)",
"type": "TD",
"CS#": 7,
"capabilities2": { "A": [ "\u2020" ], "sP": 5 },
"note_number": "10",
"notes": [ "A\u2020", "K", "UU" ],
"id": "kfw-uro/v:010",
"gpid": 11424
},
{ "name": "M38A1C Jeep",
"type": "TDtr",
"CS#": 2,
"capabilities2": { "H": [ "\u2020" ] },
"note_number": "11\u2020",
"id": "kfw-uro/v:011",
"gpid": "3b5:3642"
},
{ "name": "M3",
"type": "ht",
"CS#": 5,
"note_number": "12\u2020",
"notes": [ "K", "Y" ],
"id": "kfw-uro/v:012",
"gpid": [ 967, "3b5:4017" ]
},
{ "name": "M3(MMG)",
"type": "ht",
"CS#": 5,
"note_number": "13\u2020",
"notes": [ "E\u2020", "H", "K", "Y" ],
"id": "kfw-uro/v:013",
"gpid": [ 971, "3b5:4021" ]
},
{ "name": "M3(HMG)",
"type": "ht",
"CS#": 5,
"note_number": "13\u2020",
"notes": [ "E\u2020", "H", "K", "Y" ],
"id": "kfw-uro/v:014",
"gpid": [ 973, "3b5:4023" ]
},
{ "name": "M19A1 MGMC",
"type": "SPAA",
"CS#": 4,
"note_number": "14\u2020",
"notes": [ "AA\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:015",
"gpid": "3b5:3676"
},
{ "name": "M15A1 MGMC",
"type": "AAht",
"CS#": 4,
"note_number": "15\u2020",
"notes": [ "O", "V\u2020<sup>1</sup>", "Y", "AA\u2020<sup>2</sup>", "DD\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:016",
"gpid": [ 990, "3b5:8421" ]
},
{ "name": "M15 Special",
"type": "AAht",
"CS#": 4,
"note_number": "16\u2020",
"notes": [ "AA\u2020<sup>2</sup>", "DD\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:017",
"gpid": "3b5:3686"
},
{ "name": "M16 MGMC",
"type": "AAht",
"CS#": 4,
"note_number": "17\u2020",
"notes": [ "F\u2020<sup>1</sup>", "V\u2020<sup>1</sup>", "Y", "AA\u2020<sup>2</sup>", "DD\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:018",
"gpid": 992
},
{ "name": "M16A1 MGMC",
"type": "AAht",
"CS#": 5,
"note_number": "18\u2020",
"notes": [ "F\u2020<sup>1</sup>", "V\u2020<sup>1</sup>", "AA\u2020<sup>2</sup>", "DD\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:019",
"gpid": "3b5:3688"
},
{ "name": "M39 AUV",
"type": "APC",
"CS#": 6,
"note_number": "19\u2020",
"notes": [ "G\u2020<sup>1</sup>", "M" ],
"id": "kfw-uro/v:020",
"gpid": 12277
},
{ "name": "M39 MC",
"type": "SPA",
"CS#": "5:brewup",
"capabilities2": { "WP": 8 },
"note_number": "19\u2020",
"id": "kfw-uro/v:021",
"gpid": 12279
},
{ "name": "M7 HMC",
"type": "SPA",
"CS#": 7,
"capabilities2": { "H": 7, "C": 7, "s": 7, "WP": 8 },
"note_number": "20\u2020",
"notes": [ "C", "Y" ],
"id": "kfw-uro/v:022",
"gpid": 1006
},
{ "name": "M37 HMC",
"type": "SPA",
"CS#": 7,
"capabilities2": { "H": 9, "s": 7, "WP": 9 },
"note_number": "21",
"id": "kfw-uro/v:023",
"gpid": "3b5:3690"
},
{ "name": "M41 HMC",
"type": "SPA",
"CS#": 9,
"no_if": true,
"capabilities2": { "s": 7, "WP": 8 },
"note_number": "22\u2020",
"notes": [ "S\u2020<sup>1</sup>" ],
"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" ],
"id": "kfw-uro/v:025",
"gpid": "3b5:4148"
},
{ "name": "M43 HMC",
"type": "SPA",
"CS#": 9,
"no_if": true,
"note_number": "23",
"notes": [ "S\u2020" ],
"id": "kfw-uro/v:026",
"gpid": "3b5:4154"
},
{ "name": "LVT(A)5",
"type": "aLT",
"CS#": 6,
"capabilities2": { "H": 8, "C": 7, "WP": 8 },
"note_number": "24\u2020",
"notes": [ "H", "T\u2020<sup>1</sup>", "X\u2020<sup>2</sup>" ],
"id": "kfw-uro/v:027",
"gpid": 11344
},
{ "name": "LVT(A)5m",
"type": "aLT",
"CS#": 6,
"capabilities2": { "H": 8, "C": 7, "WP": 8 },
"note_number": "24",
"notes": [ "M", "T\u2020" ],
"id": "kfw-uro/v:028",
"gpid": 11346
},
{ "name": "LVT3",
"type": "aAPC",
"CS#": 7,
"note_number": "25\u2020",
"notes": [ "D\u2020", "H", "M", "T\u2020<sup>1</sup>", "X\u2020<sup>2</sup>" ],
"id": "kfw-uro/v:029",
"gpid": [ "3b5:3704", "3b5:3706" ]
},
{ "name": "LVT3C",
"type": "aAPC",
"CS#": 7,
"note_number": "25\u2020",
"notes": [ "D\u2020", "M", "T\u2020<sup>1</sup>", "X\u2020<sup>2</sup>", "BB\u2020" ],
"id": "kfw-uro/v:030",
"gpid": 11348
},
{ "name": "M75",
"type": "APC",
"CS#": 6,
"note_number": "26",
"notes": [ "G\u2020", "BB\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:031",
"gpid": 11342
},
{ "name": "M29 Weasel",
"type": "PC",
"CS#": 3,
"note_number": "27\u2020",
"notes": [ "B\u2020<sup>1</sup>", "M", "T\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:032",
"gpid": "3b5:3898"
},
{ "name": "M29C Weasel",
"type": "aPC",
"CS#": 3,
"note_number": "28\u2020",
"notes": [ "B\u2020<sup>1</sup>", "M", "T\u2020<sup>1</sup>" ],
"id": "kfw-uro/v:033",
"gpid": "3b5:3896"
},
{ "name": "M4 hst",
"type": "PC",
"CS#": 6,
"note_number": "29",
"notes": [ "G\u2020", "Y" ],
"id": "kfw-uro/v:034",
"gpid": 1050
},
{ "name": "DUKW",
"type": "atr",
"CS#": "7\u2020<sup>1</sup>",
"note_number": "30\u2020",
"notes": [ "D\u2020<sup>2</sup>", "M", "Q\u2020<sup>1</sup>", "Y" ],
"id": "kfw-uro/v:035",
"gpid": 1032
},
{ "name": "TACP Jeep",
"type": "trv",
"CS#": "2\u2020",
"note_number": "31\u2020",
"notes": [ "L\u2020<sup>1</sup>", "M" ],
"id": "kfw-uro/v:036",
"gpid": "3b5:3643"
},
{ "name": "7&#189;-Ton",
"type": "tr",
"CS#": 7,
"note_number": "32",
"notes": [ "Y" ],
"id": "kfw-uro/v:037",
"gpid": 1048
},
{ "name": "Searchlight Truck",
"type": "trv",
"CS#": "7\u2020",
"note_number": "33\u2020",
"id": "kfw-uro/v:038",
"gpid": "3b5:10093"
}
]

@ -19,7 +19,7 @@
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#tabs-scenario { display: flex ; }
#tabs-scenario .left { width: 32em ; min-width: 32em ; }
#tabs-scenario .left { width: 33.5em ; min-width: 33.5em ; }
#tabs-scenario .right { flex-grow: 1 ; min-width: 25em ; }
#tabs-scenario .left { display: flex ; flex-direction: column ; }

@ -93,7 +93,7 @@ function _show_extra_template( template_id )
buf.push( "<option>", template_info.params[i].options[j], "</option>" ) ;
buf.push( "</select>" ) ;
} else if ( template_info.params[i].type.substr(0,22) === "player-color2-droplist" ) {
buf.push( "<select class='param' name='PLAYER_COLOR2_DROPLIST' style='width:9em;'>" ) ;
buf.push( "<select class='param' name='PLAYER_COLOR2_DROPLIST' style='width:11.5em;'>" ) ;
if ( template_info.params[i].type === "player-color2-droplist-ex" )
buf.push( "<option value='black'>black</option>", "<option value='#c0c0c0'>gray</option>" ) ;
var nats = get_sorted_nats() ;

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

@ -12,11 +12,18 @@ gWebChannelHandler = null ;
gEmSize = null ;
var NATIONALITY_SPECIFIC_BUTTONS = {
"russian": [ "mol", "mol-p" ],
"german": [ "pf", "psk", "atmm" ],
"american": [ "baz" ],
"british": [ "piat" ],
"japanese": [ "thh" ],
"pf": [ "german" ],
"atmm": [ "german" ],
"psk": [ "german" ],
"mol": [ "russian" ],
"mol-p": [ "russian" ],
"baz": [ "american!korea" ],
"baz45": [ "american@korea", "kfw-rok", "kfw-ounc" ],
"baz50": [ "american@korea", "kfw-rok", "kfw-ounc" ],
"baz-cpva16": [ "kfw-cpva" ],
"baz-cpva17": [ "kfw-cpva" ],
"piat": [ "british" ],
"thh": [ "japanese" ],
} ;
GENERATE_SNIPPET_HINT = "Generate an HTML snippet (shift-click to get an image)." ;
@ -202,14 +209,14 @@ $(document).ready( function () {
"</div>" ) ;
}
init_select2( $( "select[name='PLAYER_1']" ),
"10em", false, format_player_droplist_item
"12.5em", false, format_player_droplist_item
).on( "select2:open", function() {
on_player_droplist_open( $(this) ) ;
} ).on( "change", function() {
on_player_change_with_confirm( 1 ) ;
} ) ;
init_select2( $( "select[name='PLAYER_2']" ),
"10em", false, format_player_droplist_item
"12.5em", false, format_player_droplist_item
).on( "select2:open", function() {
on_player_droplist_open( $(this) ) ;
} ).on( "change", function() {
@ -670,13 +677,7 @@ function on_player_change( player_no )
var player_nat = update_ob_tab_header( player_no ) ;
// show/hide the nationality-specific buttons
for ( var nat in NATIONALITY_SPECIFIC_BUTTONS ) {
for ( var i=0 ; i < NATIONALITY_SPECIFIC_BUTTONS[nat].length ; ++i ) {
var button_id = NATIONALITY_SPECIFIC_BUTTONS[nat][i] ;
var $elem = $( "#panel-ob_notes_" + player_no + " div.snippet-control[data-id='" + button_id + "']" ) ;
$elem.css( "display", nat == player_nat ? "inline-block" : "none" ) ;
}
}
update_nationality_specific_buttons( player_no ) ;
// show/hide the vehicle/ordnance multi-applicable notes controls
function update_ma_notes_controls( vo_type ) {
@ -721,6 +722,34 @@ function update_ob_tab_header( player_no )
return player_nat ;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function update_nationality_specific_buttons( player_no )
{
// initialize
var player_nat = $( "select[name='PLAYER_" + player_no + "']" ).val() ;
var theater = $( "select.param[name='SCENARIO_THEATER']" ).val().toLowerCase() ;
// hide/show each nationality-specific button
for ( var button_id in NATIONALITY_SPECIFIC_BUTTONS ) {
var show = false ;
for ( var i=0 ; i < NATIONALITY_SPECIFIC_BUTTONS[button_id].length ; ++i ) {
var nat = NATIONALITY_SPECIFIC_BUTTONS[button_id][i] ;
if ( nat == player_nat )
show = true ;
else if ( nat == player_nat+"@"+theater )
show = true ;
else {
var pos = nat.indexOf( "!" ) ;
if ( pos !== -1 )
show = nat.substr(0,pos) == player_nat && nat.substr(pos+1) !== theater ;
}
}
var $elem = $( "#panel-ob_notes_" + player_no + " div.snippet-control[data-id='" + button_id + "']" ) ;
$elem.css( "display", show ? "inline-block" : "none" ) ;
}
}
// --------------------------------------------------------------------
function on_tab_activate( evt, ui )

@ -346,18 +346,18 @@ function make_snippet( $btn, params, extra_params, show_date_warnings )
if ( params.SCENARIO_YEAR >= 1945 ) {
params.BAZ_TYPE = 45 ;
params.BAZ_BREAKDOWN = 11 ;
params.BAZ_TOKILL = 16 ;
params.BAZ_TK = 16 ;
params.BAZ_WP = 6 ;
params.BAZ_RANGE = 5 ;
} else if ( params.SCENARIO_YEAR >= 1944 ) {
params.BAZ_TYPE = 44 ;
params.BAZ_BREAKDOWN = 11 ;
params.BAZ_TOKILL = 16 ;
params.BAZ_TK = 16 ;
params.BAZ_RANGE = 4 ;
} else if ( params.SCENARIO_YEAR === 1943 || (params.SCENARIO_YEAR === 1942 && params.SCENARIO_MONTH >= 11) ) {
params.BAZ_TYPE = 43 ;
params.BAZ_BREAKDOWN = 10 ;
params.BAZ_TOKILL = 13 ;
params.BAZ_TK = 13 ;
params.BAZ_RANGE = 4 ;
}
@ -465,8 +465,13 @@ function get_vo_note_key( vo_entry )
if ( ! match )
return null ;
var key = match[0] ;
// NOTE: The K:FW counters appear in the main VASL module, but we handle them as if they were an extension.
if ( vo_entry.extn_id )
key = vo_entry.extn_id + ":" + key ;
else if ( vo_entry.id.match( /^kfw-(uro|bcfk|rok|ounc|un-common)\// ) )
key = "kfw-un:" + key ;
else if ( vo_entry.id.match( /^kfw-(kpa|cpva)\// ) )
key = "kfw-comm:" + key ;
return key ;
}
@ -501,6 +506,16 @@ function get_vo_note( vo_type, nat, key )
function get_ma_notes_keys( nat, vo_entries, vo_type )
{
function translate_kfw_key( vo_entry, notes_index, regex, extn_id ) {
if ( ! vo_entry.id.match( regex ) )
return null ;
var key = extn_id + ":" + vo_entry.notes[notes_index] ;
var pos = key.indexOf( "\u2020" ) ;
if ( pos >= 0 )
key = key.substr( 0, pos ) ;
return key ;
}
// figure out which multi-applicable notes are being referenced
if ( ! vo_entries )
return null ;
@ -528,17 +543,33 @@ function get_ma_notes_keys( nat, vo_entries, vo_type )
if ( ! vo_entry.notes )
continue ;
for ( j=0 ; j < vo_entry.notes.length ; ++j ) {
if ( vo_entry.notes[j] === "US <s>P</s>" ) { // nb: can't do this with a regex
// NOTE: The K:FW counters appear in the main VASL module, but we handle them as if they were an extension.
var key = translate_kfw_key( vo_entry, j, /^kfw-(uro|bcfk|rok|ounc|un-common)\//, "kfw-un" ) ;
if ( key ) {
keys[0][ key ] = true ;
continue ;
}
key = translate_kfw_key( vo_entry, j, /^kfw-(kpa|cpva)\//, "kfw-comm" ) ;
if ( key ) {
keys[0][ key ] = true ;
continue ;
}
// handle a special case we can't do with a regex
if ( vo_entry.notes[j] === "US <s>P</s>" ) {
keys[0][ vo_entry.extn_id + ":US P" ] = true ;
continue ;
}
// check all the regex's
var rc = false ;
for ( k=0 ; k < regexes.length ; ++k ) {
var match = vo_entry.notes[j].match( regexes[k] ) ;
if ( match ) {
var vo_id = vo_entry.id.split( ":", 1 )[0] ;
var is_extra = ( nat !== "landing-craft" && vo_id === "sh/v" ) ;
var key = match[1] ;
key = match[1] ;
if ( vo_entry.extn_id && !( vo_entry.extn_id === "adf-bj" && nat === "american" && key.length === 1 ) ) {
// NOTE: We include the extension ID as part of the key, except for BFP American vehicles,
// whose multi-applicable notes refer to the main American multi-applicable notes,
@ -683,11 +714,12 @@ function get_ma_note( nat, vo_type, key )
function get_ma_notes_for_nat( nat, vo_type )
{
// get the multi-applicable vehicle/ordnance notes for the specified nationality
var ma_notes ;
if ( nat === "landing-craft" && nat in gVehicleOrdnanceNotes.vehicles )
return gVehicleOrdnanceNotes.vehicles[ "landing-craft" ][ "multi-applicable" ] ;
ma_notes = gVehicleOrdnanceNotes.vehicles[ "landing-craft" ][ "multi-applicable" ] ;
if ( vo_type in gVehicleOrdnanceNotes && nat in gVehicleOrdnanceNotes[vo_type] )
return gVehicleOrdnanceNotes[ vo_type ][ nat ][ "multi-applicable" ] ;
return {} ;
ma_notes = gVehicleOrdnanceNotes[ vo_type ][ nat ][ "multi-applicable" ] ;
return ma_notes || {} ;
}
function _make_snippet_image_filename( snippet )
@ -951,8 +983,12 @@ function make_capabilities( raw, vo_entry, vo_type, nat, elite, scenario_theater
capabilities.push( crew_survival ) ;
// do any special adjustments
if ( nat === "american" && vo_type === "ordnance" && scenario_theater === "PTO" )
if ( vo_entry.id.substr(0,3) === "am/" && vo_type === "ordnance" && scenario_theater === "PTO" ) {
// NOTE: We used to do this if nat == "american" here, but the addition of K:FW broke that,
// since it contains counters (e.g. M3A1 37mm AT Gun) that has a Note C which is similar
// to the standard Note C, but doesn't have this special case.
adjust_capabilities_for_us_ordnance_note_c( capabilities, vo_entry ) ;
}
if ( elite )
adjust_capabilities_for_elite( capabilities, +1 ) ;
@ -1009,6 +1045,8 @@ function _select_capability_by_date( capabilities, nat, scenario_theater, scenar
// initialize
capabilities = capabilities.slice() ;
var ref = has_ref( capabilities ) ;
if ( ref && capabilities.length === 0 )
return ref ;
// check all the capability timestamps
var retval = "???" ;
@ -1030,7 +1068,7 @@ function _select_capability_by_date( capabilities, nat, scenario_theater, scenar
function _check_capability_timestamp( capabilities, timestamp, nat, scenario_theater, scenario_year, scenario_month )
{
var MONTH_NAMES = { F:2, J:6, A:8, S:9, N:11 } ;
var MONTH_NAMES = { F:2, M:3, J:6, A:8, S:9, N:11 } ;
// check for a theater flag
THEATER_FLAGS = { E: "ETO", P: "PTO", B: "BURMA" } ;
@ -1074,10 +1112,12 @@ function _check_capability_timestamp( capabilities, timestamp, nat, scenario_the
var month = MONTH_NAMES[ timestamp.substring(0,1) ] ;
if ( month )
timestamp = timestamp.substring( 1 ) ;
if ( /^\d$/.test( timestamp ) ) {
if ( /^\d+$/.test( timestamp ) ) {
// this is a single year
timestamp = parseInt( timestamp ) ;
// check if the capabilitity is available
if ( timestamp >= 50 )
timestamp -= 40 ;
if ( scenario_year > 1940 + timestamp )
return capabilities[0] ;
else if ( scenario_year === 1940 + timestamp ) {
@ -2011,4 +2051,8 @@ function on_scenario_theater_change()
{
// update the vehicle/ordnance entries
_update_vo_sortable2_entries() ;
// show/hide the nationality-specific buttons
update_nationality_specific_buttons( 1 ) ;
update_nationality_specific_buttons( 2 ) ;
}

@ -138,6 +138,7 @@ function apply_user_settings()
$scenario_date.datepicker( "option", "defaultDate",
$.datepicker.formatDate( date_format, new Date(1940,0,1) )
) ;
$scenario_date.datepicker( "option", "yearRange", "c-10:c+15" ) ;
if ( curr_date ) {
$scenario_date.val(
$.datepicker.formatDate( date_format, curr_date )

@ -84,17 +84,14 @@ function _generate_snippets()
// figure out which templates we don't want to auto-create labels for
var no_autocreate = {} ;
for ( var nat in NATIONALITY_SPECIFIC_BUTTONS ) {
for ( var i=0 ; i < NATIONALITY_SPECIFIC_BUTTONS[nat].length ; ++i ) {
var template_id = NATIONALITY_SPECIFIC_BUTTONS[nat][i] ;
if ( ["pf","atmm","thh"].indexOf( template_id ) !== -1 ) {
// NOTE: PF, ATMM, THH are always available as an inherent part of a squad's capabilities
// (subject to date restrictions), so we always auto-create these labels, unlike, say MOL or BAZ,
// which are only present by SSR or OB counter).
continue ;
}
no_autocreate[template_id] = true ;
for ( var template_id in NATIONALITY_SPECIFIC_BUTTONS ) {
if ( ["pf","atmm","thh"].indexOf( template_id ) !== -1 ) {
// NOTE: PF, ATMM, THH are always available as an inherent part of a squad's capabilities
// (subject to date restrictions), so we always auto-create these labels, unlike, say MOL or BAZ,
// which are only present by SSR or OB counter).
continue ;
}
no_autocreate[template_id] = true ;
}
function on_snippet_button( $btn, inactive ) {
@ -201,6 +198,8 @@ function _get_raw_content( snippet_id, $btn, params )
}
// handle simple cases
// NOTE: These checks also have the side-effect of not deleting these labels if they are already in
// a scenario that is being updated.
if ( snippet_id === "mol" )
return [ "Molotov Cocktail", "MOL check:", "IFT DR original colored dr:" ] ;
if ( snippet_id === "mol-p" )
@ -213,7 +212,7 @@ function _get_raw_content( snippet_id, $btn, params )
return [ "Anti-Tank Magnetic Mines", "ATMM check:", "vs. non-armored vehicle" ] ;
if ( snippet_id === "piat" )
return [ "PIAT", "Range", "TH#", "B#", "TK#" ] ;
if ( snippet_id === "baz" )
if ( snippet_id === "baz" || snippet_id === "baz45" || snippet_id === "baz50" || snippet_id.substr(0,8) === "baz-cpva" )
return [ "Bazooka", "Range", "TH#" ] ;
if ( snippet_id === "thh" )
return [ "Tank-Hunter Heroes", "Banzai Charge" ] ;
@ -318,24 +317,62 @@ function _do_analyze_vsav( vsav_data, fname )
function _create_vo_entries_from_analysis( report )
{
// initialize
var theater = $( "select.param[name='SCENARIO_THEATER']" ).val() ;
function create_vo_entries( player_no, vo_type ) {
var gpids, i ;
// clear the existing vehicles/ordnance
$( "#ob_" + vo_type + "-sortable_" + player_no ).sortable2( "delete-all" ) ;
// build an index of GPID's that belong to the specified player and V/O type
var entries_index = {} ;
var entries = gVehicleOrdnanceListings[ vo_type ][ get_player_nat(player_no) ] ;
var gpids, i ;
for ( i=0 ; i < entries.length ; ++i ) {
gpids = $.isArray( entries[i].gpid ) ? entries[i].gpid : [entries[i].gpid] ;
for ( var j=0 ; j < gpids.length ; ++j )
entries_index[ gpids[j] ] = entries[i] ;
if ( entries ) {
for ( i=0 ; i < entries.length ; ++i ) {
gpids = $.isArray( entries[i].gpid ) ? entries[i].gpid : [entries[i].gpid] ;
for ( var j=0 ; j < gpids.length ; ++j ) {
if ( entries_index[ gpids[j] ] === undefined )
entries_index[ gpids[j] ] = [ entries[i] ] ;
else
entries_index[ gpids[j] ].push( entries[i] ) ;
}
}
}
// IMPORTANT: Adding support for the new K:FW counters in VASL 6.5.0 caused problems for
// the "analyze scenario" feature, since quite a few of the new counters use images
// from the old counter set e.g. the American "M2 60mm Mortar" has a K:FW variant (kfw-un-common/o:002)
// that has GPID 849 (as well as 11391, 11359, 11440 for the ROK, BCFK, OUNC variants),
// but GPID 849 is also used by the old American "M2 60mm Mortar" counter (am/o:000).
// So, if we find GPID 849 in a .vsav file, we don't know if we should create the K:FW entry
// or the normal American entry. To work around this, we added a new scenario theater for Korea,
// and use that to decide.
function chooseEntry( gpid ) {
var entries = entries_index[ gpid ] ;
if ( !entries || entries.length === 0 )
return null ;
if ( entries.length === 1 )
return entries[0] ;
var entries2 = [] ;
for ( var i=0 ; i < entries.length ; ++i ) {
var isKFW = entries[i].id.substr( 0, 4 ) === "kfw-" ;
if ( (theater == "Korea" && isKFW) || (theater != "Korea" && !isKFW) )
entries2.push( entries[i] ) ;
}
if ( entries2.length === 1 )
return entries2[0] ;
console.log( "WARNING: Found multiple entries for GPID " + gpid + " during analysis:", entries ) ;
return entries[0] ;
}
// add a vehicle/ordnance for each relevant GPID
var nCreated = 0 ;
gpids = Object.keys( report ) ;
for ( i=0 ; i < gpids.length ; ++i ) {
var gpid = gpids[ i ] ;
var entry = entries_index[ gpid ] ;
var entry = chooseEntry( gpid ) ;
if ( ! entry )
continue ;
var image_id = $.isArray( entry.gpid ) ? [gpid,0] : null ;

@ -21,7 +21,9 @@ function add_vo( vo_type, player_no )
if ( is_small_vasl_piece( vo_entry ) )
div_class += " small-piece" ;
var extn_name ;
if ( vo_entry.extn_id ) {
if ( vo_entry.id.substr(0,4) === "kfw-" )
extn_name = "KFW" ;
else if ( vo_entry.extn_id ) {
extn_name = gAppConfig.VASL_EXTENSIONS[ vo_entry.extn_id ].displayNameAbbrev ;
if ( ! extn_name )
extn_name = gAppConfig.VASL_EXTENSIONS[ vo_entry.extn_id ].displayName ;
@ -447,7 +449,10 @@ function make_online_counter_image_url( gpid, index )
// check if we have a piece from the core VASL module or an extension
var url, extn_id ;
var pos = gpid.toString().indexOf( ":" ) ;
if ( pos === -1 )
// FUDGE! K:FW was originally done as an extension, then moved into the main VASL module.
// One of the consequences of this is that a lot of the new counters have a GPID that
// looks like they come from an extension (3b5), but are actually in the main module.
if ( pos === -1 || gpid.substr(0,pos) === "3b5" )
url = gAppConfig.ONLINE_COUNTER_IMAGES_URL_TEMPLATE ;
else {
url = gAppConfig.ONLINE_EXTN_COUNTER_IMAGES_URL_TEMPLATE ;

@ -34,6 +34,10 @@
<button class="generate" data-id="mol">MOL</button>
<button class="generate" data-id="mol-p">MOL-P</button>
<button class="generate" data-id="baz">BAZ</button>
<button class="generate" data-id="baz45">BAZ 45</button>
<button class="generate" data-id="baz50">BAZ 50</button>
<button class="generate" data-id="baz-cpva16">BAZ 44</button>
<button class="generate" data-id="baz-cpva17">BAZ Type 51</button>
<button class="generate" data-id="piat">PIAT</button>
<button class="generate" data-id="thh">THH</button>
<button class="edit-template" data-id="ob_note"></button>

@ -16,6 +16,7 @@
<select name="SCENARIO_THEATER" class="param" title="Scenario theater">
<option value="ETO">ETO</option>
<option value="PTO">PTO</option>
<option value="Korea">Korea</option>
<option value="Burma">Burma</option>
<option value="other">other</option>
</select>
@ -31,7 +32,7 @@
</div>
<div class="row" style="margin-top:0.5em;">
<label></label>
<span style='width:10.25em'></span>
<span style='width:13em'></span>
<label class="header" for="ELR">ELR</label>
<label class="header" for="SAN">SAN</label>
</div>

@ -1 +1 @@
BAZ: {%if BAZ_TYPE%}'{{BAZ_TYPE}} ; range=[{{BAZ_RANGE}}] ; X#=[{{BAZ_BREAKDOWN}}] ; TK#=[{{BAZ_TOKILL}}]{%if BAZ_WP%} ; WP#=[{{BAZ_WP}}]{%endif%} ; col=[{{OB_COLOR}}]/[{{OB_COLOR_2}}]{%else%}none{%endif%}
BAZ: {%if BAZ_TYPE%}'{{BAZ_TYPE}} ; range=[{{BAZ_RANGE}}] ; X#=[{{BAZ_BREAKDOWN}}] ; TK#=[{{BAZ_TK}}]{%if BAZ_WP%} ; WP#=[{{BAZ_WP}}]{%endif%} ; col=[{{OB_COLOR}}]/[{{OB_COLOR_2}}]{%else%}none{%endif%}

@ -55,6 +55,11 @@
"display_name": "Romanian",
"ob_colors": [ "OBCOL:romanian","OBCOL2:romanian", "OBCOL-BORDER:romanian" ],
"type": "axis-minor"
},
"kfw-cpva": {
"display_name": "Communist Chinese",
"ob_colors": [ "OBCOL:kfw-cpva","OBCOL2:kfw-cpva", "OBCOL-BORDER:kfw-cpva" ]
}
}

File diff suppressed because it is too large Load Diff

@ -1113,6 +1113,7 @@ GPID Name Front images
5854 20L AA 20/65 ch/gun/chAA20LC2.gif ch/gun/chAA20LCb.gif
5855 75L AA Bofors M29 ch/gun/chAA75L2.gif ch/gun/chAA75Lb.gif
5856 88L AA FlaK 18 ch/gun/chAA88L2.gif ch/gun/chAA88Lb.gif
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
6765 81* MTR Krh/32 fi81mmMTR.png fi/gun/fi81mmMTRB.png

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -30,3 +30,19 @@ M3 3-in. AA Gun NM NM
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†<sup>1</sup> 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†

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU A4 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU A4 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 H4 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU A3 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU A3 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 H4 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -2,36 +2,36 @@
Name Capabilities (effective) # Notes Comments
------------------------------- --------------------------- --------------------------- --- ---------------------- -------------
5cm leGrW 36 5PP 5PP 44 A H S C B
50mm RM obr. 40 4PP 4PP 45 A R H S C
8cm GrW 34 QSU IR s7 QSU IR s7 46† A C B
Brandt M27/31 QSU s7 QSU s7 47† A R H S
PM obr. 38 QSU h-d s8 QSU h-d s8 48† R H
Ur wz. 35 1PP 1PP 49 R H S C B
s18-1100 5PP 5PP 50 A R H
Kanon PUV vz. 37(t) QSU A4[1S] QSU 51† E H S B
Bohler M35 QSU QSU 52† A R H S No Gunshield.
5cm PaK 38(g) QSU A4[3]3[4] QSU A3 53† E R H S B
7.5cm PaK 97/38(g) QSU H5[3+] s6 QSU H5 s6 54† E R B
7.5cm PaK 40(g) QSU A4[3]3[4] QSU A3 55† E R H S B
Skoda M15 QSU QSU 56† A R H S C B
Canon de 75 mle 1897 QSU s7 QSU s7 57 R B
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 R S C
Skoda M28(80) 60† S C
Skoda M14/19 s8 s8 61† A† R H S C
leFH 18(g) H4[3+] s5 H4 s5 62† E H S B
Skoda M35 AP7 C7[CS]† AP7 63† R S C
G obr. 10/30 h-d s7 h-d s7 64† R B
G obr. 38 s5[1-2R]† 65 R B
Skoda M14 66† R H S
Skoda M15/16 s6 s6 67† S C No IF.
C mle 17 S s7 s7 68† R B
Mitrailleuse de 13.2 CAJ mle 30 2 TK DR† 2 TK DR† 69† T†<sup>1</sup> R B
Oerlikon FF LF [NT, 20†, 2 ROF, B11] LF [NT, 20†, 2 ROF, B11] 70 G† R H S C B
2cm FlaK 30(g) LF [NT, 20†[1], 2 ROF, B9] LF [NT, 20†[1], 2 ROF, B9] 71† E G†<sup>1</sup> R B
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† E G†<sup>1</sup> R B
3.7cm FlaK 36(g) 73† E R B
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† G†<sup>1</sup> R H S C
Skoda M33 75R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† E G†<sup>1</sup> R S B
Skoda M17 QSU QSU 59† A C R S
Skoda M28(80) 60† C S
Skoda M14/19 s8 s8 61† A† C H R S
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. 38 s5[1-2R]† 65 B R
Skoda M14 66† H R S
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†<sup>1</sup>
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†<sup>1</sup> R
2cm FlaK 38(g) LF [NT, 20†[1], 2 ROF, B10] LF [NT, 20†[1], 2 ROF, B10] 72† B E G†<sup>1</sup> R
3.7cm FlaK 36(g) 73† B E R
Bofors 40mm LF [40†[1], 2 ROF] LF [40†[1], 2 ROF] 74† C G†<sup>1</sup> H R S
Skoda M33 75 R S
8.8cm FlaK 18 o. 36(g) LF [88†[1], 1 ROF, B11] LF [88†[1], 1 ROF, B11] 76† B E G†<sup>1</sup> R S

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -1,29 +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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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 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†<sup>1</sup> 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†<sup>1</sup> 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†<sup>1</sup> 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†

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -2,5 +2,5 @@
Name Capabilities (effective) # Notes Comments
---------------- -------------- ------------- --- ------- -------------
Canonne da 65/17 35 A No Gunshield.
Cannone da 65/17 35 A No Gunshield.
Skoda M28(FE) 36 A

@ -0,0 +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†

@ -0,0 +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†

@ -0,0 +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†

@ -0,0 +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†

@ -0,0 +1,20 @@
=== 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
122mm G obr. 38 H6 s8 H6 s8 11† B
122mm obr. 31 s8 s8 12 B
152mm GP obr. 37 13 B
37mm ZP obr. 39 14† B
85mm ZP obr. 39 15 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save