# Open-ended d100 — RMSS source pending

**R26 · Advanced · Bounded approximation**

## Question and scope

Compare an acing d100 that repeats only on 100 with the engine’s Rolemaster-style open-ended helper. The latter opens low on 1–5 and high on 96–100. Predict whether low opening changes to addition when a later 97 appears.

**Source verification pending.** The explicit mathematical procedure below is executable but must not be treated as certified game rules.

## Inputs and model limits

Integer max_chain 0–3 recommended for these comparisons; 0 still permits the first extra roll. The procedure is documented engine behaviour, not certified printing-specific rules.

## Complete runnable model

`open_ended_d100(max_chain=0)` still permits the **first** extra roll. `max_chain` caps additional high-result continuations after that. Initial 1–5 chooses subtraction; initial 96–100 chooses addition. Later 96–100 results continue in the same direction. Initial 6–95 stops immediately.

```dice
output("Open-ended model, first extra roll only", open_ended_d100(max_chain=0))
output("Open-ended model, one continuation", open_ended_d100(max_chain=1))
output("Above 100 at cap zero", open_ended_d100(max_chain=0).p_ge(101))
```

## Reading the report and independent checks

The high worked path 97,98,4 totals +199. The low path 4,97,3 totals −96: it remains subtraction. At cap zero, above 100 has probability (96+97+98+99+100)/10000 = 0.049. Initial low/high bands balance in the mean, which remains 50.5 for these symmetric caps; tails still differ.

## Safe changes

Increase max_chain from zero to one and inspect tails. At zero, minimum is −99 and maximum 200; at one they become −199 and 300. A reported finite maximum is a cap artefact.

## Composition and boundary checks

Why is `explode(d(100))` not a substitute? Answer: it repeats only the maximum, never subtracts, and has different cap semantics. The chance a continuing chain is truncated here is 0.10 × 0.05^(max_chain+1). Do not call the distribution a particular RMSS printing without a verified source.

Do not combine separate marginal reports and assume they preserve the same
rolled faces. When an event depends on several properties of one roll, keep
those properties together inside a single classifier or pool callback.

## Rules

**Implementation-defined mathematical component; RMSS edition/printing source review pending.** This teaches the documented helper, not certified Rolemaster attack or manoeuvre rules. No alleged rulebook typo is asserted.

## Related learning

[Lesson L29](../tutorial/29-open-ended-procedures.html) explains the modelling idea step by step.
[Cookbook index](index.html) offers both game and mechanic views of these same recipes.
