From 7d16417d169216f78c91d38b36f9fddcd82f9b59 Mon Sep 17 00:00:00 2001 From: aradep <61268368+aradep@users.noreply.github.com> Date: Sat, 12 Dec 2020 02:36:00 -0400 Subject: [PATCH] feat(Core/Config): Arena points - Games required (#3811) --- src/server/game/Battlegrounds/ArenaTeam.cpp | 2 +- src/server/game/World/World.cpp | 1 + src/server/game/World/World.h | 1 + src/server/worldserver/worldserver.conf.dist | 7 +++++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index b3195ce21..027a19e7b 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -865,7 +865,7 @@ void ArenaTeam::UpdateArenaPointsHelper(std::map& playerPoints) // Called after a match has ended and the stats are already modified // Helper function for arena point distribution (this way, when distributing, no actual calculation is required, just a few comparisons) // 10 played games per week is a minimum - if (Stats.WeekGames < 10) + if (Stats.WeekGames < sWorld->getIntConfig(CONFIG_ARENA_GAMES_REQUIRED)) return; // To get points, a player has to participate in at least 30% of the matches diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index bfbe4f08f..de911d4e1 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1145,6 +1145,7 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_ARENA_RATING_DISCARD_TIMER] = sConfigMgr->GetIntDefault ("Arena.RatingDiscardTimer", 10 * MINUTE * IN_MILLISECONDS); m_bool_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS] = sConfigMgr->GetBoolDefault("Arena.AutoDistributePoints", false); m_int_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS] = sConfigMgr->GetIntDefault ("Arena.AutoDistributeInterval", 7); // pussywizard: spoiled by implementing constant day and hour, always 7 now + m_int_configs[CONFIG_ARENA_GAMES_REQUIRED] = sConfigMgr->GetIntDefault ("Arena.GamesRequired", 10); m_int_configs[CONFIG_ARENA_SEASON_ID] = sConfigMgr->GetIntDefault ("Arena.ArenaSeason.ID", 1); m_int_configs[CONFIG_ARENA_START_RATING] = sConfigMgr->GetIntDefault ("Arena.ArenaStartRating", 0); m_int_configs[CONFIG_ARENA_START_PERSONAL_RATING] = sConfigMgr->GetIntDefault ("Arena.ArenaStartPersonalRating", 1000); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 582ccca86..1b89efe8f 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -303,6 +303,7 @@ enum WorldIntConfigs CONFIG_ARENA_MAX_RATING_DIFFERENCE, CONFIG_ARENA_RATING_DISCARD_TIMER, CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS, + CONFIG_ARENA_GAMES_REQUIRED, CONFIG_ARENA_SEASON_ID, CONFIG_ARENA_START_RATING, CONFIG_ARENA_START_PERSONAL_RATING, diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index bad2aa941..a9913548f 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -2936,6 +2936,13 @@ Arena.AutoDistributePoints = 0 Arena.AutoDistributeInterval = 7 +# +# Arena.GamesRequired +# Description: Number of arena matches teams must participate in to be eligible for arena point distribution. +# Default: 10 + +Arena.GamesRequired = 10 + # # Arena.QueueAnnouncer.Enable # Description: Announce arena queue status to chat.