mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 05:46:31 +01:00
45 lines
1.9 KiB
Python
45 lines
1.9 KiB
Python
"""
|
|
|
|
Template module for Exits
|
|
|
|
Copy this module up one level and name it as you like, then
|
|
use it as a template to create your own Exits.
|
|
|
|
To make the default commands (such as @dig/@open) default to creating exits
|
|
of your new type, change settings.BASE_EXIT_TYPECLASS to point to
|
|
your new class, e.g.
|
|
|
|
settings.BASE_EXIT_TYPECLASS = "game.gamesrc.objects.myexit.MyExit"
|
|
|
|
Note that objects already created in the database will not notice
|
|
this change, you have to convert them manually e.g. with the
|
|
@typeclass command.
|
|
|
|
"""
|
|
from ev import Exit as DefaultExit
|
|
|
|
|
|
class Exit(DefaultExit):
|
|
"""
|
|
Exits are connectors between rooms. Exits are normal Objects except
|
|
they defines the 'destination' property. It also does work in the
|
|
following methods:
|
|
|
|
basetype_setup() - sets default exit locks (to change, use at_object_creation instead)
|
|
at_cmdset_get(**kwargs) - this is called when the cmdset is accessed and should
|
|
rebuild the Exit cmdset along with a command matching the name
|
|
of the Exit object. Conventionally, a kwarg 'force_init'
|
|
should force a rebuild of the cmdset, this is triggered
|
|
by the @alias command when aliases are changed.
|
|
at_failed_traverse() - gives a default error message ("You cannot
|
|
go there") if exit traversal fails and an
|
|
attribute err_traverse is not defined.
|
|
|
|
Relevant hooks to overload (compared to other types of Objects):
|
|
at_before_traverse(traveller) - called just before traversing
|
|
at_after_traverse(traveller, source_loc) - called just after traversing
|
|
at_failed_traverse(traveller) - called if traversal failed for some reason. Will
|
|
not be called if the attribute 'err_traverse' is
|
|
defined, in which case that will simply be echoed.
|
|
"""
|
|
pass
|