fix(divergence): preserve multiball Greifarm captures
The original port consumed a ball as soon as record 89 completed during multiball, which skipped the Greifarm animation and lost the ball permanently. Keep the captured slot through the full animation instead, latch whether the capture began with two live balls, and exclude the launcher release (frame 18) for that capture. The surviving slot continues physics, scoring, nudging, and flipper responses while the held slot is suspended; drain and promotion paths also preserve the held ball. A later Greifarm entry makes a fresh ball-count decision. Update slot-aware rendering and refresh the browser WASM artifact. Test Plan: - `just --justfile tdkpin-rs/justfile test` -- passed (149 game/service tests) - `just --justfile tdkpin-rs/justfile clippy` -- passed - `just --justfile tdkpin-rs/justfile build-production` -- passed - `just --justfile tdkpin-rs/justfile web-build` -- passed - `cargo +nightly fmt --manifest-path tdkpin-rs/Cargo.toml --all -- --check` -- passed - `rumdl check --flavor commonmark tdkpin-rs/CHANGELOG.md tdkpin-rs/AGENTS.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -8,6 +8,13 @@ and this project adheres to
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Keep a ball captured by the Greifarm during multiball instead of consuming it;
|
||||
latch the two-ball capture rule at each entry, exclude the launcher release
|
||||
while that capture is active, and let later single-ball re-entries use all
|
||||
four original release choices.
|
||||
|
||||
## [1.2.0] - 2026-08-31
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user