User guide All recipes Tutorial Function reference Open playground

Open this document in the playground · Download source

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.

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))

Open-ended model, first extra roll only · DieRoll · mean 50.500

outcome%fracX/10000
<-880.454/88945
-88..-800.454/88945
-79..-710.454/88945
-70..-620.454/88945
-61..-530.454/88945
-52..-440.454/88945
-43..-350.454/88945
-34..-260.454/88945
-25..-170.454/88945
-16..-80.454/88945
-7..30.499/183749
40.011/99011
6..9590.09/109000
97..1070.454/88945
108..1160.454/88945
117..1250.454/88945
126..1340.454/88945
135..1430.454/88945
144..1520.454/88945
153..1610.454/88945
162..1700.454/88945
171..1790.454/88945
180..1880.454/88945
1890.051/19975
>1890.454/88945

Open-ended model, one continuation · DieRoll · mean 50.500

outcome%fracX/10000
<-880.454/88945
-88..-800.454/88945
-79..-710.454/88945
-70..-620.454/88945
-61..-530.454/88945
-52..-440.454/88945
-43..-350.454/88945
-34..-260.454/88945
-25..-170.454/88945
-16..-80.454/88945
-7..30.499/183749
40.011/99011
6..9590.09/109000
97..1070.454/88945
108..1160.454/88945
117..1250.454/88945
126..1340.454/88945
135..1430.454/88945
144..1520.454/88945
153..1610.454/88945
162..1700.454/88945
171..1790.454/88945
180..1880.454/88945
1890.051/19975
>1890.454/88945

Above 100 at cap zero · Prob

outcome%fracX/10000
Above 100 at cap zero4.9049/1000490

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 explains the modelling idea step by step. Cookbook index offers both game and mechanic views of these same recipes.

Content ID: R26 · Review status: source pending

Prerequisites: L29