diff --git a/vasl_templates/webapp/data/default-template-pack/national-capabilities.json b/vasl_templates/webapp/data/default-template-pack/national-capabilities.json index 259807b..6cd1042 100644 --- a/vasl_templates/webapp/data/default-template-pack/national-capabilities.json +++ b/vasl_templates/webapp/data/default-template-pack/national-capabilities.json @@ -108,6 +108,26 @@ "hob_drm": "+1 DRM", "grenades": "Smoke" }, +"free-french": { + "th_color": "Black", + "oba": [ "8B", "2R" ], "oba_access": "≤ 2", + "hob_drm": "-1 DRM", + "grenades": "{? 01/1944- | SMOKE | Smoke | SMOKE44+ ?}", + "notes": [ + "{? 12/1943- | Assault Fire | No Assault Fire | Assault Fire12/43+ ?}", + "{? 12/1943-05/1945 | Inherent Crews as British for Morale | | Inherent Crews as British for Morale12/43-5/45 ?}", + { "caption": "Elite & 1st Line", "notes": [ + "Cowering NA" + ] }, + { "caption": "No Captured Use penalty", "notes": [ + "U.S. MTR/BAZ", + "Vichy French SW", + "{? -11/1943 | British (f) vehicles/Guns/SW | | British (f) vehicles/Guns/SW -11/43 ?}", + "{? 12/1943-05/1945 | British/French (a)/(f) SW | | British/French (a)/(f) SW12/43-5/45 ?}" + ] } + ] +}, + "italian": { "th_color": "Red", diff --git a/vasl_templates/webapp/static/nat_caps.js b/vasl_templates/webapp/static/nat_caps.js index 3080be3..7a5f1ac 100644 --- a/vasl_templates/webapp/static/nat_caps.js +++ b/vasl_templates/webapp/static/nat_caps.js @@ -140,7 +140,7 @@ function get_national_capabilities( nat, is_kfw ) else if ( ["british","british~canadian","british~newzealand"].indexOf( nat ) !== -1 ) nat = "kfw-bcfk" ; } - else if ( nat === "free-french" || nat.substring(0,8) === "british~" ) + else if ( nat.substring(0,8) === "british~" ) nat = "british" ; var nat_caps = gTemplatePack["national-capabilities"][ nat ] ; if ( nat_caps ) diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1940.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1940.txt index a675ccf..af450e8 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1940.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1940.txt @@ -5,14 +5,12 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* No Assault Fire + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British (f) vehicles/Guns/SW diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1941.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1941.txt index c468319..fde8f26 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1941.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1941.txt @@ -5,14 +5,12 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* No Assault Fire + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British (f) vehicles/Guns/SW diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1942.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1942.txt index ea9dd17..fcf230b 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1942.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1942.txt @@ -5,14 +5,12 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* No Assault Fire + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British (f) vehicles/Guns/SW diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1943.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1943.txt index c6174ee..64945d1 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1943.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1943.txt @@ -5,14 +5,12 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* No Assault Fire + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British (f) vehicles/Guns/SW diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1944.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1944.txt index d38681c..1a67d16 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1944.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1944.txt @@ -5,14 +5,13 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* Assault Fire +* Inherent Crews as British for Morale + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British/French (a)/(f) SW diff --git a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1945.txt b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1945.txt index 5330066..4cf0e66 100644 --- a/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1945.txt +++ b/vasl_templates/webapp/tests/fixtures/nat-caps/free-french/1945.txt @@ -5,14 +5,13 @@ HoB: -1 DRM Black TH# OBA: 8B 2R (access: ≤ 2) +* Assault Fire +* Inherent Crews as British for Morale + Elite & 1st Line: * Cowering NA -ANZAC: -* Stealthy (unless Green) - -Gurkha: -* -1 CC DRM -* Disrupt & RtPh Surrender NA -* Commando (unless Green) -* Stealthy +No Captured Use penalty: +* U.S. MTR/BAZ +* Vichy French SW +* British/French (a)/(f) SW diff --git a/vasl_templates/webapp/tests/test_national_capabilities.py b/vasl_templates/webapp/tests/test_national_capabilities.py index 4c1be24..f043e69 100644 --- a/vasl_templates/webapp/tests/test_national_capabilities.py +++ b/vasl_templates/webapp/tests/test_national_capabilities.py @@ -259,6 +259,18 @@ def test_time_based_national_capabilities( webapp, webdriver ): "Commissars NA", "Riders OK" ] ) + # test the Free French national capabilities + check_notes( "free-french", "ETO", 11, 1943, [ + "No Assault Fire", + "British (f) vehicles/Guns/SW", "!British/French (a)/(f) SW", + "!Inherent Crews as British for Morale" + ] ) + check_notes( "free-french", "ETO", 12, 1943, [ + "Assault Fire", + "!British (f) vehicles/Guns/SW", "British/French (a)/(f) SW", + "Inherent Crews as British for Morale" + ] ) + # test the Finnish national capabilities # NOTE: We should test for Inherent PF here, but it's in a nested sub-list (more trouble than it's worth). check_oba( "finnish", "ETO", 12, 1943, "8B", "3R", plentiful=True )