R-254 shipped the belly rule and called +6.4 points "modest on purpose". That read the
wrong statistic. +6.4 measured whether grounding helps; the question was whether the
borough still matters, and the gap between fighting the supporter on borough ground and
off it had fallen from 60.6 points to 44.9. Half damage from every departmental weapon is
meant to be the fight's central problem, and I had quietly taken sixteen points off it
while reporting a small number about something else. Same error as R-251.
Three changes that only work together:
- hide 7 -> 9, restoring the weight on the axis that should hurt
- grounded still halves it, 9 -> 4, which an ordinary round beats
- exposedHideFor now takes the location's kind and leaves `vital` unhalved: a beast on
its belly is not presenting its chest to the floor
Measured: 28.4% on borough ground flying, 68.4% grounded, 84.6% off it — a 56.2 point gap
against 44.9 before. Predicted 28.4 / 84.3 / 55.9 before building.
The composition of the three hide functions lives in prepareDerivedData where no test
could reach it, and check-anatomy's guard 6 is deliberately one-sided so it would not
have caught the vital losing its exemption. check-behaviour now composes the same
expression from the real supporter spec and the real tables. Negative-tested four ways:
removing the exemption, un-baring the wings, removing the halving, and inflating the hide
past what a round can beat each fail it with the right message.
Cost: the supporter goes from fifth to second deadliest creature in the book (2.84 -> 3.38
down, 46.8% -> 69.3% wiped). check-lethality refused the build until that row was
deliberately re-recorded.
BESTIARY.md printed the new hide and said nothing about it halving, because the body-plan
blurb predates the rule. The README said "eight guards" in three sentences above a
generated block listing nine. Both are the signature defect in prose: a number written
down that nothing reads. Both now generate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
250 lines
4.0 KiB
JSON
250 lines
4.0 KiB
JSON
{
|
|
"note": "Generated by tools/check-lethality.mjs --update. Do not edit by hand.",
|
|
"party": [
|
|
"pc_holloway",
|
|
"pc_okonkwo",
|
|
"pc_nkemdirim",
|
|
"pc_ferriby"
|
|
],
|
|
"runs": 2000,
|
|
"seed": 11,
|
|
"seedMode": "per-creature",
|
|
"creatures": {
|
|
"quiet_neighbours_npc": {
|
|
"wipe": 0,
|
|
"down": 0.02,
|
|
"rounds": 2
|
|
},
|
|
"keepers": {
|
|
"wipe": 0,
|
|
"down": 0.04,
|
|
"rounds": 2
|
|
},
|
|
"cleaner": {
|
|
"wipe": 0,
|
|
"down": 0.03,
|
|
"rounds": 2
|
|
},
|
|
"cleaner_marksman": {
|
|
"wipe": 0,
|
|
"down": 0.08,
|
|
"rounds": 2
|
|
},
|
|
"revenant": {
|
|
"wipe": 0.1,
|
|
"down": 0.16,
|
|
"rounds": 3
|
|
},
|
|
"duplicate": {
|
|
"wipe": 0,
|
|
"down": 0.06,
|
|
"rounds": 2
|
|
},
|
|
"barghest": {
|
|
"wipe": 0.4,
|
|
"down": 0.43,
|
|
"rounds": 4
|
|
},
|
|
"kelpie": {
|
|
"wipe": 0.1,
|
|
"down": 0.24,
|
|
"rounds": 3
|
|
},
|
|
"redcap": {
|
|
"wipe": 0.1,
|
|
"down": 0.34,
|
|
"rounds": 3
|
|
},
|
|
"boggart": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"churchgrim": {
|
|
"wipe": 0.1,
|
|
"down": 0.28,
|
|
"rounds": 4
|
|
},
|
|
"supporter": {
|
|
"wipe": 69.3,
|
|
"down": 3.38,
|
|
"rounds": 17
|
|
},
|
|
"hollow_man": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"the_tenant": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 1
|
|
},
|
|
"the_choir": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"precedent": {
|
|
"wipe": 0,
|
|
"down": 0.17,
|
|
"rounds": 3
|
|
},
|
|
"carrion_file": {
|
|
"wipe": 0,
|
|
"down": 0.04,
|
|
"rounds": 5
|
|
},
|
|
"the_understudy": {
|
|
"wipe": 0,
|
|
"down": 0.01,
|
|
"rounds": 2
|
|
},
|
|
"surveyor": {
|
|
"wipe": 4.8,
|
|
"down": 1.39,
|
|
"rounds": 10
|
|
},
|
|
"quarantine_unit": {
|
|
"wipe": 88.8,
|
|
"down": 3.71,
|
|
"rounds": 8
|
|
},
|
|
"cuckoo_array": {
|
|
"wipe": 1.5,
|
|
"down": 0.78,
|
|
"rounds": 8
|
|
},
|
|
"long_walker": {
|
|
"wipe": 64.1,
|
|
"down": 3.18,
|
|
"rounds": 15
|
|
},
|
|
"auditor": {
|
|
"wipe": 0,
|
|
"down": 0.12,
|
|
"rounds": 3
|
|
},
|
|
"washer_ford": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 1
|
|
},
|
|
"lantern_man": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 1
|
|
},
|
|
"grindylow": {
|
|
"wipe": 0,
|
|
"down": 0.13,
|
|
"rounds": 3
|
|
},
|
|
"knockers": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"spriggan": {
|
|
"wipe": 0.1,
|
|
"down": 0.29,
|
|
"rounds": 4
|
|
},
|
|
"nuckelavee": {
|
|
"wipe": 16,
|
|
"down": 1.7,
|
|
"rounds": 7
|
|
},
|
|
"hedley_kow": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"apple_man": {
|
|
"wipe": 2.1,
|
|
"down": 1.04,
|
|
"rounds": 10
|
|
},
|
|
"the_committee": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 2
|
|
},
|
|
"night_registry": {
|
|
"wipe": 0,
|
|
"down": 0.08,
|
|
"rounds": 3
|
|
},
|
|
"the_locum": {
|
|
"wipe": 0,
|
|
"down": 0.04,
|
|
"rounds": 2
|
|
},
|
|
"lost_property": {
|
|
"wipe": 0.9,
|
|
"down": 0.78,
|
|
"rounds": 8
|
|
},
|
|
"the_minutes": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 1
|
|
},
|
|
"waiting_room": {
|
|
"wipe": 0,
|
|
"down": 0.17,
|
|
"rounds": 6
|
|
},
|
|
"the_predecessor": {
|
|
"wipe": 0,
|
|
"down": 0.09,
|
|
"rounds": 2
|
|
},
|
|
"switchboard": {
|
|
"wipe": 0,
|
|
"down": 0,
|
|
"rounds": 4
|
|
},
|
|
"the_census": {
|
|
"wipe": 0,
|
|
"down": 0.15,
|
|
"rounds": 4
|
|
},
|
|
"the_courier": {
|
|
"wipe": 6.6,
|
|
"down": 1.37,
|
|
"rounds": 9
|
|
},
|
|
"the_relay": {
|
|
"wipe": 0.5,
|
|
"down": 0.6,
|
|
"rounds": 10
|
|
},
|
|
"the_stanchion": {
|
|
"wipe": 31.9,
|
|
"down": 2.29,
|
|
"rounds": 19
|
|
},
|
|
"the_yield": {
|
|
"wipe": 0.9,
|
|
"down": 0.72,
|
|
"rounds": 6
|
|
},
|
|
"the_overwriter": {
|
|
"wipe": 0,
|
|
"down": 0.12,
|
|
"rounds": 6
|
|
},
|
|
"the_arrears": {
|
|
"wipe": 8.9,
|
|
"down": 1.62,
|
|
"rounds": 11
|
|
},
|
|
"the_margin": {
|
|
"wipe": 0,
|
|
"down": 0.02,
|
|
"rounds": 3
|
|
}
|
|
}
|
|
}
|