feat(Core/Conf): add CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL (#16850)

* feat(Core/Conf): add CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL

* fix: bad copy paste

* add sql

* fix bad copy paste above again

* fix: move lang values

* Update rev_1690640715748711400.sql

* Update rev_1690640715748711400.sql

* Rename rev_1690640715748711400.sql to fix.sql

* reaching, maybe fix (?) c:

* love me god damn it

* update sql file

---------

Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
This commit is contained in:
Axel Cocat
2023-08-09 10:42:50 +02:00
committed by GitHub
parent 1cd181f923
commit 5ba2c18ce6
6 changed files with 69 additions and 7 deletions

View File

@@ -3059,14 +3059,25 @@ Arena.GamesRequired = 10
Arena.QueueAnnouncer.Enable = 0
#
# Battleground.QueueAnnouncer.PlayerOnly
# Description: Battleground queue announcement type.
# Arena.QueueAnnouncer.PlayerOnly
# Description: Arena queue announcement type.
# Default: 0 - (System message, Anyone can see it)
# 1 - (Private, Only queued players can see it)
#
Arena.QueueAnnouncer.PlayerOnly = 0
#
# Arena.QueueAnnouncer.Detail
# Description: The amount of detail to announce on teams queued for arenas.
# Default: 3 - (Announce the team's name and rating)
# 2 - (Announce only the team's name)
# 1 - (Announce only the team's rating)
# 0 - (Do not announce any information about the teams)
#
Arena.QueueAnnouncer.Detail = 3
#
# Arena.ArenaSeason.ID
# Description: Current arena season id shown in clients.

View File

@@ -1143,7 +1143,22 @@ void BattlegroundQueue::SendJoinMessageArenaQueue(Player* leader, GroupQueueInfo
uint32 ArenaTeamRating = ginfo->ArenaTeamRating;
std::string TeamName = team->GetName();
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType, ArenaTeamRating);
uint32 announcementDetail = sWorld->getIntConfig(CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL);
switch (announcementDetail)
{
case 3:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_NAME_RATING, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType, ArenaTeamRating);
break;
case 2:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_NAME, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType);
break;
case 1:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_RATING, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, ArenaType, ArenaType, ArenaTeamRating);
break;
default:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, ArenaType, ArenaType);
break;
}
}
}
@@ -1168,7 +1183,22 @@ void BattlegroundQueue::SendExitMessageArenaQueue(GroupQueueInfo* ginfo)
if (ArenaType && ginfo->Players.empty())
{
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType, ArenaTeamRating);
uint32 announcementDetail = sWorld->getIntConfig(CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL);
switch (announcementDetail)
{
case 3:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_NAME_RATING, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType, ArenaTeamRating);
break;
case 2:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_NAME, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, TeamName.c_str(), ArenaType, ArenaType);
break;
case 1:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_RATING, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, ArenaType, ArenaType, ArenaTeamRating);
break;
default:
sWorld->SendWorldTextOptional(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT, ANNOUNCER_FLAG_DISABLE_ARENA_QUEUE, ArenaType, ArenaType);
break;
}
}
}

View File

@@ -666,8 +666,8 @@ enum AcoreStrings
LANG_YOUR_BG_LEVEL_REQ_ERROR = 715,
// = 716, see LANG_PINFO_MAP_OFFLINE
LANG_BG_STARTED_ANNOUNCE_WORLD = 717,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN = 718,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT = 719,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_NAME_RATING = 718,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_NAME_RATING = 719,
LANG_BG_GROUP_TOO_LARGE = 720, // "Your group is too large for this battleground. Please regroup to join."
LANG_ARENA_GROUP_TOO_LARGE = 721, // "Your group is too large for this arena. Please regroup to join."
@@ -702,7 +702,13 @@ enum AcoreStrings
LANG_BATTLEGROUND_PREMATURE_FINISH_WARNING_SECS = 751, // "Not enough players. This game will close in %u seconds."
// = 752, see LANG_PINFO_ACC_IP
// Room for BG/ARENA = 773-784, 788-799 not used
// Room for BG/ARENA = 779-784, 788-799 not used
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_NAME = 773,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_NAME = 774,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN_RATING = 775,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT_RATING = 776,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_JOIN = 777,
LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT = 778,
LANG_ARENA_TESTING = 785,
LANG_AUTO_ANN = 786,
LANG_ANNOUNCE_COLOR = 787,

View File

@@ -329,6 +329,7 @@ enum WorldIntConfigs
CONFIG_LEGACY_ARENA_POINTS_CALC,
CONFIG_ARENA_START_PERSONAL_RATING,
CONFIG_ARENA_START_MATCHMAKER_RATING,
CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL,
CONFIG_HONOR_AFTER_DUEL,
CONFIG_PVP_TOKEN_MAP_TYPE,
CONFIG_PVP_TOKEN_ID,

View File

@@ -1189,6 +1189,7 @@ void World::LoadConfigSettings(bool reload)
_float_configs[CONFIG_ARENA_MATCHMAKER_RATING_MODIFIER] = sConfigMgr->GetOption<float>("Arena.ArenaMatchmakerRatingModifier", 24.0f);
_bool_configs[CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE] = sConfigMgr->GetOption<bool>("Arena.QueueAnnouncer.Enable", false);
_bool_configs[CONFIG_ARENA_QUEUE_ANNOUNCER_PLAYERONLY] = sConfigMgr->GetOption<bool>("Arena.QueueAnnouncer.PlayerOnly", false);
_int_configs[CONFIG_ARENA_QUEUE_ANNOUNCER_DETAIL] = sConfigMgr->GetOption<uint32>("Arena.QueueAnnouncer.Detail", 3);
_bool_configs[CONFIG_OFFHAND_CHECK_AT_SPELL_UNLEARN] = sConfigMgr->GetOption<bool>("OffhandCheckAtSpellUnlearn", true);
_int_configs[CONFIG_CREATURE_STOP_FOR_PLAYER] = sConfigMgr->GetOption<uint32>("Creature.MovingStopTimeForPlayer", 3 * MINUTE * IN_MILLISECONDS);