diff --git a/zone/zone.cpp b/zone/zone.cpp index c05f0643c..1bb71727b 100644 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -2649,22 +2649,24 @@ void Zone::ClearSpawnTimers() iterator.Reset(); - std::vector respawn_ids; + std::vector respawn_ids; while (iterator.MoreElements()) { - respawn_ids.emplace_back(std::to_string(iterator.GetData()->GetID())); + respawn_ids.emplace_back(iterator.GetData()->spawn2_id); iterator.Advance(); } - RespawnTimesRepository::DeleteWhere( - database, - fmt::format( - "`instance_id` = {} AND `id` IN ({})", - GetInstanceID(), - Strings::Implode(", ", respawn_ids) - ) - ); + if (!respawn_ids.empty()) { + RespawnTimesRepository::DeleteWhere( + database, + fmt::format( + "`instance_id` = {} AND `id` IN ({})", + GetInstanceID(), + Strings::Join(respawn_ids, ", ") + ) + ); + } } uint32 Zone::GetSpawnKillCount(uint32 in_spawnid) {