aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2016-07-31 13:35:08 +0200
committerGitHub <noreply@github.com>2016-07-31 13:35:08 +0200
commit633264f58f55c793a0ea8efbf9abafe3d3e85d33 (patch)
treee56017c5a5282b8b7d959100c2f7f141faeb12dc /src
parent3fc487e532489bbbb196f4c8b03be2e736de02ba (diff)
Core/PVP: Move report AFK requirement to config (#17699)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
-rw-r--r--src/server/game/World/World.cpp11
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist8
4 files changed, 22 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 6e8e33db55d..bc95ea1107e 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -22026,8 +22026,8 @@ void Player::ReportedAfkBy(Player* reporter)
if (m_bgData.bgAfkReporter.find(reporter->GetGUID().GetCounter()) == m_bgData.bgAfkReporter.end() && !HasAura(43680) && !HasAura(43681) && reporter->CanReportAfkDueToLimit())
{
m_bgData.bgAfkReporter.insert(reporter->GetGUID().GetCounter());
- // 3 players have to complain to apply debuff
- if (m_bgData.bgAfkReporter.size() >= 3)
+ // by default 3 players have to complain to apply debuff
+ if (m_bgData.bgAfkReporter.size() >= sWorld->getIntConfig(CONFIG_BATTLEGROUND_REPORT_AFK))
{
// cast 'Idle' spell
CastSpell(this, 43680, true);
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 1334599e9d5..de63aec92b6 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1060,6 +1060,17 @@ void World::LoadConfigSettings(bool reload)
m_bool_configs[CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_PLAYERONLY] = sConfigMgr->GetBoolDefault("Battleground.QueueAnnouncer.PlayerOnly", false);
m_bool_configs[CONFIG_BATTLEGROUND_STORE_STATISTICS_ENABLE] = sConfigMgr->GetBoolDefault("Battleground.StoreStatistics.Enable", false);
m_bool_configs[CONFIG_BATTLEGROUND_TRACK_DESERTERS] = sConfigMgr->GetBoolDefault("Battleground.TrackDeserters.Enable", false);
+ m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK] = sConfigMgr->GetIntDefault("Battleground.ReportAFK", 3);
+ if (m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK] < 1)
+ {
+ TC_LOG_ERROR("server.loading", "Battleground.ReportAFK (%d) must be >0. Using 3 instead.", m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK]);
+ m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK] = 3;
+ }
+ if (m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK] > 9)
+ {
+ TC_LOG_ERROR("server.loading", "Battleground.ReportAFK (%d) must be <10. Using 3 instead.", m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK]);
+ m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK] = 3;
+ }
m_int_configs[CONFIG_BATTLEGROUND_INVITATION_TYPE] = sConfigMgr->GetIntDefault ("Battleground.InvitationType", 0);
m_int_configs[CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER] = sConfigMgr->GetIntDefault ("Battleground.PrematureFinishTimer", 5 * MINUTE * IN_MILLISECONDS);
m_int_configs[CONFIG_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH] = sConfigMgr->GetIntDefault ("Battleground.PremadeGroupWaitForMatch", 30 * MINUTE * IN_MILLISECONDS);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index a1ed807e311..73a4ca68426 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -297,6 +297,7 @@ enum WorldIntConfigs
CONFIG_BATTLEGROUND_INVITATION_TYPE,
CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER,
CONFIG_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH,
+ CONFIG_BATTLEGROUND_REPORT_AFK,
CONFIG_ARENA_MAX_RATING_DIFFERENCE,
CONFIG_ARENA_RATING_DISCARD_TIMER,
CONFIG_ARENA_RATED_UPDATE_TIMER,
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index d3fd744262c..d10a7d4158c 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2451,6 +2451,14 @@ Battleground.RewardLoserHonorFirst = 5
Battleground.RewardLoserHonorLast = 5
#
+# Battleground.ReportAFK
+# Description: Number of reports needed to kick someone AFK from Battleground.
+# Range: 1-9
+# Default: 3
+
+Battleground.ReportAFK = 3
+
+#
###################################################################################################
###################################################################################################