fix(multiball): clear record 148 contact on respawn
The required-effect word at 1028:399a is record 148's +0x43 contact field. The original special respawn clears that exact word before suppressing the capture gate. Rust reset only its derived multiball state and left contact 2 behind, allowing a synthetic type-three rim candidate after respawn. Clear record_contacts[148] with the derived state. Extend both armed and active multiball respawn regressions to begin with the binary's contact sentinel and prove that the transition removes it. Test Plan: - `cargo test --workspace --all-targets --all-features` -- 118 passed - `cargo clippy --workspace --all-targets --all-features -- -D warnings` -- passed - `rumdl check --flavor commonmark CHANGELOG.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -19,8 +19,9 @@ and this project adheres to
|
||||
full normal velocity instead of always subtracting 1,000.
|
||||
- Restore `1000:ae6e`'s required-ball special respawn: armed or completed
|
||||
effect-seven play grants one final `(17,23)/(0,3040)` ball without consuming
|
||||
a marker, clears required state, and suppresses record 148 until the next
|
||||
broadphase-active type-4 record reenables it.
|
||||
a marker, clears required state including record 148's contact word, and
|
||||
suppresses record 148 until the next broadphase-active type-4 record
|
||||
reenables it.
|
||||
- Replace the invented post-move `y>470` fallback with the original pre-scan
|
||||
prediction bounds `x<=0 || x>340000 || y<=0 || y>460000`, including
|
||||
one-slot removal during multiball and next-substep handling after a response.
|
||||
|
||||
Reference in New Issue
Block a user