fix(game): preserve rule state across player turns
The rewrite reset wheel holes, top targets, collision latches, active records, selected effects, and multiball readiness on every drain. The reconstructed turn-state code instead saves all 175 live record states for the outgoing player and restores the incoming player's mirror. Add a per-player rule snapshot and save/load it at normal turn transitions. Keep transient ball, claw, tilt, and presentation state global while retaining each player's mechanism progress and contact/activation state across later turns and extra balls. Test Plan: - `cargo test --all-targets` -- passed, 58 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `rumdl check tdkpin-rs/CHANGELOG.md tdkpin-rs/RECONSTRUCTION.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -10,6 +10,9 @@ and this project adheres to
|
||||
|
||||
### Fixed
|
||||
|
||||
- Preserve each player's complete rule-record state across turn changes instead
|
||||
of globally clearing wheel holes, top targets, 176 active/contact slots,
|
||||
selected effect, and multiball readiness on every drain.
|
||||
- Store lock-hole and effect awards in the original per-player secondary score
|
||||
instead of a global bonus. The fifth hole now transfers
|
||||
`310000 * score_multiplier`, clears it, increments the multiplier and ball
|
||||
|
||||
Reference in New Issue
Block a user