aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp11
-rw-r--r--src/server/game/Handlers/CalendarHandler.cpp9
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.h2
4 files changed, 9 insertions, 15 deletions
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index 66f8ab9cb27..d4c2bf7e742 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -30,7 +30,6 @@
#include "StringConvert.h"
#include "WorldSession.h"
#include "WowTime.h"
-#include <sstream>
CalendarInvite::CalendarInvite() : _inviteId(1), _eventId(0), _invitee(), _senderGUID(), _responseTime(0),
_status(CALENDAR_STATUS_INVITED), _rank(CALENDAR_RANK_PLAYER), _note() { }
@@ -470,9 +469,7 @@ uint32 CalendarMgr::GetPlayerNumPending(ObjectGuid guid)
std::string CalendarEvent::BuildCalendarMailSubject(ObjectGuid remover) const
{
- std::ostringstream strm;
- strm << remover.ToString() << ':' << _title;
- return strm.str();
+ return Trinity::StringFormat("{}:{}", remover.ToString(), _title);
}
std::string CalendarEvent::BuildCalendarMailBody(Player const* invitee) const
@@ -528,7 +525,7 @@ void CalendarMgr::SendCalendarEventUpdateAlert(CalendarEvent const& calendarEven
auto packetBuilder = [&](Player const* receiver)
{
WorldPackets::Calendar::CalendarEventUpdatedAlert packet;
- packet.ClearPending = true; // FIXME
+ packet.ClearPending = calendarEvent.GetOwnerGUID() == receiver->GetGUID();
packet.Date.SetUtcTimeFromUnixTime(calendarEvent.GetDate());
packet.Date += receiver->GetSession()->GetTimezoneOffset();
packet.Description = calendarEvent.GetDescription();
@@ -556,7 +553,7 @@ void CalendarMgr::SendCalendarEventStatus(CalendarEvent const& calendarEvent, Ca
auto packetBuilder = [&](Player const* receiver)
{
WorldPackets::Calendar::CalendarInviteStatus packet;
- packet.ClearPending = true; // FIXME
+ packet.ClearPending = invite.GetInviteeGUID() == receiver->GetGUID();
packet.Date.SetUtcTimeFromUnixTime(calendarEvent.GetDate());
packet.Date += receiver->GetSession()->GetTimezoneOffset();
packet.EventID = calendarEvent.GetEventId();
@@ -578,7 +575,7 @@ void CalendarMgr::SendCalendarEventRemovedAlert(CalendarEvent const& calendarEve
auto packetBuilder = [&](Player const* receiver)
{
WorldPackets::Calendar::CalendarEventRemovedAlert packet;
- packet.ClearPending = true; // FIXME
+ packet.ClearPending = calendarEvent.GetOwnerGUID() == receiver->GetGUID();
packet.Date.SetUtcTimeFromUnixTime(calendarEvent.GetDate());
packet.Date += receiver->GetSession()->GetTimezoneOffset();
packet.EventID = calendarEvent.GetEventId();
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp
index 5d90c79aeb2..01034c2f564 100644
--- a/src/server/game/Handlers/CalendarHandler.cpp
+++ b/src/server/game/Handlers/CalendarHandler.cpp
@@ -195,9 +195,6 @@ void WorldSession::HandleCalendarAddEvent(WorldPackets::Calendar::CalendarAddEve
void WorldSession::HandleCalendarUpdateEvent(WorldPackets::Calendar::CalendarUpdateEvent& calendarUpdateEvent)
{
- ObjectGuid guid = _player->GetGUID();
- time_t oldEventTime = time_t(0);
-
calendarUpdateEvent.EventInfo.Time -= GetTimezoneOffset();
// prevent events in the past
@@ -206,7 +203,7 @@ void WorldSession::HandleCalendarUpdateEvent(WorldPackets::Calendar::CalendarUpd
if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarUpdateEvent.EventInfo.EventID))
{
- oldEventTime = calendarEvent->GetDate();
+ time_t oldEventTime = calendarEvent->GetDate();
calendarEvent->SetType(CalendarEventType(calendarUpdateEvent.EventInfo.EventType));
calendarEvent->SetFlags(calendarUpdateEvent.EventInfo.Flags);
@@ -219,7 +216,7 @@ void WorldSession::HandleCalendarUpdateEvent(WorldPackets::Calendar::CalendarUpd
sCalendarMgr->SendCalendarEventUpdateAlert(*calendarEvent, oldEventTime);
}
else
- sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID);
+ sCalendarMgr->SendCalendarCommandResult(_player->GetGUID(), CALENDAR_ERROR_EVENT_INVALID);
}
void WorldSession::HandleCalendarRemoveEvent(WorldPackets::Calendar::CalendarRemoveEvent& calendarRemoveEvent)
@@ -561,7 +558,7 @@ void WorldSession::SendCalendarRaidLockoutAdded(InstanceLock const* lock)
{
WorldPackets::Calendar::CalendarRaidLockoutAdded calendarRaidLockoutAdded;
calendarRaidLockoutAdded.InstanceID = lock->GetInstanceId();
- calendarRaidLockoutAdded.ServerTime = uint32(GameTime::GetGameTime());
+ calendarRaidLockoutAdded.ServerTime = *GameTime::GetWowTime();
calendarRaidLockoutAdded.MapID = int32(lock->GetMapId());
calendarRaidLockoutAdded.DifficultyID = lock->GetDifficultyId();
calendarRaidLockoutAdded.TimeRemaining = int32(std::chrono::duration_cast<Seconds>(lock->GetEffectiveExpiryTime() - GameTime::GetSystemTime()).count());
diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp
index cd0e1d3d7be..7bd73d0fc45 100644
--- a/src/server/game/Server/Packets/CalendarPackets.cpp
+++ b/src/server/game/Server/Packets/CalendarPackets.cpp
@@ -430,7 +430,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarCommandResult::Write()
WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutAdded::Write()
{
_worldPacket << uint64(InstanceID);
- _worldPacket << uint32(ServerTime);
+ _worldPacket << ServerTime;
_worldPacket << int32(MapID);
_worldPacket << uint32(DifficultyID);
_worldPacket << int32(TimeRemaining);
diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h
index 4ac9b9b8a3b..e76b4162f02 100644
--- a/src/server/game/Server/Packets/CalendarPackets.h
+++ b/src/server/game/Server/Packets/CalendarPackets.h
@@ -487,7 +487,7 @@ namespace WorldPackets
uint64 InstanceID = 0;
uint32 DifficultyID = 0;
int32 TimeRemaining = 0;
- uint32 ServerTime = 0;
+ WowTime ServerTime;
int32 MapID = 0;
};