Skip to content

fix: guard mounted Riptide launches - #12

Merged
HashimTheArab merged 1 commit into
mainfrom
agent/fix-movement-parity
Aug 7, 2026
Merged

fix: guard mounted Riptide launches#12
HashimTheArab merged 1 commit into
mainfrom
agent/fix-movement-parity

Conversation

@HashimTheArab

@HashimTheArab HashimTheArab commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add authoritative mounted-state tracking to MovementState.
  • Reject Riptide launch while the player is riding a vehicle.
  • Add regression coverage for mounted Riptide input.

Context

This is a follow-up to #6. Multi-column bubble processing is already included in the merged result, and the existing inside-block slowdown paths apply after input acceleration so they scale the resulting movement vector. This PR addresses the remaining mounted-player eligibility gap.

Validation

  • go test -count=1 ./...
  • go vet ./...
  • git diff --check

Summary by CodeRabbit

  • Bug Fixes

    • Riptide no longer launches players while they are mounted in a vehicle, including when underwater and otherwise eligible to activate it.
  • Behavior Updates

    • Movement state now accounts for whether a player is in a vehicle, ensuring mounted movement restrictions are applied consistently.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 242fe544-d41b-4770-b353-9993346f221c

📥 Commits

Reviewing files that changed from the base of the PR and between 4dd3ee6 and 78b75b3.

📒 Files selected for processing (3)
  • bubble.go
  • bubble_test.go
  • movement.go

📝 Walkthrough

Walkthrough

The movement state now includes a server-authoritative vehicle flag. Riptide activation returns early when the entity is mounted. A regression test verifies that mounted entities do not start Riptide in water.

Changes

Mounted Riptide prevention

Layer / File(s) Summary
Vehicle state and Riptide guard
movement.go, bubble.go, bubble_test.go
MovementState.InVehicle records mounted status. attemptRiptide blocks activation when the entity is mounted. The regression test confirms that Riptide ticks remain zero.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • oomph-ac/bedsim#2: Adds the MovementState.InVehicle field and uses it to gate Riptide activation.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/fix-movement-parity

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@HashimTheArab
HashimTheArab marked this pull request as ready for review August 7, 2026 00:01
@HashimTheArab
HashimTheArab merged commit 2840315 into main Aug 7, 2026
1 check passed
@HashimTheArab
HashimTheArab deleted the agent/fix-movement-parity branch August 7, 2026 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant