Allow addclass bots that are not in a real guild (#970)

This commit is contained in:
Yunfan Li
2025-02-15 01:45:17 +08:00
committed by GitHub
parent 4793644a15
commit 49b046f36c
3 changed files with 13 additions and 6 deletions

View File

@@ -5346,12 +5346,9 @@ bool PlayerbotAI::CanMove()
return bot->GetMotionMaster()->GetCurrentMovementGeneratorType() != FLIGHT_MOTION_TYPE;
}
bool PlayerbotAI::IsInRealGuild()
bool PlayerbotAI::IsRealGuild(uint32 guildId)
{
if (!bot->GetGuildId())
return false;
Guild* guild = sGuildMgr->GetGuildById(bot->GetGuildId());
Guild* guild = sGuildMgr->GetGuildById(guildId);
if (!guild)
{
return false;
@@ -5363,6 +5360,14 @@ bool PlayerbotAI::IsInRealGuild()
return !(sPlayerbotAIConfig->IsInRandomAccountList(leaderAccount));
}
bool PlayerbotAI::IsInRealGuild()
{
if (!bot->GetGuildId())
return false;
return IsRealGuild(bot->GetGuildId());
}
void PlayerbotAI::QueueChatResponse(const ChatQueuedReply chatReply) { chatReplies.push_back(std::move(chatReply)); }
bool PlayerbotAI::EqualLowercaseName(std::string s1, std::string s2)

View File

@@ -556,6 +556,7 @@ public:
void ResetJumpDestination() { jumpDestination = Position(); }
bool CanMove();
static bool IsRealGuild(uint32 guildId);
bool IsInRealGuild();
static std::vector<std::string> dispel_whitelist;
bool EqualLowercaseName(std::string s1, std::string s2);

View File

@@ -1055,7 +1055,8 @@ std::vector<std::string> PlayerbotHolder::HandlePlayerbotCommand(char const* arg
continue;
if (ObjectAccessor::FindConnectedPlayer(guid))
continue;
if (sCharacterCache->GetCharacterGuildIdByGuid(guid))
uint32 guildId = sCharacterCache->GetCharacterGuildIdByGuid(guid);
if (guildId && PlayerbotAI::IsRealGuild(guildId))
continue;
AddPlayerBot(guid, master->GetSession()->GetAccountId());
messages.push_back("Add class " + std::string(charname));