From f801fbdf30d112e9ea14a3c7643d242ba02ffe85 Mon Sep 17 00:00:00 2001 From: Yunfan Li Date: Mon, 5 Aug 2024 13:39:44 +0800 Subject: [PATCH] Config for fast react in bg --- conf/playerbots.conf.dist | 3 +++ src/PlayerbotAI.cpp | 4 +++- src/PlayerbotAIConfig.cpp | 2 +- src/PlayerbotAIConfig.h | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/conf/playerbots.conf.dist b/conf/playerbots.conf.dist index 2cf012a7..9be0057e 100644 --- a/conf/playerbots.conf.dist +++ b/conf/playerbots.conf.dist @@ -691,6 +691,9 @@ AiPlayerbot.PvpProhibitedZoneIds = "2255,656,2361,2362,2363,976,35,2268,3425,392 # PvP Restricted Areas (bots don't pvp) AiPlayerbot.PvpProhibitedAreaIds = "976,35,392" +# Improve react speed in battleground and arena (may cause lag) +AiPlayerbot.FastReactInBG = 1 + # # # diff --git a/src/PlayerbotAI.cpp b/src/PlayerbotAI.cpp index 3c610ad0..1b8b7314 100644 --- a/src/PlayerbotAI.cpp +++ b/src/PlayerbotAI.cpp @@ -30,6 +30,7 @@ #include "ObjectGuid.h" #include "PerformanceMonitor.h" #include "Player.h" +#include "PlayerbotAIConfig.h" #include "PlayerbotDbStore.h" #include "PlayerbotMgr.h" #include "Playerbots.h" @@ -334,10 +335,11 @@ void PlayerbotAI::UpdateAI(uint32 elapsed, bool minimal) UpdateAIInternal(elapsed, min); inCombat = bot->IsInCombat(); // test fix lags because of BG + bool inBG = bot->InBattleground() || bot->InArena(); if (bot && !inCombat) min = true; - if (HasRealPlayerMaster()) + if (HasRealPlayerMaster() || (sPlayerbotAIConfig->fastReactInBG && inBG)) min = false; YieldThread(min); diff --git a/src/PlayerbotAIConfig.cpp b/src/PlayerbotAIConfig.cpp index d567e058..2ec92965 100644 --- a/src/PlayerbotAIConfig.cpp +++ b/src/PlayerbotAIConfig.cpp @@ -125,7 +125,7 @@ bool PlayerbotAIConfig::Initialize() pvpProhibitedZoneIds); LoadList>(sConfigMgr->GetOption("AiPlayerbot.PvpProhibitedAreaIds", "976,35"), pvpProhibitedAreaIds); - + fastReactInBG = sConfigMgr->GetOption("AiPlayerbot.FastReactInBG", true); LoadList>( sConfigMgr->GetOption("AiPlayerbot.RandomBotQuestIds", "7848,3802,5505,6502,7761"), randomBotQuestIds); diff --git a/src/PlayerbotAIConfig.h b/src/PlayerbotAIConfig.h index c4209bd9..804f273f 100644 --- a/src/PlayerbotAIConfig.h +++ b/src/PlayerbotAIConfig.h @@ -139,6 +139,7 @@ public: std::vector randomBotGuilds; std::vector pvpProhibitedZoneIds; std::vector pvpProhibitedAreaIds; + bool fastReactInBG; bool randombotsWalkingRPG; bool randombotsWalkingRPGInDoors;