User guide All recipes Tutorial Function reference Open playground

Open this document in the playground · Download source

Brindlewood Bay — Theorize before Crown use

R20 · Intermediate · Scoped procedure: initial standard-mystery Theorize roll

Question and scope

Given an eligible, consensual theory, what are the chances it is incorrect, correct with complications, cleanly correct, or also reveals a conspiracy figure? The supplied rules distinguish Clues gathered (eligibility) from Clues incorporated into the theory or otherwise explained away (the roll bonus).

The Mavens must gather at least half Complexity, rounded up, and reach consensus. Then roll 2d6 + accounted Clues − Complexity. A 7–9 result is correct with an unwelcome complication or a complicated/dangerous opportunity to resolve the case. At 10+ the solution is correct and the Keeper presents an opportunity to resolve it. At 12+ someone involved in the dark conspiracy additionally reveals themselves. “Clean” below is shorthand for 10+, not an automatic finished case.

Inputs and assumptions

InputDefaultSupported values
complexity6Integer 6–8, the text’s standard mystery range
gathered_clues6Integer at least ceil(Complexity/2); ordinary mystery Clues
accounted_clues6Integer 0–gathered; incorporated or explained away

Consensus and which Clues qualify are established at the table, not by the script. Void Clues have no direct bearing on ordinary mystery resolution and are excluded from these counts. Special conversions and the Void Mystery variant require their own scope. There is no requirement here that every gathered Clue be counted in the modifier.

Complete runnable model

fail rejects inputs outside the stated scope. The named bands are exclusive; the subsequent probability-table questions overlap and must not be added.

complexity = 6
gathered_clues = 6
accounted_clues = 6
if type(complexity) != "int" or complexity < 6 or complexity > 8:
    fail("Use standard mystery Complexity 6–8")
if type(gathered_clues) != "int" or type(accounted_clues) != "int":
    fail("Clue counts must be integers")
minimum_clues = (complexity + 1) // 2
if gathered_clues < minimum_clues:
    fail("Not enough gathered Clues to trigger Theorize")
if accounted_clues < 0 or accounted_clues > gathered_clues:
    fail("Accounted Clues must be between zero and gathered Clues")

total = d(6) + d(6) + accounted_clues - complexity
bands = (scale()
    .step("Incorrect", at_most(6))
    .step("Correct with complications", through(7, 9))
    .step("Clean, without revelation", through(10, 11))
    .step("Clean plus conspiracy revelation", at_least(12)))
output("Initial Theorize categories", bucket(total, bands))
rows = [("Any correct theory (7+)", total.p_ge(7)),
        ("Clean or better (10+)", total.p_ge(10)),
        ("Conspiracy revelation (12+)", total.p_ge(12))]
output("Nested Theorize questions", prob_table(rows))

Initial Theorize categories · Outcomes

outcome%fracX/36
Incorrect41.75/1215
Correct with complications41.75/1215
Clean, without revelation13.95/365
Clean plus conspiracy revelation2.781/361

Nested Theorize questions · Table

outcome%fracX/36
Any correct theory (7+)58.37/1221
Clean or better (10+)16.71/66
Conspiracy revelation (12+)2.781/361

Reading and independent checks

At defaults the modifier is zero. Of the 36 equally likely d6 pairs:

Thus any correct theory is 21/36, clean or better 6/36, and revelation 1/36. Querying 7+ and labelling it “clean” would overstate that chance.

At Complexity 6 with three gathered and three accounted Clues, the group is eligible, but clean is impossible; any correct theory is 6/36. Complexity 7 requires four gathered Clues: three is rejected. With five gathered but four accounted, the modifier is −3 and those same probabilities apply. Adding an unaccounted Clue alone changes no probabilities once eligibility is met.

Adaptations, timing, and limits

Change the three inputs independently while respecting their relationships. Accounted Clues equal to Complexity+3 give a clean-or-better chance of 21/36. This is a numerical comparison, not a recommendation that acquiring more Clues is always worth the danger.

This is before Crown use, not a full player-resource policy. In the supplied text Theorize cannot take advantage/disadvantage or effects of other moves. Its tier can be raised by a Crown only if every Maven does so. A tier shift is not a fixed +1 bonus or a reroll, and resource availability/consent is not modelled. A failed attempt may be repeated only after the Keeper reacts and the Mavens deal with that reaction; this script does not model those events.

Source and related learning

Jason Cordova, Brindlewood Bay: A Dark & Cozy Mystery Game, user-supplied target/brindlewood-bay.md, reviewed 2026-09-15. Sections: Rolling Dice, The Crowns, Theorize, Complexity, Void Clues, and the Keeper’s Theorize guidance. Edition/printing is not identified in the supplied text; this model is scoped to that source, not all editions. The source fingerprint and review record live in the repository’s docs/design/learning-rules-core.md. The full game text is not redistributed with this site.

Publisher’s game page · L31: designing the report. Source review is complete against the supplied text; independent human rules and novice reviews remain pending.

Content ID: R20 · Review status: pilot

Prerequisites: L31

Rules review: source checked 2026-09-15 against user-supplied text; printing unidentified; human review pending