diff --git a/common/database.h b/common/database.h index 96897e4ea..962349fa9 100644 --- a/common/database.h +++ b/common/database.h @@ -159,7 +159,7 @@ public: uint16 GetInstanceID(const char* zone, uint32 charid, int16 version); uint16 GetInstanceID(uint32 zone, uint32 charid, int16 version); uint16 GetInstanceVersion(uint16 instance_id); - uint32 GetTimeRemainingInstance(uint16 instance_id, bool is_perma = false); + uint32 GetTimeRemainingInstance(uint16 instance_id, bool &is_perma); uint32 VersionFromInstanceID(uint16 instance_id); uint32 ZoneIDFromInstanceID(uint16 instance_id); diff --git a/common/database_instances.cpp b/common/database_instances.cpp index d6a12c750..350c9849f 100644 --- a/common/database_instances.cpp +++ b/common/database_instances.cpp @@ -381,7 +381,7 @@ uint16 Database::GetInstanceVersion(uint16 instance_id) { return atoi(row[0]); } -uint32 Database::GetTimeRemainingInstance(uint16 instance_id, bool is_perma) +uint32 Database::GetTimeRemainingInstance(uint16 instance_id, bool &is_perma) { uint32 start_time = 0; uint32 duration = 0; diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 542b52288..1267386eb 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -823,16 +823,15 @@ void Client::CompleteConnect() ); } - if (zone && zone->GetInstanceID() > 0) { + if (zone && zone->GetInstanceTimer()) { - uint32 remaining_time_seconds = database.GetTimeRemainingInstance(zone->GetInstanceID()); + bool is_permanent = false; + uint32 remaining_time_seconds = database.GetTimeRemainingInstance(zone->GetInstanceID(), is_permanent); uint32 day = (remaining_time_seconds / 86400); uint32 hour = (remaining_time_seconds / 3600) % 24; uint32 minute = (remaining_time_seconds / 60) % 60; uint32 second = (remaining_time_seconds / 1) % 60; - LogInfo("Remaining time seconds [{}]", remaining_time_seconds); - if (day) { Message( Chat::Yellow, "%s (%u) will expire in %u days, %u hours, %u minutes, and %u seconds.",