Skip to content

Death's Hesitation

Death’s Hesitation is the second of the two baseline cascade rules shipped in Phase 1. It softens the cost of bust along a single specific axis — face-card busts (Jack, Queen, King) halve the would-be cascade instead of zeroing it.

“You broke on a king. He halves the take. He does not say why.”

When a hand busts (cleared = false) AND the busting card is J, Q, or K AND HandSpec.deathsHesitation = true:

  1. Run the full cascade as if the hand had cleared.
  2. Halve the resulting FinalScore.
  3. Emit a DeathsHesitationFire trace event before the FinalScore.

10-card busts (so a hard 20 + 5 = 25) do not trigger the softener — only J, Q, K count, per the design. Aces are weighted toward the soft-21 escape and never contribute to the bust path here.

Player hand: 5♥ 6♠ K♣ (busted at 21? No — 5+6+10 = 21; suppose 5+7+K = 22).

StepWithout DHWith DH
FinalScore0 (bust)run cascade → 228 → halve → 114

The bust card was a King → face → softener fires. Pre-halve chips and mult are preserved on the FinalScore event for transparency; score reflects the halved value.

Heavy Mark Charms reward you for deliberately deviating from basic strategy (hitting hard 15 chasing a pair, doubling on hard 17, etc.). Deviation is sometimes correct cascade-wise, but the cost of busting is steep. Death’s Hesitation lowers that cost on about 30% of busts (face-card density × bust-likelihood-on-deviation), making the conditional Heavy Marks survivable to play without inverting the game into “always deviate.”

The math: ~31% of cards in a fresh shoe are 10/J/Q/K. Of those, 10s don’t trigger the softener — only J/Q/K do. So roughly 23% of any next-card outcome is a face-bust candidate.

  • lib/sim/cascade_resolver.dart:_bustOnFaceCard() — the gate.
  • lib/sim/scoring_event.dart:DeathsHesitationFire — the trace event.
  • test/sim/deaths_hesitation_test.dart — 8 unit tests covering J/Q/K triggers, 10-bust gating, soft-21 path, and Long-Game composition.

Long-Game scales archetype mult before bust math. So:

Player hand: 5+6+K = 21 (no, that’s a hit-and-hold). Try 5+7+K = 22: hits taken = 1, archetype mult 2.0 × 1.3 = 2.6. chips = 5+7+10 = 22. Pre-halve score = 22 × 2.6 = 57 → rounds to 55? Actually (22 × 2.6).round() = 57. Halved: 57/2 → 28 (round half-up).

Both rules are baseline-on; Heavy Marks ride on top.