From f6988610cdb1f014c43c4f896e8b11ef54ec4244 Mon Sep 17 00:00:00 2001 From: Vincent Le Goff Date: Mon, 13 Feb 2017 11:32:14 -0800 Subject: [PATCH] Use Script.restart() in GametimeScript to change interval --- evennia/contrib/convert_gametime.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/evennia/contrib/convert_gametime.py b/evennia/contrib/convert_gametime.py index f24f4376ff..39747f7002 100644 --- a/evennia/contrib/convert_gametime.py +++ b/evennia/contrib/convert_gametime.py @@ -245,13 +245,14 @@ class GametimeScript(DefaultScript): """The script is created.""" self.key = "unknown scr" self.interval = 100 - self.repeats = 0 + self.start_delay = True self.persistent = True def at_start(self): """The script is started or restarted.""" - if self.db.gametime: - self.ndb._task.interval = real_seconds_until(**self.db.gametime) + if self.db.need_reset: + self.db.need_reset = False + self.restart(interval=real_seconds_until(**self.db.gametime)) def at_repeat(self): """Call the callback and reset interval.""" @@ -259,11 +260,17 @@ class GametimeScript(DefaultScript): if callback: callback() - self.interval = real_seconds_until(**self.db.gametime) + seconds = real_seconds_until(**self.db.gametime) + self.restart(interval=seconds) def at_server_reload(self): - """The script is started or restarted.""" - self.interval = real_seconds_until(**self.db.gametime) + """The server is about to reload. Put the script in need of reset.""" + self.db.need_reset = True + + def at_server_shutdown(self): + """The server is about to shutdown. Put the script in need of reset.""" + self.db.need_reset = True + def dummy(): from typeclasses.rooms import Room