void CalendarMgr::AppendEventsToCalendarPacketForPlayer(WorldPacket &data, Player *pPlayer) { // TODO: There's gotta be a better way to do this size_t p_counter = data.wpos(); uint32 counter = 0; data << uint32(counter); std::set<uint64> alreadyAdded; for (CalendarInviteMap::iterator itr = _inviteMap.begin(); itr != _inviteMap.end(); ++itr) { CalendarInvite invite = itr->second; if (invite.target_guid == pPlayer->GetGUID()) { if (alreadyAdded.find(invite.id) == alreadyAdded.end()) { CalendarEvent *m_event = GetEvent(invite.id); data << uint64(m_event->id); // event ID data << m_event->name; // event title data << uint32(m_event->type); // event type data << uint32(m_event->time); // event time as time bit field data << uint32(m_event->flags); // event flags data << uint32(m_event->dungeonID); // dungeon ID data.appendPackGUID(m_event->creator_guid); // creator guid alreadyAdded.insert(invite.id); counter++; } } } data.put<uint32>(p_counter, counter); // update number of invites }
bool ChatHandler::UnlockMove(char* args) { Player *player = getSelectedPlayer(); if (!player) player = m_session->GetPlayer(); WorldPacket data; data.Initialize( SMSG_FORCE_MOVE_UNROOT ); data.appendPackGUID(player->GetObjectGuid().GetRawValue()); player->GetSession()->SendPacket( &data ); return true; }
bool ChatHandler::LockMove(char* args) { Player *player = getSelectedPlayer(); if (!player) player = m_session->GetPlayer(); WorldPacket data; data.Initialize( SMSG_FORCE_MOVE_ROOT ); data.appendPackGUID(player->GetGUID()); data << (uint32)2; player->GetSession()->SendPacket( &data ); return true; }
void CalendarMgr::AppendInvitesToCalendarPacketForPlayer(WorldPacket &data, Player *pPlayer) { size_t p_counter = data.wpos(); uint32 counter = 0; data << uint32(counter); for (CalendarInviteMap::iterator itr = _inviteMap.begin(); itr != _inviteMap.end(); ++itr) { CalendarInvite invite = itr->second; if (invite.target_guid == pPlayer->GetGUID()) { data << uint64(invite.event); // Event ID data << uint64(invite.id); // Invite ID data << uint8(invite.status); // status data << uint8(invite.mod_Type); // Mod Type data << uint8(invite.invite_Type); // invite_Type data.appendPackGUID(invite.creator_guid); // creator's guid counter++; } } data.put<uint32>(p_counter, counter); // update number of invites }