Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startzone speed limit flexibility #1219

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

Awesomerly
Copy link
Contributor

@Awesomerly Awesomerly commented Oct 14, 2024

This PR changes a few things:

  • The startzone code in shavit-misc duplicates some functionality for certain zone types, and one of those duplicates doesn't call StyleMaxPrestrafe even though the rest of the code is identical.
  • There is now a style configuration flag that overrides fLimit, so modes that use it can enforce a different speedcap than the ~290 that it normally does
  • This style configuration can be overridden by the contents of the data field of the startzone. If the startzone has 400 and the config file has 350, it will use 400.
  • There is now a new prespeed type (6) that behaves like type 5 but also blocks prehopping. One thing I noticed is that the code to block bhops in mode 2, 3, and 6 only triggers on the first tick that the player hit the ground. You can still scroll and get to a higher speed, which is less of an issue on other styles that start the timer when you go above a certain speed.

Being able to change the zone speed limit like this allows for zones to behave more like surf. In bhop the average prestrafe requires you to jump at the exact last moment while still being on the ground. Surf prestrafes involve jumping up into the air and doing a strafe while falling down past the edge of the startzone. People have argued about whether this technique should be encouraged, but this type of zone is what I and many others are used to. ckSurf has a default of 350 xy speed.

Pitfalls:

  • Coding style might not be up to snuff
  • This doesn't do anything for stage zones. One thing that makes me feel better about this is that the way that stages are implemented in bhoptimer are really only meant to record splits. ALSO, I checked vibez and it also doesn't do any speed capping on stages so I'm not the only one who decided to not care.

@Awesomerly
Copy link
Contributor Author

Just added the new prespeed type.

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