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

Include timeouts for tech pauses. #749

Merged
merged 4 commits into from
Jun 26, 2022

Conversation

PhlexPlexico
Copy link
Collaborator

This PR includes the following two new config options and features:

  • get5_tech_pause_time "0" - If set to a positive non-zero value, this will give a time limit for tech pauses before any team can unpause. Includes a new message when 30 seconds remain on a tech pause, and when the grace period expires.
  • get5_max_tech_pauses "0" - If set to a positive non-zero value, this will also limit the amount of tech pauses a team may have during freeze time.

These features were requested in the Discord as there were some TOs mentioning that users were abusing the tech pauses, and the way ESEA handles it is with using timers for when users can unpause, and limits on how many tech pauses are allowed. One stop-gap to prevent teams abusing the timer is that once the team who has called the tech pause chooses to resume, their respective timers will stop as well. Up until the grace period expires, both teams must agree to resume the match. The max tech pauses do not increase until the grace period for that specific pause has run out.

Debug statements have been added as well to include them in team variables, such as the time remaining in a tech pause, how many tech pauses a team has used, and which team has called a tech pause.

Included with this is three new phrases that should be translated to other languages, but I believe it's not required as there are some translations already missing.

There is also a bug fix included that allowed users to unpause tech calls without the acceptance of the other team, once one tech pause had been called. I'm not sure if this was initially intended as a means of avoiding people abusing tech pause/unpause, but I believe this feature may be the next best thing.

I've tested this to the best of my ability, but I'm certainly not in QA so there may be some extreme edge cases that I have missed.

@PhlexPlexico
Copy link
Collaborator Author

PhlexPlexico commented May 10, 2022

So there was a small change I had to make here. Instead of users getting an absolute amount of time based on pauses and time left, we now just have a countdown for grace period per team, and increase the pauses each time a team calls a technical timeout. I believe this should be more inline with ESEAs tech pause system where users are granted a total of 2 tech pauses (max 5 mins grace period), and the timer does not carry over into other pauses.

I've also included one more message in here whenever a team pauses and pauses get increased.

Also fixed the grammatical issue there, thanks for pointing that out :)

Adjust unpausing based on commands?

Compiles with no errors, time to test.

Include max tech pauses.

Include debug.

Update pausing to set/get props to tell who is pausing.

Keep track of who tech paused.

Limit when tech pauses can be called while in tech pause.

Disable counter if the team calling calls unpause.

Remove pause/unpause util changes.

Update some bad assumptions for pausing.

Bad command syntax.

Keep track of time so we don't spin off two timers for one pause.

Feature should be complete. Minor testing still needs to be done.

Include ready for unpause in tech pauses as we always want both teams to unpause.

Missed call for increasing max pauses.

Include edge case where users have tech pause limits but no timer.

Remove call in unpause.

Missed period.

Remove unnecessary log message.

Add 10 second expiration message.

Add in check to make sure max pauses is above zero as well.

Add in minute warning and then a 30 second warning.

Per conversations with league organizers, tech pauses have been reworked.
Fix dangling timers for when teams unpause before a timer finishes.
@splewis
Copy link
Owner

splewis commented Jun 26, 2022

Looks good to me. The default unlimited tech pauses was always a precarious situation :)

@splewis splewis merged commit d2a707c into splewis:master Jun 26, 2022
@splewis splewis mentioned this pull request Jun 26, 2022
@PhlexPlexico PhlexPlexico deleted the techpause-changes branch September 22, 2022 15:34
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.

3 participants