diff --git a/docs/REVIEW_LOG.md b/docs/REVIEW_LOG.md index fa5154d..317bddb 100644 --- a/docs/REVIEW_LOG.md +++ b/docs/REVIEW_LOG.md @@ -5130,3 +5130,48 @@ sheet is a grid of cards so it can be skimmed under pressure rather than read. Version bumped to 0.9.0 — which, incidentally, is what makes Foundry re-fetch the stylesheet for anyone updating. + +### R-251. The largest combat change the system has had, measured four commits late + +`ddc4f99` routed every ordinary blow through the hit location table. Until then the +locations were a hazards-only subsystem — falling, fire, explosions and automatic fire +rolled a location, and every sword and pistol did not. That commit is the reason the +rest of this work exists, and nobody measured what it did to the game until now. + +`check-lethality` did not notice, and the way it failed is the useful part. Twenty-six +of forty-six creatures moved. Not one of them moved more than two points of wipe rate, +the guard allowed six, and so it reported OK for four commits while comparing against +numbers from a version of combat that no longer existed. A tolerance sized for sampling +noise, in a simulation that has none, is just a blindfold with a rationale. + +Isolated by replaying `322389b` and `ddc4f99` against the same party, seed and counts: + +| | | +|---|---| +| creatures whose numbers moved | 26 of 46 | +| deadlier | 3 | +| less deadly | 8 | +| unchanged wipe rate, moved elsewhere | 15 | +| mean change in wipe rate | **−0.17 points** | + +The largest single moves were the courier (6% → 3.5% wipe), the arrears (7.5% → 9.5%), +the stanchion (26% → 28%) and the long walker (68% → 66.5%). + +So the answer is reassuring, and it is worth having written down rather than assumed: +sending every blow through a location **redistributed** lethality without raising it. +Creatures with one big attack got slightly less dangerous, because a blow that used to +come straight off a single hit point pool now has to beat the armour covering wherever +it landed. Creatures that attack often got slightly more dangerous, because they now +accumulate damage in a limb and disable it. Across the bestiary those cancel to within +a fifth of a point. + +Two corrections to the record, both mine, both from explaining before measuring: + +- I reported that adding a creature shifted a shared random stream and perturbed its + neighbours' numbers. It does not. `measure()` builds its own generator per call; + inserting a creature ahead of the barghest changes 0 of 47 entries. The guard's own + claim about this was right and mine was wrong. +- I then said the file's claim was untrue in a commit message. It was true. + +The baseline recorded in `e5dc9b5` already carries these numbers. What was missing was +this page. diff --git a/system.json b/system.json index 61fab93..0e67423 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "ringbrp", "title": "The Custodians", "description": "A Basic Roleplaying game of agents who cross the crossing to contain what should not be there — and who come back a little less from here each time.", - "version": "1.7.5", + "version": "1.7.6", "compatibility": { "minimum": 13, "verified": "14.364"