Skip to content
Shattered Crowns

v0.5.14-dev · 2026-07-22

Leap of Faith

The dragoon's Jump stops being a fixed 4-tile leap and becomes a rolled one — the same "you're dealt a fresh hand each battle, and JP buys the ODDS, not a guarantee" mechanic the skill and gear rolls already run on.

Added — the Jump range is rolled each battle (jump_roll)

Was: every dragoon's Jump reached a flat 4 tiles, full range unlocked from the start. Now the basic Jump's range is dealt at match start from the tiers the account owns:

Tier Range Native weight
Jump-3 3 tiles 45% — the always-unlocked floor
Jump-4 4 tiles 35%
Jump-5 5 tiles 19%
Jump-6 6 tiles 1%

Buying a tier with JP adds it to the pool at its native weight; every tier you have NOT bought folds its weight down into Jump-3. Own only Jump-5 and your odds are Jump-5 19% / Jump-3 81%. Own everything and you get the full 45/35/19/1. So spending JP shifts you toward a longer leap — a Jump-6 is a 1% gold-card thrill, never a purchase you can count on. It's the exact same pool-widening logic as the equipment roll and the Fist-odds fix.

The tiers are learnable movement-registry abilities (Jump 4 / Jump 5 / Jump 6, 200 / 400 / 800 JP), so they're permanent account unlocks like any other JP purchase and never clutter the action menu or the ability roll. The rolled result rides on each unit and shows on the pre-battle reveal card, rarity- tinted — a Jump-6 reads gold, like an ultimate skill or weapon.

Only the basic Jump rolls. Sky Render (Rare, AoE) keeps its 4-tile range and Dragon Dive (Ultimate) its 5 — they're distinct abilities, not range variants.

This replaces the linear "+1/+2/+3 permanent upgrade" version that was in progress; the rolled model is more on-brand and keeps Jump one ability.

Fixed — a brittle two-client turn-order test (pre-existing, v0.5.13)

two_clients_auth_and_receive_turn_start asserted that after a unit Waits, the next turn belongs to a different unit. Since v0.5.13's dt-jump scheduler a faster unit legitimately re-crosses the CT threshold and takes another turn — in the knight (sp 7) vs mage (sp 6) demo the knight often acts twice — so the test would stall waiting for a turn it wrongly assumed. It now proves the Wait advanced the match by watching for the unit's TurnEnd event (the direct signal), not by assuming who acts next. The engine was always correct; the test's assumption wasn't.