A fumbled relief attempt puts a point on
Trying to steady somebody and making it worse is the most familiar thing on that list, and until now it was the only outcome that cost nothing. Done as a NEGATIVE relief rather than a second code path: panicReliefFor returns -1 on a fumble, and easePanic already subtracts what it is given, so subtracting a negative raises the track. One number, one direction, no branch that could drift from the other. The clamp still holds — fumbling at 5 stays at 5. The chat card had to be told, because otherwise it prints the word "Psychology" over a number that has just gone UP and the table reads that as a bug rather than as the rule. It now leads with a red FUMBLED tag. Guarded three ways: a spot-check in check-rules for the -1 itself, and two behaviour tests — one that the sign survives easePanic's subtraction and actually raises the track, one that it cannot push past the top. A test on the constant alone would have passed even if easePanic had healed on a fumble. Verified live: 2 → fumble → 3 → success → 2 → special → 0, and a fumble at 5 staying at 5, with the cards reading correctly. Version 1.1.2. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
20306d83d9
commit
5aaae186e0
@@ -180,9 +180,9 @@ The build runs all five guards before it writes anything:
|
||||
|
||||
<!-- guards:start -->
|
||||
```
|
||||
check-rules: OK — 92 rules, 20 files scanned, 3 aliases + 45 constant sets checked, 290 formulas verified
|
||||
check-rules: OK — 92 rules, 20 files scanned, 3 aliases + 45 constant sets checked, 291 formulas verified
|
||||
check-kits: OK — 25 roles, 10 trades, 218 catalogue items, every kit key resolves, every posting can use what it carries, every loadout distinct
|
||||
check-lang: OK — en.json, 976 keys, no leaf/branch collisions
|
||||
check-behaviour: OK — 55 behavioural tests
|
||||
check-lang: OK — en.json, 977 keys, no leaf/branch collisions
|
||||
check-behaviour: OK — 57 behavioural tests
|
||||
```
|
||||
<!-- guards:end -->
|
||||
|
||||
+2
-1
@@ -974,5 +974,6 @@
|
||||
"RINGBRP.Panic.Breaks": "BREAKS — freeze, flee, or fixate. Choose, take it, come back at 3.",
|
||||
"RINGBRP.Panic.NoChange": "No change.",
|
||||
"RINGBRP.Flavour.Panicking": "panicking ({mod}%)",
|
||||
"RINGBRP.Chat.ToEverything": "to everything"
|
||||
"RINGBRP.Chat.ToEverything": "to everything",
|
||||
"RINGBRP.Panic.Backfired": "Fumbled —"
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.401379 16e463000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.247472 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.247505 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.247700 17253f000 Level-0 table #5: 4591 bytes OK
|
||||
2026/08/17-23:24:47.248094 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.248137 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.473921 16e827000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.473673 16fc87000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.267497 173d63000 Recovering log #3
|
||||
2026/08/17-23:24:47.267518 173d63000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.267658 173d63000 Level-0 table #5: 4129 bytes OK
|
||||
2026/08/17-23:24:47.267918 173d63000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.267949 173d63000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.544854 16e827000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.403187 16e463000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.248920 173d63000 Recovering log #3
|
||||
2026/08/17-23:24:47.249014 173d63000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.249313 173d63000 Level-0 table #5: 31614 bytes OK
|
||||
2026/08/17-23:24:47.249730 173d63000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.249796 173d63000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.475804 17004b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.456562 16ec6f000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.261246 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.261511 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.261915 17253f000 Level-0 table #5: 46857 bytes OK
|
||||
2026/08/17-23:24:47.262265 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.262307 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.528809 16f033000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.438818 16ec6f000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.235329 173d63000 Recovering log #3
|
||||
2026/08/17-23:24:47.236302 173d63000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.238305 173d63000 Level-0 table #5: 234672 bytes OK
|
||||
2026/08/17-23:24:47.238754 173d63000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.238827 173d63000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.510747 16f83f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.468218 16f47b000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.244550 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.244581 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.244685 17253f000 Level-0 table #5: 3295 bytes OK
|
||||
2026/08/17-23:24:47.244965 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.245003 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.539431 17004b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.424479 16f47b000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.222820 172d4b000 Recovering log #3
|
||||
2026/08/17-23:24:47.225060 172d4b000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.229466 172d4b000 Level-0 table #5: 561098 bytes OK
|
||||
2026/08/17-23:24:47.229981 172d4b000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.230132 172d4b000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.496406 16e827000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.464811 16f47b000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.251999 173d63000 Recovering log #3
|
||||
2026/08/17-23:24:47.252036 173d63000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.252324 173d63000 Level-0 table #5: 21613 bytes OK
|
||||
2026/08/17-23:24:47.252692 173d63000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.252736 173d63000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.536318 17004b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.461075 16f47b000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.263027 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.263228 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.263611 17253f000 Level-0 table #5: 44887 bytes OK
|
||||
2026/08/17-23:24:47.263871 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.263914 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.533004 16e827000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.471824 16e463000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.253858 172d4b000 Recovering log #3
|
||||
2026/08/17-23:24:47.253959 172d4b000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.254345 172d4b000 Level-0 table #5: 36526 bytes OK
|
||||
2026/08/17-23:24:47.254740 172d4b000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.254786 172d4b000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.542959 16f83f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.395237 16e463000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.241716 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.241766 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.241955 17253f000 Level-0 table #5: 7806 bytes OK
|
||||
2026/08/17-23:24:47.242285 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.242328 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.467729 16f033000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/17-21:58:29.466508 16ec6f000 Delete type=3 #1
|
||||
2026/08/17-23:24:47.264565 17253f000 Recovering log #3
|
||||
2026/08/17-23:24:47.264605 17253f000 Level-0 table #5: started
|
||||
2026/08/17-23:24:47.264863 17253f000 Level-0 table #5: 16902 bytes OK
|
||||
2026/08/17-23:24:47.265193 17253f000 Delete type=0 #3
|
||||
2026/08/17-23:24:47.265233 17253f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/17-23:24:31.538092 16f033000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user