From 44497414dbc10a09cd03fe2ada927528abeecac2 Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Sat, 29 Mar 2025 14:47:25 -0500 Subject: [PATCH] [Instance] Clear Respawn Timers on Creation (#4801) * [DZ] Clear Respawn Timers on Creation * Revert "[DZ] Clear Respawn Timers on Creation" This reverts commit ae18b77e8361a41c25e9b97812c7a4ab97715bb4. * Clear respawn times on instance creation --- common/database_instances.cpp | 2 ++ common/repositories/respawn_times_repository.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/common/database_instances.cpp b/common/database_instances.cpp index 27422ed2c..4dd21c754 100644 --- a/common/database_instances.cpp +++ b/common/database_instances.cpp @@ -129,6 +129,8 @@ bool Database::CreateInstance(uint16 instance_id, uint32 zone_id, uint32 version e.start_time = std::time(nullptr); e.duration = duration; + RespawnTimesRepository::ClearInstanceTimers(*this, e.id); + return InstanceListRepository::InsertOne(*this, e).id; } diff --git a/common/repositories/respawn_times_repository.h b/common/repositories/respawn_times_repository.h index 5eada10f7..05c321f28 100644 --- a/common/repositories/respawn_times_repository.h +++ b/common/repositories/respawn_times_repository.h @@ -77,6 +77,11 @@ public: return ((r.start + r.duration) - time_seconds); } + + static void ClearInstanceTimers(Database &db, int32_t id) + { + RespawnTimesRepository::DeleteWhere(db, fmt::format("`instance_id` = {}", id)); + } }; #endif //EQEMU_RESPAWN_TIMES_REPOSITORY_H