CLEAN GROUND prints that the four-player cut is three effective attackers and that Ashcroft is not one. Nothing checked it, and a GM reads it aloud to decide who a real player spends four hours being. effective-attackers.mjs measures per attack, not per fight: counted per fight Braithwaite leads on disables, but only because his armour buys him a third more swings -- per attack he is the weakest of the three. Both rates are recorded and only the per-attack one is reasoned from. Asserts exact drift, then the sentence: three clear 5% of attacks disabling, one does not, and that one is Ashcroft. Re-recording does not silence the claim check; verified in a worktree. declared-cast.mjs holds the cast marker reading both scenario guards need, rather than a copy in each. It was briefly named scenario-cast.mjs, which check-scenarios sweeps into the scenario corpus -- its own example marker was read as a real cast. update-readme dropped any guard that exited non-zero, so check-rollable vanished from the README and the count word fell to thirteen while fourteen guards ran. A missing line is now fatal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
57 lines
1.2 KiB
JSON
57 lines
1.2 KiB
JSON
{
|
|
"note": "Generated by tools/effective-attackers.mjs --update. Do not edit by hand.",
|
|
"runs": 2000,
|
|
"seeds": [
|
|
11,
|
|
4242,
|
|
90210
|
|
],
|
|
"creature": "quiet_neighbours_npc",
|
|
"count": 3,
|
|
"effectiveBar": 5,
|
|
"cast": [
|
|
"ashcroft",
|
|
"bhattacharya",
|
|
"renshaw",
|
|
"braithwaite"
|
|
],
|
|
"agents": {
|
|
"ashcroft": {
|
|
"name": "Dominic Ashcroft",
|
|
"attacksPerFight": 9.2,
|
|
"landed": 1,
|
|
"damagePerHit": 2.3,
|
|
"disablesPerAttack": 0.1,
|
|
"downedInPctOfFights": 34.7,
|
|
"landedNoise": 0.2
|
|
},
|
|
"bhattacharya": {
|
|
"name": "Arun Bhattacharya",
|
|
"attacksPerFight": 6.8,
|
|
"landed": 17.8,
|
|
"damagePerHit": 5.6,
|
|
"disablesPerAttack": 13.5,
|
|
"downedInPctOfFights": 33.1,
|
|
"landedNoise": 0.7
|
|
},
|
|
"renshaw": {
|
|
"name": "Kate Renshaw",
|
|
"attacksPerFight": 7.5,
|
|
"landed": 17.3,
|
|
"damagePerHit": 5.6,
|
|
"disablesPerAttack": 13.1,
|
|
"downedInPctOfFights": 37.1,
|
|
"landedNoise": 0.2
|
|
},
|
|
"braithwaite": {
|
|
"name": "Neil Braithwaite",
|
|
"attacksPerFight": 9.9,
|
|
"landed": 16.2,
|
|
"damagePerHit": 4.6,
|
|
"disablesPerAttack": 11.1,
|
|
"downedInPctOfFights": 23.8,
|
|
"landedNoise": 0.5
|
|
}
|
|
}
|
|
}
|