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 # 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 # Randombots will group with nearby randombots to do shared quests
AiPlayerbot.RandomBotGroupNearby = 0 AiPlayerbot.RandomBotGroupNearby = 0

View File

@ -167,7 +167,7 @@ bool PlayerbotAIConfig::Initialize()
pvpProhibitedAreaIds); pvpProhibitedAreaIds);
fastReactInBG = sConfigMgr->GetOption<bool>("AiPlayerbot.FastReactInBG", true); fastReactInBG = sConfigMgr->GetOption<bool>("AiPlayerbot.FastReactInBG", true);
LoadList<std::vector<uint32>>( 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); randomBotQuestIds);
LoadSet<std::set<uint32>>( LoadSet<std::set<uint32>>(

View File

@ -217,15 +217,19 @@ public:
if (!player->GetSession()->IsBot() || !sRandomPlayerbotMgr->IsRandomBot(player)) if (!player->GetSession()->IsBot() || !sRandomPlayerbotMgr->IsRandomBot(player))
return; 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()) if (Group* group = player->GetGroup())
{ {
Player* leader = group->GetLeader(); for (GroupReference* gref = group->GetFirstMember(); gref; gref = gref->next())
if (leader && leader != player)
{ {
if (PlayerbotAI* leaderBotAI = GET_PLAYERBOT_AI(leader)) Player* member = gref->GetSource();
if (!member)
{
continue;
}
if (!member->GetSession()->IsBot())
{ {
if (leaderBotAI->HasRealPlayerMaster())
return; return;
} }
} }

View File

@ -90,7 +90,11 @@ void GuildInviteAction::SendPacket(WorldPacket packet)
bot->GetSession()->HandleGuildInviteOpcode(data); 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() bool GuildPromoteAction::isUseful()
{ {