diff options
Diffstat (limited to 'src/game/CalendarHandler.cpp')
| -rw-r--r-- | src/game/CalendarHandler.cpp | 159 | 
1 files changed, 159 insertions, 0 deletions
diff --git a/src/game/CalendarHandler.cpp b/src/game/CalendarHandler.cpp new file mode 100644 index 00000000000..e9946e1a05e --- /dev/null +++ b/src/game/CalendarHandler.cpp @@ -0,0 +1,159 @@ +/* + * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> + * + * 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::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); +}  | 
