Compare commits

..

3 Commits

Author SHA1 Message Date
kadeshar
0eb7cdba64
- Fixed not applying xprate when bot is in group with real player (#1629) 2025-09-14 10:52:15 +02:00
kadeshar
21de08baab
Fixed cross faction guilds not allowed by config (#1631)
* - Fixed cross faction guilds not allowed by config

* - Fixed doubled method bug

* - Restored deleted method
2025-09-14 10:51:18 +02:00
kadeshar
20025b7dfa
- Added quests ending death knight questline to by default enable LFG for them (#1633) 2025-09-14 10:48:47 +02:00
4 changed files with 17 additions and 9 deletions

View File

@ -760,7 +760,7 @@ AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
#
# Quest that will be completed and rewarded for all randombots
AiPlayerbot.RandomBotQuestIds = "7848,3802,5505,6502,7761,10277,10285,11492,24499,24511,24710,24712"
AiPlayerbot.RandomBotQuestIds = "7848,3802,5505,6502,7761,10277,10285,11492,13188,13189,24499,24511,24710,24712"
# Randombots will group with nearby randombots to do shared quests
AiPlayerbot.RandomBotGroupNearby = 0

View File

@ -167,7 +167,7 @@ bool PlayerbotAIConfig::Initialize()
pvpProhibitedAreaIds);
fastReactInBG = sConfigMgr->GetOption<bool>("AiPlayerbot.FastReactInBG", true);
LoadList<std::vector<uint32>>(
sConfigMgr->GetOption<std::string>("AiPlayerbot.RandomBotQuestIds", "7848,3802,5505,6502,7761"),
sConfigMgr->GetOption<std::string>("AiPlayerbot.RandomBotQuestIds", "7848,3802,5505,6502,7761,10277,10285,11492,13188,13189,24499,24511,24710,24712"),
randomBotQuestIds);
LoadSet<std::set<uint32>>(

View File

@ -217,16 +217,20 @@ public:
if (!player->GetSession()->IsBot() || !sRandomPlayerbotMgr->IsRandomBot(player))
return;
// no XP multiplier, when bot has group where leader is a real player.
// no XP multiplier, when bot is in a group with a real player.
if (Group* group = player->GetGroup())
{
Player* leader = group->GetLeader();
if (leader && leader != player)
for (GroupReference* gref = group->GetFirstMember(); gref; gref = gref->next())
{
if (PlayerbotAI* leaderBotAI = GET_PLAYERBOT_AI(leader))
Player* member = gref->GetSource();
if (!member)
{
if (leaderBotAI->HasRealPlayerMaster())
return;
continue;
}
if (!member->GetSession()->IsBot())
{
return;
}
}
}

View File

@ -90,7 +90,11 @@ void GuildInviteAction::SendPacket(WorldPacket packet)
bot->GetSession()->HandleGuildInviteOpcode(data);
}
bool GuildInviteAction::PlayerIsValid(Player* member) { return !member->GetGuildId(); }
bool GuildInviteAction::PlayerIsValid(Player* member)
{
return !member->GetGuildId() && (sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) ||
(bot->GetTeamId() == member->GetTeamId()));
}
bool GuildPromoteAction::isUseful()
{