diff --git a/src/Playerbots.cpp b/src/Playerbots.cpp index ed44a70f..8ecae9e5 100644 --- a/src/Playerbots.cpp +++ b/src/Playerbots.cpp @@ -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; } } }