mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
159 lines
5 KiB
C++
159 lines
5 KiB
C++
/*
|
|
* Copyright (C) 2005-2009 MaNGOS <http://www.mangosproject.org/>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#include "Common.h"
|
|
#include "Log.h"
|
|
#include "Player.h"
|
|
#include "WorldPacket.h"
|
|
#include "WorldSession.h"
|
|
#include "Opcodes.h"
|
|
#include "InstanceSaveMgr.h"
|
|
|
|
void WorldSession::HandleCalendarGetCalendar(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_GET_CALENDAR");
|
|
recv_data.hexlike();
|
|
|
|
time_t cur_time = time(NULL);
|
|
|
|
WorldPacket data(SMSG_CALENDAR_SEND_CALENDAR,4+4*0+4+4*0+4+4);
|
|
|
|
// TODO: calendar invite event output
|
|
data << (uint32) 0; //invite node count
|
|
// TODO: calendar event output
|
|
data << (uint32) 0; //event count
|
|
|
|
data << (uint32) 0; //wtf??
|
|
data << (uint32) secsToTimeBitFields(cur_time); // current time
|
|
|
|
uint32 counter = 0;
|
|
size_t p_counter = data.wpos();
|
|
data << uint32(counter); // instance save count
|
|
|
|
for(int i = 0; i < TOTAL_DIFFICULTIES; ++i)
|
|
{
|
|
for (Player::BoundInstancesMap::const_iterator itr = _player->m_boundInstances[i].begin(); itr != _player->m_boundInstances[i].end(); ++itr)
|
|
{
|
|
if(itr->second.perm)
|
|
{
|
|
InstanceSave *save = itr->second.save;
|
|
data << uint32(save->GetMapId());
|
|
data << uint32(save->GetDifficulty());
|
|
data << uint32(save->GetResetTime() - cur_time);
|
|
data << uint64(save->GetInstanceId()); // instance save id as unique instance copy id
|
|
++counter;
|
|
}
|
|
}
|
|
}
|
|
data.put<uint32>(p_counter,counter);
|
|
|
|
data << (uint32) 1135753200; //wtf?? (28.12.2005 12:00)
|
|
data << (uint32) 0; // unk counter 4
|
|
data << (uint32) 0; // unk counter 5
|
|
//sLog.outDebug("Sending calendar");
|
|
//data.hexlike();
|
|
SendPacket(&data);
|
|
}
|
|
|
|
void WorldSession::HandleCalendarGetEvent(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_GET_EVENT");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarGuildFilter(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_GUILD_FILTER");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarArenaTeam(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_ARENA_TEAM");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarAddEvent(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_ADD_EVENT");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarUpdateEvent(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_UPDATE_EVENT");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarRemoveEvent(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_REMOVE_EVENT");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarCopyEvent(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_COPY_EVENT");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarEventInvite(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_EVENT_INVITE");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarEventRsvp(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_EVENT_RSVP");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarEventRemoveInvite(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_EVENT_REMOVE_INVITE");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarEventStatus(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_EVENT_STATUS");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarEventModeratorStatus(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_EVENT_MODERATOR_STATUS");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarComplain(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_COMPLAIN");
|
|
recv_data.hexlike();
|
|
}
|
|
|
|
void WorldSession::HandleCalendarGetNumPending(WorldPacket &recv_data)
|
|
{
|
|
sLog.outDebug("WORLD: CMSG_CALENDAR_GET_NUM_PENDING");
|
|
recv_data.hexlike();
|
|
|
|
WorldPacket data(SMSG_CALENDAR_SEND_NUM_PENDING, 4);
|
|
data << uint32(0); // 0 - no pending invites, 1 - some pending invites
|
|
SendPacket(&data);
|
|
}
|