R-226: "Tradecraft first" was too literal
My own R-221 fix overshot. A Containment Officer whose Tradecraft had caught a stray bonus point sat at 12% against a base of 5 — technically trained — and led every phase ahead of a Rigging Officer on 53% Navigate. Tradecraft still wins ties and wins when genuinely better; it no longer wins when plainly worse. The Containment phase went 6% -> 26% on the same team. Found playing GLASS LANTERN with the historical gear: salvaged polearms and slings correctly arrive at 5% because nobody trains them, and maille over brigandine (AR 8) reduced four utility-knife hits to zero damage each. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e2d0ed5bb2
commit
79caf143bd
@@ -4020,3 +4020,45 @@ and has never thrown anything away.
|
||||
|
||||
Catalogue is now **206 items**: 118 gear, 62 weapons, 25 armour, 14 vehicles — 145
|
||||
modern, 77 antique, 34 future, 19 anomalous.
|
||||
|
||||
## GLASS LANTERN — the historical gear in play
|
||||
|
||||
A village with two war memorials, Hollow class, salvage era **antique**. Antiquities,
|
||||
Containment, Rigging, Physician.
|
||||
|
||||
Salvage from a Hollow world did exactly what the era tag promises: a **poleaxe, a
|
||||
chirurgeon's roll, a lodestone and a pocket watch**. They armed themselves out of the
|
||||
village — poleaxe to the rigger, a Brown Bess and a maille shirt to the Antiquities
|
||||
Officer, a halberd to Containment, a sling to the Physician.
|
||||
|
||||
Three things the play-through proved, all of them the right behaviour:
|
||||
|
||||
**Salvaged historical weapons are not automatically usable.** The poleaxe, halberd and
|
||||
sling all came up at **5%**, because Polearm and Sling are skills nobody on the team
|
||||
has. The Rigging Officer knows her boarding axe at 68% and a poleaxe at 5% — the same
|
||||
shape of weapon, a different skill, and she sensibly kept the axe. Salvage is a
|
||||
promise of usefulness, not a free upgrade.
|
||||
|
||||
**Historical armour makes a knife pointless.** The Antiquities Officer in maille over
|
||||
brigandine came out at AR 8, and the village hit her four times with utility knives
|
||||
for **0, 0, 0 and 0 damage**. 1d4+2 against eight points of armour is nothing, and
|
||||
that is exactly the historical fact the numbers should produce. She was also
|
||||
**overloaded at 28 kg against a 20 kg free carry**, which is the other half of the
|
||||
same fact.
|
||||
|
||||
**Muzzle-loaders behave.** Flintlock and Brown Bess both hold one shot with a
|
||||
two-round reload. She fired the flintlock in round one, and thereafter fought with the
|
||||
duelling sword rather than spend two rounds reloading in a melee — which is the
|
||||
decision the rule is supposed to produce.
|
||||
|
||||
The fight ran seven rounds. The village lost one dead and two dying; the team took
|
||||
almost nothing, because they were wearing four hundred years of armour development and
|
||||
the village had knives.
|
||||
|
||||
**R-226 · "Tradecraft first" was too literal.** My own R-221 fix overshot. A
|
||||
Containment Officer whose Tradecraft had caught a stray bonus point sat at 12% against
|
||||
a printed base of 5 — technically trained — and led every phase ahead of a Rigging
|
||||
Officer on **53% Navigate**. The preference is meant to mean "whoever reads a
|
||||
developing situation best", not "anybody with a point in the right column". Tradecraft
|
||||
still wins ties and wins when it is genuinely better; it no longer wins when it is
|
||||
plainly worse. The Containment phase went from 6% to 26% on the same team.
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.486571 174d33000 Recovering log #3
|
||||
2026/08/10-23:01:08.486599 174d33000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.486723 174d33000 Level-0 table #5: 3269 bytes OK
|
||||
2026/08/10-23:01:08.486979 174d33000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.487023 174d33000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.047112 174acf000 Recovering log #3
|
||||
2026/08/10-23:08:46.047137 174acf000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.047255 174acf000 Level-0 table #5: 3269 bytes OK
|
||||
2026/08/10-23:08:46.047517 174acf000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.047560 174acf000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.231905 1712a7000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.754899 17291b000 Delete type=3 #1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.493618 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.493643 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.493808 174527000 Level-0 table #5: 4129 bytes OK
|
||||
2026/08/10-23:01:08.494041 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.494071 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.054496 1752db000 Recovering log #3
|
||||
2026/08/10-23:08:46.054516 1752db000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.054650 1752db000 Level-0 table #5: 4129 bytes OK
|
||||
2026/08/10-23:08:46.054895 1752db000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.054929 1752db000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.256291 17028f000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.780759 173933000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.487664 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.487759 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.488053 174527000 Level-0 table #5: 27954 bytes OK
|
||||
2026/08/10-23:01:08.488346 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.488387 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.048195 173ab7000 Recovering log #3
|
||||
2026/08/10-23:08:46.048288 173ab7000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.048589 173ab7000 Level-0 table #5: 27954 bytes OK
|
||||
2026/08/10-23:08:46.048854 173ab7000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.048904 173ab7000 Delete type=3 #2
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.233897 17028f000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.757302 173127000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.479221 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.479486 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.480007 174527000 Level-0 table #5: 64974 bytes OK
|
||||
2026/08/10-23:01:08.480345 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.480411 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.040166 1752db000 Recovering log #3
|
||||
2026/08/10-23:08:46.040415 1752db000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.040907 1752db000 Level-0 table #5: 64974 bytes OK
|
||||
2026/08/10-23:08:46.041174 1752db000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.041236 1752db000 Delete type=3 #2
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.243997 1712a7000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.767972 17210f000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.484216 174d33000 Recovering log #3
|
||||
2026/08/10-23:01:08.484239 174d33000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.484351 174d33000 Level-0 table #5: 3295 bytes OK
|
||||
2026/08/10-23:01:08.484635 174d33000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.484666 174d33000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.044798 174acf000 Recovering log #3
|
||||
2026/08/10-23:08:46.044820 174acf000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.044910 174acf000 Level-0 table #5: 3295 bytes OK
|
||||
2026/08/10-23:08:46.045114 174acf000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.045143 174acf000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.249869 171ab3000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.774231 17291b000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.476733 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.476990 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.477569 174527000 Level-0 table #5: 57435 bytes OK
|
||||
2026/08/10-23:01:08.477881 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.477921 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.037647 1752db000 Recovering log #3
|
||||
2026/08/10-23:08:46.037898 1752db000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.038470 1752db000 Level-0 table #5: 57435 bytes OK
|
||||
2026/08/10-23:08:46.038791 1752db000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.038847 1752db000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.239525 171ab3000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.763212 17291b000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.489989 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.490045 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.490287 174527000 Level-0 table #5: 24724 bytes OK
|
||||
2026/08/10-23:01:08.490582 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.490609 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.050591 1752db000 Recovering log #3
|
||||
2026/08/10-23:08:46.050653 1752db000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.050935 1752db000 Level-0 table #5: 24724 bytes OK
|
||||
2026/08/10-23:08:46.051197 1752db000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.051244 1752db000 Delete type=3 #2
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.254751 17028f000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.778897 173127000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.481697 175d4b000 Recovering log #3
|
||||
2026/08/10-23:01:08.481745 175d4b000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.481926 175d4b000 Level-0 table #5: 7486 bytes OK
|
||||
2026/08/10-23:01:08.482244 175d4b000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.482280 175d4b000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.042468 1742c3000 Recovering log #3
|
||||
2026/08/10-23:08:46.042508 1742c3000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.042648 1742c3000 Level-0 table #5: 7486 bytes OK
|
||||
2026/08/10-23:08:46.042865 1742c3000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.042900 1742c3000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.226054 1712a7000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.747903 173127000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.491211 175d4b000 Recovering log #3
|
||||
2026/08/10-23:01:08.491246 175d4b000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.491445 175d4b000 Level-0 table #5: 16892 bytes OK
|
||||
2026/08/10-23:01:08.491649 175d4b000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.491673 175d4b000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.051945 1742c3000 Recovering log #3
|
||||
2026/08/10-23:08:46.051993 1742c3000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.052269 1742c3000 Level-0 table #5: 16892 bytes OK
|
||||
2026/08/10-23:08:46.052540 1742c3000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.052572 1742c3000 Delete type=3 #2
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.248248 1712a7000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.772624 173933000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.492361 174d33000 Recovering log #3
|
||||
2026/08/10-23:01:08.492389 174d33000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.492537 174d33000 Level-0 table #5: 3739 bytes OK
|
||||
2026/08/10-23:01:08.492829 174d33000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.492874 174d33000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.053301 174acf000 Recovering log #3
|
||||
2026/08/10-23:08:46.053322 174acf000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.053430 174acf000 Level-0 table #5: 3739 bytes OK
|
||||
2026/08/10-23:08:46.053664 174acf000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.053709 174acf000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.246465 17028f000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.770616 173127000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.482999 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.483024 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.483159 174527000 Level-0 table #5: 5105 bytes OK
|
||||
2026/08/10-23:01:08.483436 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.483488 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.043606 1752db000 Recovering log #3
|
||||
2026/08/10-23:08:46.043635 1752db000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.043789 1752db000 Level-0 table #5: 5105 bytes OK
|
||||
2026/08/10-23:08:46.044129 1752db000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.044200 1752db000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.228585 17028f000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.750858 173933000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.489065 174d33000 Recovering log #3
|
||||
2026/08/10-23:01:08.489088 174d33000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.489205 174d33000 Level-0 table #5: 5012 bytes OK
|
||||
2026/08/10-23:01:08.489400 174d33000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.489423 174d33000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.049567 174acf000 Recovering log #3
|
||||
2026/08/10-23:08:46.049596 174acf000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.049730 174acf000 Level-0 table #5: 5012 bytes OK
|
||||
2026/08/10-23:08:46.049946 174acf000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.049973 174acf000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.235861 171ab3000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.759342 17210f000 Delete type=3 #1
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
2026/08/10-23:01:08.485281 174527000 Recovering log #3
|
||||
2026/08/10-23:01:08.485346 174527000 Level-0 table #5: started
|
||||
2026/08/10-23:01:08.485576 174527000 Level-0 table #5: 14767 bytes OK
|
||||
2026/08/10-23:01:08.485871 174527000 Delete type=0 #3
|
||||
2026/08/10-23:01:08.485924 174527000 Delete type=3 #2
|
||||
2026/08/10-23:08:46.045683 173ab7000 Recovering log #3
|
||||
2026/08/10-23:08:46.045761 173ab7000 Level-0 table #5: started
|
||||
2026/08/10-23:08:46.046185 173ab7000 Level-0 table #5: 14767 bytes OK
|
||||
2026/08/10-23:08:46.046452 173ab7000 Delete type=0 #3
|
||||
2026/08/10-23:08:46.046500 173ab7000 Delete type=3 #2
|
||||
|
||||
@@ -1 +1 @@
|
||||
2026/08/10-23:01:00.230385 171ab3000 Delete type=3 #1
|
||||
2026/08/10-23:08:37.752873 173933000 Delete type=3 #1
|
||||
|
||||
+9
-2
@@ -5185,8 +5185,15 @@ async function resolveLegDialog(expedition) {
|
||||
const r = requireTrained ? trained(a, fam) : a.skillRating(fam);
|
||||
return (r !== null && r > (acc?.rating ?? -1)) ? { actor: a, rating: r, skill: fam } : acc;
|
||||
}, null);
|
||||
const best = bestIn("tradecraft") ?? bestIn("navigate")
|
||||
?? bestIn("tradecraft", false) ?? bestIn("navigate", false);
|
||||
// R-226. "Tradecraft first" was too literal. A Containment Officer whose Tradecraft
|
||||
// had caught a stray bonus point sat at 12% against a base of 5 — technically
|
||||
// trained — and led every phase ahead of a Rigging Officer on 53% Navigate. The
|
||||
// preference is meant to say "whoever reads a developing situation best", not
|
||||
// "anybody with a point in the right column". Tradecraft still wins ties and wins
|
||||
// when it is genuinely better; it does not win when it is plainly worse.
|
||||
const tc = bestIn("tradecraft"), nav = bestIn("navigate");
|
||||
const best = (tc && (!nav || tc.rating >= nav.rating)) ? tc
|
||||
: (nav ?? tc ?? bestIn("tradecraft", false) ?? bestIn("navigate", false));
|
||||
if (!best) return ui.notifications.warn(game.i18n.localize("RINGBRP.Notify.NoNavigator"));
|
||||
|
||||
// A leg may state its own difficulty; the generator sets one deliberately and
|
||||
|
||||
Reference in New Issue
Block a user