Skip to content

feat(Core): make BGs and Arena prep time configurable #22136

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

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

NoxMax
Copy link
Contributor

@NoxMax NoxMax commented May 17, 2025

Apologies for reposting the PR. I accidentally closed the original -_-

Changes Proposed:

PR makes BGs and Arena prep time configurable in worldserver.conf. Keeping the default values of 120s/60s for BGs and Arena respectively. Now you don't have to wait if the default times are too long for you.
Making the timing configurable was simple, but making the timing announcements accurate is what required most of the work. Previous code logic had announcements triggered based on event flags rather than actual time values (full/half/quarter/none) The new code makes _ProcessJoin in Battleground.cpp actually aware how much time is left till match begins.
This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).

Issues Addressed:

None on GH, but requested feature on Discord.

SOURCE:

N/A Default behavior has not been changed.

Tests Performed:

Compiled correctly on Debian.
Changes behaved as expected in-game.
This PR has been:

  • Tested in-game by the author.
  • Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  1. At the default values of 120s/60s for BGs and Arena, there should be no observed change in game.
  2. Change the prep time of BGs and Arena to something other than 120s/60s and restart the server. The prep time should be whatever you changed the value to.
  3. The announcement messages should be accurate. If it says 30 seconds till start, match must start in 30 seconds.
  4. BGs have announcements at 120/60/30/0 seconds. Arena has announcements at 60/30/15/0 seconds. If you set a prep time that is less than one of the announcement times, you should not see an announcement for a time that is greater than the configured perp time. Example: If you set the prep time to 45 seconds for BGs, you should only get the 30/0 second announcements, and at their correct time.

Please advise after testing if anything has been missed.

Known Issues and TODO List:

None for now.

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

NoxMax added 12 commits May 11, 2025 04:40
@github-actions github-actions bot added CORE Related to the core file-cpp Used to trigger the matrix build labels May 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CORE Related to the core file-cpp Used to trigger the matrix build Ready to be Reviewed Waiting to be Tested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants