From 02a35972afc28aff81dc1153db0f5eb572c7f085 Mon Sep 17 00:00:00 2001 From: Vincent Le Goff Date: Mon, 8 May 2017 19:18:54 -0700 Subject: [PATCH] Remove the over-incrementing task ID --- evennia/contrib/events/scripts.py | 9 ++++++--- evennia/contrib/events/tests.py | 1 - 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/evennia/contrib/events/scripts.py b/evennia/contrib/events/scripts.py index 7c6f236d1a..a61d308e59 100644 --- a/evennia/contrib/events/scripts.py +++ b/evennia/contrib/events/scripts.py @@ -45,7 +45,6 @@ class EventHandler(DefaultScript): self.db.locked = [] # Tasks - self.db.task_id = 0 self.db.tasks = {} def at_start(self): @@ -559,8 +558,12 @@ class EventHandler(DefaultScript): """ now = datetime.now() delta = timedelta(seconds=seconds) - task_id = self.db.task_id - self.db.task_id += 1 + + # Choose a free task_id + used_ids = list(self.db.tasks.keys()) + task_id = 1 + while task_id in used_ids: + task_id += 1 # Collect and freeze current locals locals = {} diff --git a/evennia/contrib/events/tests.py b/evennia/contrib/events/tests.py index c6ca6aaf6c..c2a8bd4b04 100644 --- a/evennia/contrib/events/tests.py +++ b/evennia/contrib/events/tests.py @@ -58,7 +58,6 @@ class TestEventHandler(EvenniaTest): self.assertEqual(self.handler.db.to_valid, []) self.assertEqual(self.handler.db.locked, []) self.assertEqual(self.handler.db.tasks, {}) - self.assertEqual(self.handler.db.task_id, 0) self.assertIsNotNone(self.handler.ndb.events) def test_add_validation(self):