diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index f4f3f601ffd..81ddc55aead 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -260,6 +260,12 @@ SUBSYSTEM_DEF(timer) // Add all timed events from the secondary queue as well alltimers += second_queue + for (var/datum/timedevent/t as anything in alltimers) + t.bucket_joined = FALSE + t.bucket_pos = -1 + t.prev = null + t.next = null + // If there are no timers being tracked by the subsystem, // there is no need to do any further rebuilding if (!length(alltimers)) @@ -303,6 +309,7 @@ SUBSYSTEM_DEF(timer) new_bucket_count++ var/bucket_pos = BUCKET_POS(timer) timer.bucket_pos = bucket_pos + timer.bucket_joined = TRUE var/datum/timedevent/bucket_head = bucket_list[bucket_pos] if (!bucket_head)