aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/AuthHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-11-21 12:25:22 +0100
committerfunjoker <funjoker109@gmail.com>2023-12-01 23:28:35 +0100
commit070cd23b6cf2e985713b90455cb7f7c53535cbcf (patch)
treecfcd414ecc4d3ef05253140ce83897f693d6dcd3 /src/server/game/Handlers/AuthHandler.cpp
parentb6e346eaf0ee9a1c0dc2c7977ac950b77c857ecf (diff)
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390 Closes #29427 (cherry picked from commit b888b1b09f71a8b8b4a9d45c804a1f164fb65ac3)
Diffstat (limited to 'src/server/game/Handlers/AuthHandler.cpp')
-rw-r--r--src/server/game/Handlers/AuthHandler.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp
index 7be557d368b..13db0718450 100644
--- a/src/server/game/Handlers/AuthHandler.cpp
+++ b/src/server/game/Handlers/AuthHandler.cpp
@@ -26,6 +26,7 @@
#include "RBAC.h"
#include "Realm.h"
#include "SystemPackets.h"
+#include "Timezone.h"
#include "World.h"
void WorldSession::SendAuthResponse(uint32 code, bool queued, uint32 queuePos)
@@ -89,12 +90,14 @@ void WorldSession::SendClientCacheVersion(uint32 version)
void WorldSession::SendSetTimeZoneInformation()
{
- /// @todo: replace dummy values
- WorldPackets::System::SetTimeZoneInformation packet;
- packet.ServerTimeTZ = "Europe/Paris";
- packet.GameTimeTZ = "Europe/Paris";
- packet.ServerRegionalTZ = "Europe/Paris";
+ Minutes timezoneOffset = Trinity::Timezone::GetSystemZoneOffset(false);
+ std::string realTimezone = Trinity::Timezone::GetSystemZoneName();
+ std::string_view clientSupportedTZ = Trinity::Timezone::FindClosestClientSupportedTimezone(realTimezone, timezoneOffset);
+ WorldPackets::System::SetTimeZoneInformation packet;
+ packet.ServerTimeTZ = clientSupportedTZ;
+ packet.GameTimeTZ = clientSupportedTZ;
+ packet.ServerRegionalTZ = clientSupportedTZ;
SendPacket(packet.Write());
}