diff --git a/assets/json/library.json b/assets/json/library.json
index f981d0e..e863f69 100644
--- a/assets/json/library.json
+++ b/assets/json/library.json
@@ -527,6 +527,14 @@
"file": "pocs-r1-1364",
"name": "Pick off + Caught stealing - P to 1B to SS to 2B (R1)"
},
+ {
+ "file": "pocse-r1",
+ "name": "Pick off + Caught stealing + throwing error by P (R1)"
+ },
+ {
+ "file": "pocsen-r3",
+ "name": "Pick off + Caught stealing + throwing error by P, no advance (R1)"
+ },
{
"file": "error-poa-r1",
"name": "Pick off attempt - e1T (R1)"
diff --git a/assets/lang/cs.json b/assets/lang/cs.json
index 1096342..912c3b3 100644
--- a/assets/lang/cs.json
+++ b/assets/lang/cs.json
@@ -178,6 +178,8 @@
"CSNT" : "Caught stealing + throwing error (no advance)",
"POE" : "Pick off attempt + (throwing) error",
"POEN" : "Pick off attempt + (throwing) error (no advance)",
+ "POCSE" : "Pick off attempt + CS + (throwing) error",
+ "POCSEN" : "Pick off attempt + CS + (throwing) error (no advance)",
"CSO" : "Caught stealing",
"PO" : "Picked off",
"POCS" : "Picked off + caught stealing"
diff --git a/assets/lang/en.json b/assets/lang/en.json
index 408e42f..70bf130 100644
--- a/assets/lang/en.json
+++ b/assets/lang/en.json
@@ -178,6 +178,8 @@
"CSNT" : "Caught stealing with throwing error (no advance)",
"POE" : "Pick off attempt with (throwing) error",
"POEN" : "Pick off attempt with (throwing) error (no advance)",
+ "POCSE" : "Pick off attempt + CS with (throwing) error",
+ "POCSEN" : "Pick off attempt + CS with (throwing) error (no advance)",
"CSO" : "Caught stealing",
"PO" : "Picked off",
"POCS" : "Picked off + caught stealing"
diff --git a/backstop_data/bitmaps_reference/action-pocse-r1_m.png b/backstop_data/bitmaps_reference/action-pocse-r1_m.png
new file mode 100644
index 0000000..59a999b
Binary files /dev/null and b/backstop_data/bitmaps_reference/action-pocse-r1_m.png differ
diff --git a/backstop_data/bitmaps_reference/action-pocsen-r3_m.png b/backstop_data/bitmaps_reference/action-pocsen-r3_m.png
new file mode 100644
index 0000000..2c78b0c
Binary files /dev/null and b/backstop_data/bitmaps_reference/action-pocsen-r3_m.png differ
diff --git a/public/json/pocse-r1.json b/public/json/pocse-r1.json
new file mode 100644
index 0000000..6f4b9d6
--- /dev/null
+++ b/public/json/pocse-r1.json
@@ -0,0 +1 @@
+[{"group":"input-r1","baseAction":"ste","specAction":"POCSE","origBase":1,"base":2,"tie":false,"runtype":"e","pos":"1"}]
\ No newline at end of file
diff --git a/public/json/pocsen-r3.json b/public/json/pocsen-r3.json
new file mode 100644
index 0000000..6cc9976
--- /dev/null
+++ b/public/json/pocsen-r3.json
@@ -0,0 +1 @@
+[{"group":"input-r3","baseAction":"ste","specAction":"POCSEN","origBase":3,"base":4,"tie":false,"runtype":"e","pos":"1"}]
\ No newline at end of file
diff --git a/utils/wbsc-eval.ts b/utils/wbsc-eval.ts
index 314933b..27c85e9 100644
--- a/utils/wbsc-eval.ts
+++ b/utils/wbsc-eval.ts
@@ -272,6 +272,10 @@ function changeRunnerSpecificAction (group: string) {
minPosItems = 1
targetPosItems = 2
break
+ case 'POCSE':
+ case 'POCSN':
+ minPosItems = targetPosItems = 1
+ break
case 'OBR_rol':
case 'OBR_rin':
case 'A':
@@ -620,17 +624,22 @@ function processInput (input: WBSCInput, batter: number): WBSCOutput {
possibleConcurrentPlay = true
break
case 'POEN':
+ case 'POCSEN':
output.na = true
// falls through
case 'POE':
+ case 'POCSE':
output.text1 = 'POA'
+ if (action.includes('CS')) {
+ output.text1 += 'CS'
+ }
if (pos.length > 1) {
output.text2 = pos?.substring(0, pos.length - 1) + 'E' + pos?.substring(pos.length - 1)
} else {
output.text2 = (action === 'POE' ? 'e' : 'E') + pos + 'T'
}
output.num = true
- output.base = action === 'POE' ? output.origBase + 1 : input.origBase
+ output.base = !action.includes('N') ? output.origBase + 1 : input.origBase
output.errorTarget = output.base
possibleConcurrentPlay = true
break
diff --git a/utils/wbsc-html.ts b/utils/wbsc-html.ts
index 2381778..1e323c8 100644
--- a/utils/wbsc-html.ts
+++ b/utils/wbsc-html.ts
@@ -359,6 +359,8 @@ function renderRunnerSpecificActionOptions (action: string, group: string) {
options.push(``)
options.push(``)
options.push(``)
+ options.push(``)
+ options.push(``)
options.push('')
options.push(`