//Send by client on clicking in accept or refuse of invitation windows for join game void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) { uint8 accepted; ObjectGuid guid; guid[1] = recvData.ReadBit(); guid[3] = recvData.ReadBit(); guid[7] = recvData.ReadBit(); guid[6] = recvData.ReadBit(); guid[4] = recvData.ReadBit(); guid[2] = recvData.ReadBit(); accepted = recvData.ReadBit(); guid[5] = recvData.ReadBit(); guid[0] = recvData.ReadBit(); recvData.FlushBits(); uint8 byteOrder[8] = {3, 2, 4, 0, 5, 7, 6, 1}; recvData.ReadBytesSeq(guid, byteOrder); sLog->outError(LOG_FILTER_GENERAL, "HandleBattlefieldInviteResponse: GUID:" UI64FMTD " Accepted:%u", uint64(guid), accepted); Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid); if (!bf) return; if (accepted) bf->PlayerAcceptInviteToWar(_player); else if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); }
//Send by client on clicking in accept or refuse of invitation windows for join game void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) { uint8 accepted; ObjectGuid guid; guid[0] = recvData.ReadBit(); guid[7] = recvData.ReadBit(); accepted = recvData.ReadBit(); guid[4] = recvData.ReadBit(); guid[3] = recvData.ReadBit(); guid[1] = recvData.ReadBit(); guid[6] = recvData.ReadBit(); guid[2] = recvData.ReadBit(); guid[5] = recvData.ReadBit(); recvData.ReadByteSeq(guid[1]); recvData.ReadByteSeq(guid[6]); recvData.ReadByteSeq(guid[2]); recvData.ReadByteSeq(guid[5]); recvData.ReadByteSeq(guid[3]); recvData.ReadByteSeq(guid[4]); recvData.ReadByteSeq(guid[7]); recvData.ReadByteSeq(guid[0]); TC_LOG_ERROR("misc", "HandleBattlefieldInviteResponse: GUID:"UI64FMTD" Accepted:%u", (uint64)guid, accepted); Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid); if (!bf) return; if (accepted) bf->PlayerAcceptInviteToWar(_player); else if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); }
/** * @fn void WorldSession::HandleBfEntryInviteResponse(WorldPackets::Battlefield::BFMgrEntryInviteResponse& bfMgrEntryInviteResponse) * * @brief Send by client on clicking in accept or refuse of invitation windows for join game. */ void WorldSession::HandleBfEntryInviteResponse(WorldPackets::Battlefield::BFMgrEntryInviteResponse& bfMgrEntryInviteResponse) { Battlefield* bf = sBattlefieldMgr->GetBattlefieldByQueueId(bfMgrEntryInviteResponse.QueueID); if (!bf) return; // If player accept invitation if (bfMgrEntryInviteResponse.AcceptedInvite) { bf->PlayerAcceptInviteToWar(_player); } else { if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); } }
/** * @fn void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) * * @brief Send by client on clicking in accept or refuse of invitation windows for join game. */ void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) { uint8 accepted; ObjectGuid guid; guid[6] = recvData.ReadBit(); guid[1] = recvData.ReadBit(); accepted = recvData.ReadBit(); guid[5] = recvData.ReadBit(); guid[3] = recvData.ReadBit(); guid[2] = recvData.ReadBit(); guid[0] = recvData.ReadBit(); guid[7] = recvData.ReadBit(); guid[4] = recvData.ReadBit(); recvData.ReadByteSeq(guid[0]); recvData.ReadByteSeq(guid[3]); recvData.ReadByteSeq(guid[4]); recvData.ReadByteSeq(guid[2]); recvData.ReadByteSeq(guid[1]); recvData.ReadByteSeq(guid[6]); recvData.ReadByteSeq(guid[7]); recvData.ReadByteSeq(guid[5]); TC_LOG_ERROR("misc", "HandleBattlefieldInviteResponse: GUID: %s, accepted: %u", guid.ToString().c_str(), accepted); Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid); if (!bf) return; // If player accept invitation if (accepted) { bf->PlayerAcceptInviteToWar(_player); } else { if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); } }
//Send by client on clicking in accept or refuse of invitation windows for join game void WorldSession::HandleBfEntryInviteResponse(WorldPacket & recvData) { uint32 BattleId; uint8 Accepted; recvData >> BattleId >> Accepted; //sLog->outError("HandleBattlefieldInviteResponse: BattleID:%u Accepted:%u", BattleId, Accepted); Battlefield* Bf = sBattlefieldMgr->GetBattlefieldByBattleId(BattleId); if (!Bf) return; //If player accept invitation if (Accepted) { Bf->PlayerAcceptInviteToWar(_player); } else { if (_player->GetZoneId() == Bf->GetZoneId()) Bf->KickPlayerFromBattlefield(_player->GetGUID()); } }
/** * @fn void WorldSession::HandleBfQueueRequest(WorldPacket & recvData) * * @brief Send by client when queued battlefield */ void WorldSession::HandleBfQueueRequest(WorldPacket & recvData) { ObjectGuid guid; guid[0] = recvData.ReadBit(); guid[3] = recvData.ReadBit(); guid[7] = recvData.ReadBit(); guid[4] = recvData.ReadBit(); guid[6] = recvData.ReadBit(); guid[2] = recvData.ReadBit(); guid[1] = recvData.ReadBit(); guid[5] = recvData.ReadBit(); recvData.ReadByteSeq(guid[6]); recvData.ReadByteSeq(guid[3]); recvData.ReadByteSeq(guid[2]); recvData.ReadByteSeq(guid[4]); recvData.ReadByteSeq(guid[7]); recvData.ReadByteSeq(guid[1]); recvData.ReadByteSeq(guid[5]); recvData.ReadByteSeq(guid[0]); Battlefield *pBf = sBattlefieldMgr->GetBattlefieldByGUID(guid); if(pBf) { BattlefieldQueue *pQueue = sBattlefieldMgr->GetQueueForBattlefield(guid); if(pQueue) { bool canJoin = true; //check if player is queued in BG/LFG, if so - set canJoin to false if(pQueue->HasEnoughSpace(GetPlayer()) && canJoin) pQueue->AddPlayerToQueue(GetPlayer()); SendBfQueueInviteResponse(guid,pQueue->GetId(),pBf->GetZoneId(),canJoin,!pQueue->HasEnoughSpace(GetPlayer()),pBf->IsWarTime()); } } }
//Send by client on clicking in accept or refuse of invitation windows for join game void WorldSession::HandleBfEntryInviteResponse(WorldPacket & recvData) { uint8 accepted; ObjectGuid guid; recvData.ReadBitSeq<1, 3, 7, 6, 4, 2>(guid); accepted = recvData.ReadBit(); recvData.ReadBitSeq<5, 0>(guid); recvData.ReadByteSeq<3, 2, 4, 0, 5, 7, 6, 1>(guid); TC_LOG_ERROR("misc", "HandleBattlefieldInviteResponse: GUID:" UI64FMTD " Accepted:%u", uint64(guid), accepted); Battlefield* bf = sBattlefieldMgr->GetBattlefieldByGUID(guid); if (!bf) return; if (accepted) bf->PlayerAcceptInviteToWar(_player); else if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); }
/** * @fn void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) * * @brief Send by client on clicking in accept or refuse of invitation windows for join game. */ void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) { uint32 battleId; uint8 accepted; recvData >> battleId >> accepted; TC_LOG_DEBUG("misc", "HandleBfEntryInviteResponse: battleId: %u, accepted: %u", battleId, accepted); Battlefield* bf = sBattlefieldMgr->GetBattlefieldByBattleId(battleId); if (!bf) return; // If player accept invitation if (accepted) { bf->PlayerAcceptInviteToWar(_player); } else { if (_player->GetZoneId() == bf->GetZoneId()) bf->KickPlayerFromBattlefield(_player->GetGUID()); } }
// Send by client on clicking in accept or refuse of invitation windows for join game void WorldSession::HandleBfEntryInviteResponse(WorldPacket& recvData) { uint8 Accepted; uint64 data; recvData >> Accepted >> data; uint64 BattleId = data &~ 0x20000; Battlefield* Bf = sBattlefieldMgr->GetBattlefieldByBattleId(BattleId); if (!Bf) return; // If player accept invitation if (Accepted) { Bf->PlayerAcceptInviteToWar(_player); } else { if (_player->GetZoneId() == Bf->GetZoneId()) Bf->KickPlayerFromBf(_player->GetGUID()); } }