Move globalhandler into utils.containers, make settings format more flexible, default to base typeclass, add helper functions and some more lenient error handling

This commit is contained in:
Griatch 2019-04-14 11:24:45 +02:00
parent 7c416280a8
commit 098af3caba
8 changed files with 134 additions and 86 deletions

View file

@ -542,20 +542,13 @@ PROTOTYPEFUNC_MODULES = ["evennia.utils.prototypefuncs",
# Global Scripts
######################################################################
# While any script that is not attached to any object is considered
# Global, any listed here will be started by Evennia during boot
# and attached to its API for an easy-lookup. This ensures the Script
# is always accessible, and re-created if it is somehow deleted. Use
# this for Scripts that absolutely MUST be running for your game as a
# simple way to get them launched.
# The 'key' is a way to quickly index them, and it will also be the
# Script Typeclasss's key so it can be quickly retrieved.
# Values are a dictionary that uses the example format. Available keys
# are typeclass (required), interval, repeats, start_delay, and desc
# only typeclass is required.
# Global scripts started here will be available through
# 'evennia.GLOBAL_SCRIPTS.key'. The scripts will survive a reload and be
# recreated automatically if deleted. Each entry must have the script keys,
# whereas all other fields in the specification are optional. If 'typeclass' is
# not given, BASE_SCRIPT_TYPECLASS will be assumed. Note that if you change
# typeclass for the same key, a new Script will replace the old one on
# `evennia.GLOBAL_SCRIPTS`.
GLOBAL_SCRIPTS = {
# 'key': {'typeclass': 'typeclass.path.here',
# 'repeats': -1, 'interval': 50, 'desc': 'Example script'},