mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-07-11 03:13:10 +00:00
feat(Core/Wintergrasp): toggle for VoA pre-battle kick (#25942)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3675,6 +3675,19 @@ Wintergrasp.CrashRestartTimer = 10
|
||||
|
||||
Wintergrasp.SkipBattleSessionCount = 3500
|
||||
|
||||
#
|
||||
# Wintergrasp.KickVoAPlayers
|
||||
# Description: Kick players from Vault of Archavon and freeze its bosses
|
||||
# in the minutes leading up to a Wintergrasp battle, and
|
||||
# block new entries during wartime / the 10-minute warmup.
|
||||
# Requires a server restart to take effect (not reloadable).
|
||||
# Default: 1 - (Enabled, players are warned then teleported to their
|
||||
# homebind before the battle starts)
|
||||
# 0 - (Disabled, players stay inside and bosses behave
|
||||
# normally during Wintergrasp)
|
||||
|
||||
Wintergrasp.KickVoAPlayers = 1
|
||||
|
||||
#
|
||||
###################################################################################################
|
||||
|
||||
|
||||
@@ -595,6 +595,7 @@ void WorldConfig::BuildConfigCache()
|
||||
SetConfigValue<uint32>(CONFIG_WINTERGRASP_RESTART_AFTER_CRASH, "Wintergrasp.CrashRestartTimer", 10);
|
||||
|
||||
SetConfigValue<uint32>(CONFIG_WINTERGRASP_SKIP_BATTLE_SESSION_COUNT, "Wintergrasp.SkipBattleSessionCount", 3500);
|
||||
SetConfigValue<bool>(CONFIG_WINTERGRASP_KICK_VOA_PLAYERS, "Wintergrasp.KickVoAPlayers", true, ConfigValueCache::Reloadable::No);
|
||||
|
||||
SetConfigValue<uint32>(CONFIG_BIRTHDAY_TIME, "BirthdayTime", 1222964635);
|
||||
SetConfigValue<bool>(CONFIG_MINIGOB_MANABONK, "Minigob.Manabonk.Enable", true);
|
||||
|
||||
@@ -326,6 +326,7 @@ enum ServerConfigs
|
||||
CONFIG_WINTERGRASP_NOBATTLETIME,
|
||||
CONFIG_WINTERGRASP_RESTART_AFTER_CRASH,
|
||||
CONFIG_WINTERGRASP_SKIP_BATTLE_SESSION_COUNT,
|
||||
CONFIG_WINTERGRASP_KICK_VOA_PLAYERS,
|
||||
CONFIG_PACKET_SPOOF_BANMODE,
|
||||
CONFIG_PACKET_SPOOF_BANDURATION,
|
||||
CONFIG_WARDEN_CLIENT_RESPONSE_DELAY,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "World.h"
|
||||
#include "vault_of_archavon.h"
|
||||
|
||||
/* Vault of Archavon encounters:
|
||||
@@ -73,6 +74,8 @@ public:
|
||||
if (checkTimer >= 60000)
|
||||
{
|
||||
checkTimer -= 60000; // one minute
|
||||
if (!sWorld->getBoolConfig(CONFIG_WINTERGRASP_KICK_VOA_PLAYERS))
|
||||
return;
|
||||
if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG))
|
||||
{
|
||||
if (!bf->IsWarTime())
|
||||
@@ -133,6 +136,9 @@ public:
|
||||
if (m_auiEncounter[i] == IN_PROGRESS)
|
||||
return true;
|
||||
|
||||
if (!sWorld->getBoolConfig(CONFIG_WINTERGRASP_KICK_VOA_PLAYERS))
|
||||
return false;
|
||||
|
||||
Battlefield* bf = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
|
||||
if (!bf || bf->IsWarTime() || bf->GetTimer() <= 10 * MINUTE * IN_MILLISECONDS)
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user