R-221: the phase-lead fallback could never fire

bestIn("tradecraft") ?? bestIn("navigate") never reached Navigate, because every
character carries every skill and skillRating() returns the printed base rather
than null — so the first lookup always found somebody. A team of postings that
train Navigate and not Tradecraft was led by whoever had the highest UNTRAINED
Tradecraft, which is 5%, putting phase three at 1%.

TRAINED now means above the printed base. Measured on a Pathology / Overwatch /
Warden / Materials team: lead 5% -> 34%.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
slaguru666
2026-08-10 20:44:03 +01:00
co-authored by Claude Opus 5
parent cc23fdb7bd
commit 1a0bdbd2df
28 changed files with 139 additions and 81 deletions
+41
View File
@@ -3676,3 +3676,44 @@ The rulebook is 9 pages, every page generated from the code it documents, and no
unresolved localisation key leaks into it. All packs rebuilt: 53 skills, 18 talents,
30 weapons, 13 armour, 119 gear, 14 vehicles, 6 Arts, 4 pregens, 6 NPCs, 2 tables,
the rulebook and the starter case. 231 icons and the four dice textures regenerated.
## IRON SIGNAL, played with Anchor / Pathology / Overwatch / Night Warden
A family removed from the world and not from the paperwork, with something using the
gap; the adversaries were themselves misfiled here generations ago and this is their
last stable ground. Good case. The team lost it.
Approach succeeded, then everything after failed. Contact with the staff opened on a
special and then failed twice, so the log never came across. Resources reached zero at
phase four. The case ends unclosed — the record was not put back — which the generator
already has an answer for: it followed somebody home, and that is next season's case.
**R-221 · the phase-lead fallback could never fire.** `bestIn("tradecraft") ??
bestIn("navigate")` — and every character carries every skill, because
`grantFullSkillList` puts them there, so `skillRating()` returns the printed base
rather than null. `bestIn("tradecraft")` therefore always found somebody and Navigate
was unreachable. A team of postings that train Navigate and not Tradecraft — and ten
of the twenty-five train neither, while eight train only Navigate — was led by
whoever had the highest UNTRAINED Tradecraft, which is the printed 5%. Measured on a
Pathology / Overwatch / Warden / Materials team: **the lead was 5%, and phase three
resolved at 1%.** With TRAINED meaning "above the printed base", the same team leads
at 34%. Fixed.
**And a correction to my own diagnosis.** I first read IRON SIGNAL's collapse as that
bug. It was not. The Anchor Officer trains Tradecraft at 40%, which beats the team's
best Navigate of 34, so the fix changes nothing for this team and the case would have
gone the same way. The real cause is tuning, and it is worth stating plainly:
phase chance across the five-phase ramp (difficult, 0 to −20)
lead 40% 20% → 15% → 10% → 5% → 1%
lead 55% 27% → 22% → 17% → 12% → 7%
lead 70% 35% → 30% → 25% → 20% → 15%
lead 85% 42% → 37% → 32% → 27% → 22%
Tradecraft is a SUPPORT skill on most postings that have it at all, so a realistic
lead is 40–55%, and the back half of every case sits in single figures. Two cases in
a row have now been decided by Resources running out rather than by anything the
players did. This is a design decision rather than a defect — a case is meant to be
survived rather than won — but if phases are supposed to be passable, the ramp
(−5 per phase, on top of `difficult`) is the dial, not `DEFENCE_STEP` and not the
skill ratings.