diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp index 55769e9..1c604cc 100644 --- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp +++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp @@ -496,6 +496,16 @@ bool BattlegroundQueue::InviteGroupToBG(GroupQueueInfo* ginfo, Battleground* bg, WorldPackets::Battleground::BattlefieldStatusNeedConfirmation battlefieldStatus; sBattlegroundMgr->BuildBattlegroundStatusNeedConfirmation(&battlefieldStatus, bg, player, queueSlot, player->GetBattlegroundQueueJoinTime(bgQueueTypeId), INVITE_ACCEPT_WAIT_TIME, ginfo->ArenaType); player->SendDirectMessage(battlefieldStatus.Write()); + + // SylvaniaCore (module BG BotFill): un vrai client repond a l invitation par + // CMSG_BATTLEFIELD_PORT ; pour un bot, personne ne poussait le schedule + // d acceptation -> les bots restaient invites jusqu a expiration. + if (PlayerBotSession* botSession = dynamic_cast(player->GetSession())) + { + BotGlobleSchedule enterSchedule(BotGlobleScheduleType::BGSType_EnterBG, player->GetGUID()); + enterSchedule.parameter1 = queueSlot; + botSession->PushScheduleToQueue(enterSchedule); + } } return true; } diff --git a/src/server/game/Server/PlayerBotSession.cpp b/src/server/game/Server/PlayerBotSession.cpp index 14cb633..8156dc3 100644 --- a/src/server/game/Server/PlayerBotSession.cpp +++ b/src/server/game/Server/PlayerBotSession.cpp @@ -509,8 +509,9 @@ bool PlayerBotSession::ProcessEnterBG(BotGlobleSchedule& schedule) WorldPacket cmd(CMSG_BATTLEFIELD_PORT); WorldPackets::Battleground::BattlefieldPort packet(std::move(cmd)); - packet.Ticket.Id = schedule.parameter1; - packet.Ticket.RequesterGuid = schedule.playerGUID; + // SylvaniaCore (module BG BotFill): le handler attend le slot de file + packet.Ticket.Id = i; + packet.Ticket.RequesterGuid = player->GetGUID(); packet.Ticket.Type = WorldPackets::LFG::RideType::Battlegrounds; packet.Ticket.Time = time(0); packet.AcceptedInvite = true;