fix(divergence): reject occupied multiball wheel slots
The original leaves contact owner 2 after either ball fills a wheel hole during multiball. Once play collapses to one ball, that sentinel permits one more capture and award in the visibly occupied hole before becoming permanent. Deliberately replace the completed wheel contact with the permanent 99 sentinel for both ball slots. This keeps visual occupancy, collision admission, and scoring consistent: a filled hole cannot consume or reward another ball. The special reserve hole and claw retain their original contact behavior. Document `divergence` as the required Conventional Commit scope for future fixes that intentionally differ from original-game behavior. Test Plan: - `just test` -- passed (142 game tests and 8 service tests) - `just clippy` -- passed - `just build-production` -- passed - `cargo +nightly fmt --all -- --check` -- passed - `rumdl check --flavor commonmark CHANGELOG.md AGENTS.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -10,6 +10,9 @@ and this project adheres to
|
||||
|
||||
### Fixed
|
||||
|
||||
- Deliberately diverge from the original game's multiball contact sentinel so a
|
||||
reserve ball that fills a wheel hole leaves it permanently occupied; the
|
||||
surviving ball can no longer enter and score that visibly filled slot again.
|
||||
- Match capture-driven multiball collapse timing so the surviving slot keeps
|
||||
double scoring through the current callback, then returns to normal scoring
|
||||
on the next callback and the returning claw remains paused until that
|
||||
|
||||
Reference in New Issue
Block a user