Fixed a regression that had non-persistent Scripts not being deleted as they should on server reload. Also prepared for the same functionality for tickerhandler tickers.

This commit is contained in:
Griatch 2016-03-24 19:43:54 +01:00
parent 42d18e3fd7
commit e09a172854

View file

@ -280,7 +280,7 @@ class Evennia(object):
MONITOR_HANDLER.restore()
from evennia.scripts.tickerhandler import TICKER_HANDLER
TICKER_HANDLER.restore()
TICKER_HANDLER.restore(mode in ('True', 'reload'))
# call correct server hook based on start file value
if mode in ('True', 'reload'):
@ -437,6 +437,11 @@ class Evennia(object):
from evennia.objects.models import ObjectDB
ObjectDB.objects.clear_all_sessids()
# Remove non-persistent scripts
from evennia.scripts.models import ScriptDB
for script in ScriptDB.objects.filter(db_persistent=False):
script.stop()
if GUEST_ENABLED:
for guest in PlayerDB.objects.all().filter(db_typeclass_path=settings.BASE_GUEST_TYPECLASS):
for character in guest.db._playable_characters: