From 9871cd34c46c661327ae333e5bce0fb67135789d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E4=BD=A9=E8=8C=B9?= Date: Tue, 4 Apr 2023 13:41:01 -0600 Subject: [PATCH] Auto Join BG config --- conf/playerbots.conf.dist | 3 +++ src/PlayerbotAIConfig.cpp | 1 + src/PlayerbotAIConfig.h | 1 + src/strategy/actions/BattleGroundJoinAction.cpp | 3 +++ 4 files changed, 8 insertions(+) diff --git a/conf/playerbots.conf.dist b/conf/playerbots.conf.dist index 1ec5694a..813c89dd 100644 --- a/conf/playerbots.conf.dist +++ b/conf/playerbots.conf.dist @@ -32,6 +32,9 @@ AiPlayerbot.SuggestDungeonsInLowerCaseRandomly = 0 # Enable BG/Arena for random Bots AiPlayerbot.RandomBotJoinBG = 1 +# Enable Auto join BG - bots randomly join WSG and 2v2 Arena if server is not lagging +AiPlayerbot.RandomBotAutoJoinBG = 0 + # Mark many quests <= Bot level as complete (slows down bot creation) AiPlayerbot.PreQuests = 0 diff --git a/src/PlayerbotAIConfig.cpp b/src/PlayerbotAIConfig.cpp index 6fe0d5ac..8efdb364 100644 --- a/src/PlayerbotAIConfig.cpp +++ b/src/PlayerbotAIConfig.cpp @@ -128,6 +128,7 @@ bool PlayerbotAIConfig::Initialize() randomBotSuggestDungeons = sConfigMgr->GetOption("AiPlayerbot.RandomBotSuggestDungeons", true); suggestDungeonsInLowerCaseRandomly = sConfigMgr->GetOption("AiPlayerbot.SuggestDungeonsInLowerCaseRandomly", false); randomBotJoinBG = sConfigMgr->GetOption("AiPlayerbot.RandomBotJoinBG", true); + randomBotAutoJoinBG = sConfigMgr->GetOption("AiPlayerbot.RandomBotAutoJoinBG", false); logInGroupOnly = sConfigMgr->GetOption("AiPlayerbot.LogInGroupOnly", true); logValuesPerTick = sConfigMgr->GetOption("AiPlayerbot.LogValuesPerTick", false); fleeingEnabled = sConfigMgr->GetOption("AiPlayerbot.FleeingEnabled", true); diff --git a/src/PlayerbotAIConfig.h b/src/PlayerbotAIConfig.h index 50774299..ed6016bd 100644 --- a/src/PlayerbotAIConfig.h +++ b/src/PlayerbotAIConfig.h @@ -73,6 +73,7 @@ class PlayerbotAIConfig bool randomBotSuggestDungeons; bool suggestDungeonsInLowerCaseRandomly; bool randomBotJoinBG; + bool randomBotAutoJoinBG; bool randomBotLoginAtStartup; uint32 randomBotTeleLevel; bool logInGroupOnly, logValuesPerTick; diff --git a/src/strategy/actions/BattleGroundJoinAction.cpp b/src/strategy/actions/BattleGroundJoinAction.cpp index a3ccf810..2af1f418 100644 --- a/src/strategy/actions/BattleGroundJoinAction.cpp +++ b/src/strategy/actions/BattleGroundJoinAction.cpp @@ -245,6 +245,9 @@ bool BGJoinAction::shouldJoinBg(BattlegroundQueueTypeId queueTypeId, Battlegroun bool hasPlayers = (sRandomPlayerbotMgr->BgPlayers[queueTypeId][bracketId][TEAM_ALLIANCE] + sRandomPlayerbotMgr->BgPlayers[queueTypeId][bracketId][TEAM_HORDE]) > 0; bool hasBots = (sRandomPlayerbotMgr->BgBots[queueTypeId][bracketId][TEAM_ALLIANCE] + sRandomPlayerbotMgr->BgBots[queueTypeId][bracketId][TEAM_HORDE]) >= bg->GetMinPlayersPerTeam(); + if (!sPlayerbotAIConfig->randomBotAutoJoinBG && !hasPlayers) + return false; + if (!(hasPlayers || hasBots)) return false;