fix(rules): finish tilted type-three captures
The original capture handler does not request a launcher reset when a single ball completes a type-three record during Tilt. It calls the normal ball-end state machine instead. Rust returned Reset for every single-ball capture, granting tilted lock-hole captures a free ball and bypassing record 148's special-respawn decision. Add an explicit Finish action for tilted single-ball type-three completions. Lock holes now consume the ball with the tilted drain cue suppressed; record 148 still publishes its required contact first, so the same finish call can consume it through the special-respawn branch without using a marker. Test Plan: - `cargo test --workspace --all-targets --all-features` -- 125 passed - `cargo clippy --workspace --all-targets --all-features -- -D warnings` -- passed - `rumdl check --flavor commonmark RECONSTRUCTION.md CHANGELOG.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -175,6 +175,9 @@ and this project adheres to
|
||||
and a player's final ball now clear the key latch, release a raised flipper
|
||||
through its normal WAVE 2021 timer edge, and require physical key-up before
|
||||
the same key can raise it again.
|
||||
- Route a single-ball type-3 completion during Tilt through `1000:ae6e` instead
|
||||
of granting a free launcher reset: lock holes consume the ball, while record
|
||||
148 can still take its required-state special-respawn branch.
|
||||
- Replace the Xorshift gameplay RNG with the original Borland linear stream and
|
||||
unbiased `Random(n)` high-word mapping. Launcher variation, effect selection,
|
||||
claw terminals, and magnetic-field impulses now share the recovered sequence.
|
||||
|
||||
Reference in New Issue
Block a user