From 44a73acd94fbc4fe610fc59541dd7b0bbd7b2a00 Mon Sep 17 00:00:00 2001 From: Vincent Le Goff Date: Sun, 26 Mar 2017 16:06:26 -0700 Subject: [PATCH] Chained events can now be called without delay --- evennia/contrib/events/helpers.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/evennia/contrib/events/helpers.py b/evennia/contrib/events/helpers.py index 6675e3ded4..4f6ad17cc7 100644 --- a/evennia/contrib/events/helpers.py +++ b/evennia/contrib/events/helpers.py @@ -75,10 +75,12 @@ def call(obj, event_name, seconds=0): to be called from inside another event. """ - try: - script = ScriptDB.objects.get(db_key="event_handler") - except ScriptDB.DoesNotExist: - return - - # Schedule the task - script.set_task(seconds, obj, event_name) + script = type(obj.events).script + if script: + # If seconds is 0, call the event immediately + if seconds == 0: + locals = dict(script.ndb.current_locals) + obj.events.call(event_name, locals=locals) + else: + # Schedule the task + script.set_task(seconds, obj, event_name)