Use Script.restart() in GametimeScript to change interval

This commit is contained in:
Vincent Le Goff 2017-02-13 11:32:14 -08:00 committed by Griatch
parent 64fd770b5a
commit f6988610cd

View file

@ -245,13 +245,14 @@ class GametimeScript(DefaultScript):
"""The script is created.""" """The script is created."""
self.key = "unknown scr" self.key = "unknown scr"
self.interval = 100 self.interval = 100
self.repeats = 0 self.start_delay = True
self.persistent = True self.persistent = True
def at_start(self): def at_start(self):
"""The script is started or restarted.""" """The script is started or restarted."""
if self.db.gametime: if self.db.need_reset:
self.ndb._task.interval = real_seconds_until(**self.db.gametime) self.db.need_reset = False
self.restart(interval=real_seconds_until(**self.db.gametime))
def at_repeat(self): def at_repeat(self):
"""Call the callback and reset interval.""" """Call the callback and reset interval."""
@ -259,11 +260,17 @@ class GametimeScript(DefaultScript):
if callback: if callback:
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): def at_server_reload(self):
"""The script is started or restarted.""" """The server is about to reload. Put the script in need of reset."""
self.interval = real_seconds_until(**self.db.gametime) 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(): def dummy():
from typeclasses.rooms import Room from typeclasses.rooms import Room