Mercy cap
The Mercy cap is a ceiling on the cascade’s mult value. When a
hand’s mult exceeds the cap, the cascade emits a MercyCapFire event
and clamps the value down.
“Enough, friend. The room agrees with him.”
Without intervention, the cap is infinity (no cap). The Mercy
arcana family — common to mythic — installs a meaningful ceiling and
then provides the levers to raise, lower, or trade against it.
How it fires
Section titled “How it fires”At cascade step 6 (after Pass A and Pass B):
if (mult > spec.mercyCap) { events.add(MercyCapFire(preCap: mult, cap: spec.mercyCap)); mult = spec.mercyCap;}The animator slows down briefly at this beat, the dealer voice fires
a mercyCap line, and the felt darkens 30% for ~1.8 seconds.
Mercy arcana
Section titled “Mercy arcana”The 9-charm Mercy family was added in Phase 5 of the original Phase B work and ships in v1.0:
| Arcanum | Effect |
|---|---|
| The Mercy in the Cup | Cap is +5 higher per cleared room (cumulative). |
| The Lamp’s Allowance | Cap is +10 higher this room only; refreshes per room. |
| A Word with the Stranger | Cap is unchanged, but the cap-fire pays back chips. |
| The Patient Ledger | Cap rises by half the cleared rooms’ arcana counts. |
| The Quiet Bargain | First mercy fire each room is a no-op. |
| The Lengthening Hour | Cap is replaced by a per-step soft-brake. |
| The Unbound Moment | Cap is +20 once per night. |
| The Hour That Stretches | Mercy fire converts excess to additive chips. |
| The Stricter Ledger | Cap is −20 for the night; +50 chips per cleared room. (Drawback.) |
The full set is documented per-arcanum in Arcana → Overview.
Why a cap exists
Section titled “Why a cap exists”Without one, a few mid-night chains can spiral into million-point hands that overshoot any room target by orders of magnitude. The cap keeps the math interpretable on the felt — every cap-fire is a visible beat, not a silent ceiling.
Player-facing read
Section titled “Player-facing read”The cap is shown on every relevant arcanum tooltip (“mult cap”, “cap delta”). When it fires:
- Felt darkens 30%.
- Dealer voice fires a
mercyCapline. - The cascade animator pauses 800ms (slow-mode).
- The trace ledger logs
MercyCapFire(preCap, cap).
Where this lives
Section titled “Where this lives”lib/sim/cascade_resolver.dart— the cap gate (step 6).lib/sim/arcana/arcana.dart— the 9 Mercy arcana.lib/sim/night.dart— aggregatesmercy_cap:*flags into the effective cap passed to the resolver.