From 3edbb1ccaae28a21a9d5f6f50b488a5a5fe2938c Mon Sep 17 00:00:00 2001 From: Evennia docbuilder action Date: Sat, 6 Apr 2024 20:53:08 +0000 Subject: [PATCH] Updated HTML docs. --- docs/latest/.buildinfo | 2 +- docs/latest/Coding/Changelog.html | 5 ++- .../base_systems/components/component.html | 16 +++++++ .../base_systems/components/dbfield.html | 3 +- .../base_systems/components/tests.html | 2 +- .../evennia/typeclasses/attributes.html | 42 ++++++++++-------- docs/latest/_sources/Coding/Changelog.md.txt | 6 ++- .../api/evennia.commands.default.account.html | 4 +- .../api/evennia.commands.default.admin.html | 4 +- ...evennia.commands.default.batchprocess.html | 4 +- .../evennia.commands.default.building.html | 12 ++--- .../api/evennia.commands.default.general.html | 16 +++---- .../api/evennia.commands.default.system.html | 4 +- .../api/evennia.commands.default.tests.html | 2 +- .../evennia.commands.default.unloggedin.html | 12 ++--- ...rib.base_systems.components.component.html | 15 +++++++ ....base_systems.email_login.email_login.html | 12 ++--- ...b.base_systems.ingame_python.commands.html | 4 +- ...systems.mux_comms_cmds.mux_comms_cmds.html | 4 +- ...rib.full_systems.evscaperoom.commands.html | 24 +++++----- ...trib.grid.extended_room.extended_room.html | 4 +- ...evennia.contrib.grid.xyzgrid.commands.html | 4 +- ...evennia.contrib.rpg.rpsystem.rpsystem.html | 8 ++-- ...utorials.evadventure.combat_turnbased.html | 4 +- ...b.tutorials.evadventure.combat_twitch.html | 8 ++-- ...ntrib.tutorials.red_button.red_button.html | 16 +++---- ...trib.tutorials.tutorial_world.objects.html | 16 +++---- ...ontrib.tutorials.tutorial_world.rooms.html | 12 ++--- ...utils.git_integration.git_integration.html | 4 +- .../api/evennia.typeclasses.attributes.html | 5 +++ docs/latest/api/evennia.utils.eveditor.html | 4 +- docs/latest/api/evennia.utils.evmenu.html | 4 +- docs/latest/api/evennia.utils.evmore.html | 4 +- docs/latest/genindex.html | 8 +++- docs/latest/objects.inv | Bin 169242 -> 169263 bytes docs/latest/searchindex.js | 2 +- 36 files changed, 172 insertions(+), 124 deletions(-) diff --git a/docs/latest/.buildinfo b/docs/latest/.buildinfo index 76fae76364..f764e06bf6 100644 --- a/docs/latest/.buildinfo +++ b/docs/latest/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e55a84fce9aeb56c9a7546283a9c1336 +config: 88242c164c1fcaee1ea1de8ae45f9478 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/latest/Coding/Changelog.html b/docs/latest/Coding/Changelog.html index 754c039f45..74c7722ea4 100644 --- a/docs/latest/Coding/Changelog.html +++ b/docs/latest/Coding/Changelog.html @@ -210,10 +210,11 @@ compliance with Def
  • Fix: Typo in sethome message (chiizujin)

  • Fix: Fix traceback when using get,drop and give with no arguments (InspectorCaracal)

  • -
  • Fix: Don’t ignore EvEditor commands with wrong capitalization -(Griatch)

  • +
  • Fix: Don’t ignore EvEditor commands with wrong capitalization (Griatch)

  • Fix: The at_server_reload_start() hook was not firing on a reload (regression).

  • +
  • Fix: AttributeProperty(<default>, autocreate=False), where +<default> was mutable would not update/save properly in-place (Griatch)

  • [Docs] Added new Server-Lifecycle page to describe the hooks called on server start/stop/reload (Griatch)

  • [Docs] Doc typo fixes (Griatch, chiizujin)

  • diff --git a/docs/latest/_modules/evennia/contrib/base_systems/components/component.html b/docs/latest/_modules/evennia/contrib/base_systems/components/component.html index 26cc8d3b49..fb7f1bf540 100644 --- a/docs/latest/_modules/evennia/contrib/base_systems/components/component.html +++ b/docs/latest/_modules/evennia/contrib/base_systems/components/component.html @@ -247,6 +247,22 @@ """ return self.host.attributes + @property + def pk(self): + """ + Shortcut property returning the host's primary key. + + Returns: + int: The Host's primary key. + + Notes: + This is requried to allow AttributeProperties to correctly update `_SaverMutable` data + (like lists) in-place (since the DBField sits on the Component which doesn't itself + have a primary key, this save operation would otherwise fail). + + """ + return self.host.pk + @property def nattributes(self): """ diff --git a/docs/latest/_modules/evennia/contrib/base_systems/components/dbfield.html b/docs/latest/_modules/evennia/contrib/base_systems/components/dbfield.html index c1e8fa737a..d14229fd3b 100644 --- a/docs/latest/_modules/evennia/contrib/base_systems/components/dbfield.html +++ b/docs/latest/_modules/evennia/contrib/base_systems/components/dbfield.html @@ -98,7 +98,8 @@ import typing -from evennia.typeclasses.attributes import AttributeProperty, NAttributeProperty +from evennia.typeclasses.attributes import (AttributeProperty, + NAttributeProperty) if typing.TYPE_CHECKING: from .components import Component diff --git a/docs/latest/_modules/evennia/contrib/base_systems/components/tests.html b/docs/latest/_modules/evennia/contrib/base_systems/components/tests.html index 6b9bac3b98..30dd3b2060 100644 --- a/docs/latest/_modules/evennia/contrib/base_systems/components/tests.html +++ b/docs/latest/_modules/evennia/contrib/base_systems/components/tests.html @@ -360,7 +360,7 @@
    [docs] def test_mutables_are_not_shared_when_autocreate(self): self.char1.test_a.my_list.append(1) - self.assertNotEqual(self.char1.test_a.my_list, self.char2.test_a.my_list)
    + self.assertNotEqual(id(self.char1.test_a.my_list), id(self.char2.test_a.my_list))
    [docs] def test_replacing_class_component_slot_with_runtime_component(self): self.char1.components.add_default("replacement_inherited_test_a") diff --git a/docs/latest/_modules/evennia/typeclasses/attributes.html b/docs/latest/_modules/evennia/typeclasses/attributes.html index 780399bceb..72bb3a3863 100644 --- a/docs/latest/_modules/evennia/typeclasses/attributes.html +++ b/docs/latest/_modules/evennia/typeclasses/attributes.html @@ -104,11 +104,11 @@ import fnmatch import re from collections import defaultdict +from copy import copy from django.conf import settings from django.db import models from django.utils.encoding import smart_str - from evennia.locks.lockhandler import LockHandler from evennia.utils.dbserialize import from_pickle, to_pickle from evennia.utils.idmapper.models import SharedMemoryModel @@ -258,6 +258,7 @@ """ attrhandler_name = "attributes" + cached_default_name_template = "_property_attribute_default_{key}"
    [docs] def __init__(self, default=None, category=None, strattr=False, lockstring="", autocreate=True): """ @@ -299,21 +300,6 @@ self._autocreate = autocreate self._key = ""
    - @property - def _default(self): - """ - Tries returning a new instance of default if callable. - - """ - if callable(self.__default): - return self.__default() - - return self.__default - - @_default.setter - def _default(self, value): - self.__default = value - def __set_name__(self, cls, name): """ Called when descriptor is first assigned to the class. It is called with @@ -322,17 +308,35 @@ """ self._key = name + def _get_and_cache_default(self, instance): + """ + Get and cache the default value for this attribute. We make sure to convert any mutables + into _Saver* equivalent classes here and cache the result on the instance's AttributeHandler. + + """ + attrhandler = getattr(instance, self.attrhandler_name) + value = getattr(attrhandler, self.cached_default_name_template.format(key=self._key), None) + if not value: + if callable(self._default): + value = self._default() + else: + value = copy(self._default) + value = from_pickle(value, db_obj=instance) + setattr(attrhandler, self.cached_default_name_template.format(key=self._key), value) + return value + def __get__(self, instance, owner): """ Called when the attrkey is retrieved from the instance. """ - value = self._default + value = self._get_and_cache_default(instance) + try: value = self.at_get( getattr(instance, self.attrhandler_name).get( key=self._key, - default=self._default, + default=value, category=self._category, strattr=self._strattr, raise_exception=self._autocreate, @@ -342,7 +346,7 @@ except AttributeError: if self._autocreate: # attribute didn't exist and autocreate is set - self.__set__(instance, self._default) + self.__set__(instance, value) else: raise return value diff --git a/docs/latest/_sources/Coding/Changelog.md.txt b/docs/latest/_sources/Coding/Changelog.md.txt index 615450ee26..37beca050e 100644 --- a/docs/latest/_sources/Coding/Changelog.md.txt +++ b/docs/latest/_sources/Coding/Changelog.md.txt @@ -14,10 +14,11 @@ - [Fix][pull3485]: Typo in `sethome` message (chiizujin) - [Fix][pull3487]: Fix traceback when using `get`,`drop` and `give` with no arguments (InspectorCaracal) -- [Fix][issue3476]: Don't ignore EvEditor commands with wrong capitalization - (Griatch) +- [Fix][issue3476]: Don't ignore EvEditor commands with wrong capitalization (Griatch) - [Fix][issue3477]: The `at_server_reload_start()` hook was not firing on a reload (regression). +- [Fix][issue3488]: `AttributeProperty(, autocreate=False)`, where + `` was mutable would not update/save properly in-place (Griatch) - [Docs] Added new [Server-Lifecycle][doc-server-lifecycle] page to describe the hooks called on server start/stop/reload (Griatch) - [Docs] Doc typo fixes (Griatch, chiizujin) @@ -27,6 +28,7 @@ [pull3487]: https://github.com/evennia/evennia/pull/3487 [issue3476]: https://github.com/evennia/evennia/issues/3476 [issue3477]: https://github.com/evennia/evennia/issues/3477 +[issue3488]: https://github.com/evennia/evennia/issues/3488 [doc-server-lifecycle]: https://www.evennia.com/docs/latest/Concepts/Server-Lifecycle.html diff --git a/docs/latest/api/evennia.commands.default.account.html b/docs/latest/api/evennia.commands.default.account.html index b10f1138b3..7ee8590fa2 100644 --- a/docs/latest/api/evennia.commands.default.account.html +++ b/docs/latest/api/evennia.commands.default.account.html @@ -147,7 +147,7 @@ method. Otherwise all text will be returned to all connected sessions.

    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -178,7 +178,7 @@ method. Otherwise all text will be returned to all connected sessions.

    -search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}
    diff --git a/docs/latest/api/evennia.commands.default.admin.html b/docs/latest/api/evennia.commands.default.admin.html index 0a96bab33d..1e73ac7e58 100644 --- a/docs/latest/api/evennia.commands.default.admin.html +++ b/docs/latest/api/evennia.commands.default.admin.html @@ -331,7 +331,7 @@ to accounts respectively.

    -aliases = ['pemit', 'remit']
    +aliases = ['remit', 'pemit']
    @@ -362,7 +362,7 @@ to accounts respectively.

    -search_index_entry = {'aliases': 'pemit remit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' pemit remit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
    +search_index_entry = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' remit pemit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
    diff --git a/docs/latest/api/evennia.commands.default.batchprocess.html b/docs/latest/api/evennia.commands.default.batchprocess.html index 9b80e97757..5a7b88c2de 100644 --- a/docs/latest/api/evennia.commands.default.batchprocess.html +++ b/docs/latest/api/evennia.commands.default.batchprocess.html @@ -152,7 +152,7 @@ skipping, reloading etc.

    -aliases = ['batchcommand', 'batchcmd']
    +aliases = ['batchcmd', 'batchcommand']
    @@ -183,7 +183,7 @@ skipping, reloading etc.

    -search_index_entry = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcommand batchcmd', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
    +search_index_entry = {'aliases': 'batchcmd batchcommand', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcmd batchcommand', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
    diff --git a/docs/latest/api/evennia.commands.default.building.html b/docs/latest/api/evennia.commands.default.building.html index f56e64aded..a451fe3911 100644 --- a/docs/latest/api/evennia.commands.default.building.html +++ b/docs/latest/api/evennia.commands.default.building.html @@ -1414,7 +1414,7 @@ server settings.

    -aliases = ['@swap', '@parent', '@typeclasses', '@type', '@update']
    +aliases = ['@type', '@update', '@parent', '@swap', '@typeclasses']
    @@ -1445,7 +1445,7 @@ server settings.

    -search_index_entry = {'aliases': '@swap @parent @typeclasses @type @update', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass swap parent typeclasses type update', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}
    +search_index_entry = {'aliases': '@type @update @parent @swap @typeclasses', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass type update parent swap typeclasses', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}
    @@ -1600,7 +1600,7 @@ If object is not specified, the current location is examined.

    -aliases = ['@exam', '@ex']
    +aliases = ['@ex', '@exam']
    @@ -1873,7 +1873,7 @@ the cases, see the module doc.

    -search_index_entry = {'aliases': '@exam @ex', 'category': 'building', 'key': '@examine', 'no_prefix': 'examine exam ex', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [<object>[/attrname]]\n examine [*<account>[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n script - examine a Script\n channel - examine a Channel\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}
    +search_index_entry = {'aliases': '@ex @exam', 'category': 'building', 'key': '@examine', 'no_prefix': 'examine ex exam', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [<object>[/attrname]]\n examine [*<account>[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n script - examine a Script\n channel - examine a Channel\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}
    @@ -1907,7 +1907,7 @@ one is given.

    -aliases = ['@locate', '@search']
    +aliases = ['@search', '@locate']
    @@ -1938,7 +1938,7 @@ one is given.

    -search_index_entry = {'aliases': '@locate @search', 'category': 'building', 'key': '@find', 'no_prefix': 'find locate search', 'tags': '', 'text': '\n search the database for objects\n\n Usage:\n find[/switches] <name or dbref or *account> [= dbrefmin[-dbrefmax]]\n locate - this is a shorthand for using the /loc switch.\n\n Switches:\n room - only look for rooms (location=None)\n exit - only look for exits (destination!=None)\n char - only look for characters (BASE_CHARACTER_TYPECLASS)\n exact - only exact matches are returned.\n loc - display object location if exists and match has one result\n startswith - search for names starting with the string, rather than containing\n\n Searches the database for an object of a particular name or exact #dbref.\n Use *accountname to search for an account. The switches allows for\n limiting object matches to certain game entities. Dbrefmin and dbrefmax\n limits matches to within the given dbrefs range, or above/below if only\n one is given.\n '}
    +search_index_entry = {'aliases': '@search @locate', 'category': 'building', 'key': '@find', 'no_prefix': 'find search locate', 'tags': '', 'text': '\n search the database for objects\n\n Usage:\n find[/switches] <name or dbref or *account> [= dbrefmin[-dbrefmax]]\n locate - this is a shorthand for using the /loc switch.\n\n Switches:\n room - only look for rooms (location=None)\n exit - only look for exits (destination!=None)\n char - only look for characters (BASE_CHARACTER_TYPECLASS)\n exact - only exact matches are returned.\n loc - display object location if exists and match has one result\n startswith - search for names starting with the string, rather than containing\n\n Searches the database for an object of a particular name or exact #dbref.\n Use *accountname to search for an account. The switches allows for\n limiting object matches to certain game entities. Dbrefmin and dbrefmax\n limits matches to within the given dbrefs range, or above/below if only\n one is given.\n '}
    diff --git a/docs/latest/api/evennia.commands.default.general.html b/docs/latest/api/evennia.commands.default.general.html index 7cd43a0ebf..b6d9d4ecba 100644 --- a/docs/latest/api/evennia.commands.default.general.html +++ b/docs/latest/api/evennia.commands.default.general.html @@ -189,7 +189,7 @@ look *<account&g
    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -220,7 +220,7 @@ look *<account&g
    -search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}
    @@ -282,7 +282,7 @@ for everyone to use, you need build privileges and the alias command.

    -aliases = ['nickname', 'nicks']
    +aliases = ['nicks', 'nickname']
    @@ -314,7 +314,7 @@ for everyone to use, you need build privileges and the alias command.

    -search_index_entry = {'aliases': 'nickname nicks', 'category': 'general', 'key': 'nick', 'no_prefix': ' nickname nicks', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}
    +search_index_entry = {'aliases': 'nicks nickname', 'category': 'general', 'key': 'nick', 'no_prefix': ' nicks nickname', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}
    @@ -611,7 +611,7 @@ placing it in their inventory.

    -aliases = ["'", '"']
    +aliases = ['"', "'"]
    @@ -642,7 +642,7 @@ placing it in their inventory.

    -search_index_entry = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    +search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    @@ -786,7 +786,7 @@ which permission groups you are a member of.

    -aliases = ['groups', 'hierarchy']
    +aliases = ['hierarchy', 'groups']
    @@ -817,7 +817,7 @@ which permission groups you are a member of.

    -search_index_entry = {'aliases': 'groups hierarchy', 'category': 'general', 'key': 'access', 'no_prefix': ' groups hierarchy', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}
    +search_index_entry = {'aliases': 'hierarchy groups', 'category': 'general', 'key': 'access', 'no_prefix': ' hierarchy groups', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}
    diff --git a/docs/latest/api/evennia.commands.default.system.html b/docs/latest/api/evennia.commands.default.system.html index 196b1c1736..d02b7cfcc2 100644 --- a/docs/latest/api/evennia.commands.default.system.html +++ b/docs/latest/api/evennia.commands.default.system.html @@ -697,7 +697,7 @@ See |luhttps://ww
    -aliases = ['@delays', '@task']
    +aliases = ['@task', '@delays']
    @@ -743,7 +743,7 @@ to all the variables defined therein.

    -search_index_entry = {'aliases': '@delays @task', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks delays task', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}
    +search_index_entry = {'aliases': '@task @delays', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks task delays', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}
    diff --git a/docs/latest/api/evennia.commands.default.tests.html b/docs/latest/api/evennia.commands.default.tests.html index 039231bd31..1e756456ab 100644 --- a/docs/latest/api/evennia.commands.default.tests.html +++ b/docs/latest/api/evennia.commands.default.tests.html @@ -980,7 +980,7 @@ main test suite started with

    Test the batch processor.

    -red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmp6biotdos/c8d75665d271e79f21ad9998a788c81cfea357c8/evennia/contrib/tutorials/red_button/red_button.py'>
    +red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmpbbe4tgz2/e3ddbf08cf1558fe9a354fa647dd4dfc240bc929/evennia/contrib/tutorials/red_button/red_button.py'>
    diff --git a/docs/latest/api/evennia.commands.default.unloggedin.html b/docs/latest/api/evennia.commands.default.unloggedin.html index 4a55edd64c..839915434d 100644 --- a/docs/latest/api/evennia.commands.default.unloggedin.html +++ b/docs/latest/api/evennia.commands.default.unloggedin.html @@ -136,7 +136,7 @@ connect “account name” “pass word”

    -aliases = ['co', 'conn', 'con']
    +aliases = ['con', 'conn', 'co']
    @@ -171,7 +171,7 @@ there is no object yet before the account has logged in)

    -search_index_entry = {'aliases': 'co conn con', 'category': 'general', 'key': 'connect', 'no_prefix': ' co conn con', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
    +search_index_entry = {'aliases': 'con conn co', 'category': 'general', 'key': 'connect', 'no_prefix': ' con conn co', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
    @@ -306,7 +306,7 @@ All it does is display the connect screen.

    -aliases = ['look', 'l']
    +aliases = ['l', 'look']
    @@ -332,7 +332,7 @@ All it does is display the connect screen.

    -search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' look l', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}
    +search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}
    @@ -355,7 +355,7 @@ for simplicity. It shows a pane of info.

    -aliases = ['h', '?']
    +aliases = ['?', 'h']
    @@ -381,7 +381,7 @@ for simplicity. It shows a pane of info.

    -search_index_entry = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
    +search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
    diff --git a/docs/latest/api/evennia.contrib.base_systems.components.component.html b/docs/latest/api/evennia.contrib.base_systems.components.component.html index 1a021eed5f..c3eb09761f 100644 --- a/docs/latest/api/evennia.contrib.base_systems.components.component.html +++ b/docs/latest/api/evennia.contrib.base_systems.components.component.html @@ -246,6 +246,21 @@ To persist the value, the key must correspond to a DBField.

    +
    +
    +property pk
    +

    Shortcut property returning the host’s primary key.

    +
    +
    Returns
    +

    int – The Host’s primary key.

    +
    +
    +

    Notes

    +

    This is requried to allow AttributeProperties to correctly update _SaverMutable data +(like lists) in-place (since the DBField sits on the Component which doesn’t itself +have a primary key, this save operation would otherwise fail).

    +
    +
    property nattributes
    diff --git a/docs/latest/api/evennia.contrib.base_systems.email_login.email_login.html b/docs/latest/api/evennia.contrib.base_systems.email_login.email_login.html index 524feb0640..85ac494226 100644 --- a/docs/latest/api/evennia.contrib.base_systems.email_login.email_login.html +++ b/docs/latest/api/evennia.contrib.base_systems.email_login.email_login.html @@ -153,7 +153,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.

    -aliases = ['co', 'conn', 'con']
    +aliases = ['con', 'conn', 'co']
    @@ -183,7 +183,7 @@ there is no object yet before the account has logged in)

    -search_index_entry = {'aliases': 'co conn con', 'category': 'general', 'key': 'connect', 'no_prefix': ' co conn con', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}
    +search_index_entry = {'aliases': 'con conn co', 'category': 'general', 'key': 'connect', 'no_prefix': ' con conn co', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}
    @@ -311,7 +311,7 @@ All it does is display the connect screen.

    -aliases = ['look', 'l']
    +aliases = ['l', 'look']
    @@ -337,7 +337,7 @@ All it does is display the connect screen.

    -search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' look l', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}
    +search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}
    @@ -355,7 +355,7 @@ for simplicity. It shows a pane of info.

    -aliases = ['h', '?']
    +aliases = ['?', 'h']
    @@ -381,7 +381,7 @@ for simplicity. It shows a pane of info.

    -search_index_entry = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
    +search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
    diff --git a/docs/latest/api/evennia.contrib.base_systems.ingame_python.commands.html b/docs/latest/api/evennia.contrib.base_systems.ingame_python.commands.html index e75581b399..111f869f23 100644 --- a/docs/latest/api/evennia.contrib.base_systems.ingame_python.commands.html +++ b/docs/latest/api/evennia.contrib.base_systems.ingame_python.commands.html @@ -130,7 +130,7 @@
    -aliases = ['@callbacks', '@callback', '@calls']
    +aliases = ['@callbacks', '@calls', '@callback']
    @@ -211,7 +211,7 @@ on user permission.

    -search_index_entry = {'aliases': '@callbacks @callback @calls', 'category': 'building', 'key': '@call', 'no_prefix': 'call callbacks callback calls', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
    +search_index_entry = {'aliases': '@callbacks @calls @callback', 'category': 'building', 'key': '@call', 'no_prefix': 'call callbacks calls callback', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
    diff --git a/docs/latest/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html b/docs/latest/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html index 0b54e83fe8..ca9f71eb11 100644 --- a/docs/latest/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html +++ b/docs/latest/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html @@ -231,7 +231,7 @@ for that channel.

    -aliases = ['delaliaschan', 'delchanalias']
    +aliases = ['delchanalias', 'delaliaschan']
    @@ -262,7 +262,7 @@ for that channel.

    -search_index_entry = {'aliases': 'delaliaschan delchanalias', 'category': 'comms', 'key': 'delcom', 'no_prefix': ' delaliaschan delchanalias', 'tags': '', 'text': "\n remove a channel alias and/or unsubscribe from channel\n\n Usage:\n delcom <alias or channel>\n delcom/all <channel>\n\n If the full channel name is given, unsubscribe from the\n channel. If an alias is given, remove the alias but don't\n unsubscribe. If the 'all' switch is used, remove all aliases\n for that channel.\n "}
    +search_index_entry = {'aliases': 'delchanalias delaliaschan', 'category': 'comms', 'key': 'delcom', 'no_prefix': ' delchanalias delaliaschan', 'tags': '', 'text': "\n remove a channel alias and/or unsubscribe from channel\n\n Usage:\n delcom <alias or channel>\n delcom/all <channel>\n\n If the full channel name is given, unsubscribe from the\n channel. If an alias is given, remove the alias but don't\n unsubscribe. If the 'all' switch is used, remove all aliases\n for that channel.\n "}
    diff --git a/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html b/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html index 4ff2dd40b7..b544a77c86 100644 --- a/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html +++ b/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html @@ -225,7 +225,7 @@ the operation will be general or on the room.

    -aliases = ['chicken out', 'quit', 'abort', 'q']
    +aliases = ['quit', 'abort', 'q', 'chicken out']
    @@ -249,7 +249,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'chicken out quit abort q', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' chicken out quit abort q', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}
    +search_index_entry = {'aliases': 'quit abort q chicken out', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' quit abort q chicken out', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}
    @@ -270,7 +270,7 @@ set in self.parse())

    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -304,7 +304,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'l ls', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}
    @@ -442,7 +442,7 @@ emote /me points to /box and /lever.

    -aliases = [':', 'pose']
    +aliases = ['pose', ':']
    @@ -481,7 +481,7 @@ set in self.parse())

    -search_index_entry = {'aliases': ': pose', 'category': 'general', 'key': 'emote', 'no_prefix': ' : pose', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}
    +search_index_entry = {'aliases': 'pose :', 'category': 'general', 'key': 'emote', 'no_prefix': ' pose :', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}
    @@ -504,7 +504,7 @@ looks and what actions is available.

    -aliases = ['unfocus', 'examine', 'e', 'ex']
    +aliases = ['e', 'unfocus', 'examine', 'ex']
    @@ -533,7 +533,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'unfocus examine e ex', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' unfocus examine e ex', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}
    +search_index_entry = {'aliases': 'e unfocus examine ex', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' e unfocus examine ex', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}
    @@ -595,7 +595,7 @@ set in self.parse())

    -aliases = ['i', 'inventory', 'give', 'inv']
    +aliases = ['give', 'i', 'inventory', 'inv']
    @@ -619,7 +619,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'i inventory give inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' i inventory give inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}
    +search_index_entry = {'aliases': 'give i inventory inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' give i inventory inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}
    @@ -640,7 +640,7 @@ set in self.parse())

    -aliases = ['@open', '@dig']
    +aliases = ['@dig', '@open']
    @@ -663,7 +663,7 @@ to all the variables defined therein.

    -search_index_entry = {'aliases': '@open @dig', 'category': 'general', 'key': 'open', 'no_prefix': ' open dig', 'tags': '', 'text': '\n Interact with an object in focus.\n\n Usage:\n <action> [arg]\n\n '}
    +search_index_entry = {'aliases': '@dig @open', 'category': 'general', 'key': 'open', 'no_prefix': ' dig open', 'tags': '', 'text': '\n Interact with an object in focus.\n\n Usage:\n <action> [arg]\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.grid.extended_room.extended_room.html b/docs/latest/api/evennia.contrib.grid.extended_room.extended_room.html index 5900224179..c723345f26 100644 --- a/docs/latest/api/evennia.contrib.grid.extended_room.extended_room.html +++ b/docs/latest/api/evennia.contrib.grid.extended_room.extended_room.html @@ -657,7 +657,7 @@ look *<account&g
    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -677,7 +677,7 @@ look *<account&g
    -search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}
    diff --git a/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html b/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html index fd3910210f..f6516a49a8 100644 --- a/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html +++ b/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html @@ -436,7 +436,7 @@ there is no room above/below you, your movement will fail.

    -aliases = ['fly', 'dive']
    +aliases = ['dive', 'fly']
    @@ -459,7 +459,7 @@ to all the variables defined therein.

    -search_index_entry = {'aliases': 'fly dive', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' fly dive', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}
    +search_index_entry = {'aliases': 'dive fly', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' dive fly', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html b/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html index c634d4dadb..97a20164de 100644 --- a/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html +++ b/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html @@ -736,7 +736,7 @@ commands the caller can use.

    -aliases = ["'", '"']
    +aliases = ['"', "'"]
    @@ -767,7 +767,7 @@ commands the caller can use.

    -search_index_entry = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    +search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    @@ -908,7 +908,7 @@ Using the command without arguments will list all current recogs.

    -aliases = ['forget', 'recognize']
    +aliases = ['recognize', 'forget']
    @@ -935,7 +935,7 @@ Using the command without arguments will list all current recogs.

    -search_index_entry = {'aliases': 'forget recognize', 'category': 'general', 'key': 'recog', 'no_prefix': ' forget recognize', 'tags': '', 'text': '\n Recognize another person in the same room.\n\n Usage:\n recog\n recog sdesc as alias\n forget alias\n\n Example:\n recog tall man as Griatch\n forget griatch\n\n This will assign a personal alias for a person, or forget said alias.\n Using the command without arguments will list all current recogs.\n\n '}
    +search_index_entry = {'aliases': 'recognize forget', 'category': 'general', 'key': 'recog', 'no_prefix': ' recognize forget', 'tags': '', 'text': '\n Recognize another person in the same room.\n\n Usage:\n recog\n recog sdesc as alias\n forget alias\n\n Example:\n recog tall man as Griatch\n forget griatch\n\n This will assign a personal alias for a person, or forget said alias.\n Using the command without arguments will list all current recogs.\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_turnbased.html b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_turnbased.html index 269a797481..5749a8d5e1 100644 --- a/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_turnbased.html +++ b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_turnbased.html @@ -480,7 +480,7 @@ turn of combat, performing everyone’s actions in random order.

    -aliases = ['hit', 'turnbased combat']
    +aliases = ['turnbased combat', 'hit']
    @@ -526,7 +526,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'hit turnbased combat', 'category': 'general', 'key': 'attack', 'no_prefix': ' hit turnbased combat', 'tags': '', 'text': '\n Start or join combat.\n\n Usage:\n attack [<target>]\n\n '}
    +search_index_entry = {'aliases': 'turnbased combat hit', 'category': 'general', 'key': 'attack', 'no_prefix': ' turnbased combat hit', 'tags': '', 'text': '\n Start or join combat.\n\n Usage:\n attack [<target>]\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html index 439688cc0f..2d9f9a7a5d 100644 --- a/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html +++ b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html @@ -395,7 +395,7 @@ look *<account&g
    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -415,7 +415,7 @@ look *<account&g
    -search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}
    @@ -491,7 +491,7 @@ boost INT Wizard Goblin

    -aliases = ['foil', 'boost']
    +aliases = ['boost', 'foil']
    @@ -525,7 +525,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'foil boost', 'category': 'combat', 'key': 'stunt', 'no_prefix': ' foil boost', 'tags': '', 'text': '\n Perform a combat stunt, that boosts an ally against a target, or\n foils an enemy, giving them disadvantage against an ally.\n\n Usage:\n boost [ability] <recipient> <target>\n foil [ability] <recipient> <target>\n boost [ability] <target> (same as boost me <target>)\n foil [ability] <target> (same as foil <target> me)\n\n Example:\n boost STR me Goblin\n boost DEX Goblin\n foil STR Goblin me\n foil INT Goblin\n boost INT Wizard Goblin\n\n '}
    +search_index_entry = {'aliases': 'boost foil', 'category': 'combat', 'key': 'stunt', 'no_prefix': ' boost foil', 'tags': '', 'text': '\n Perform a combat stunt, that boosts an ally against a target, or\n foils an enemy, giving them disadvantage against an ally.\n\n Usage:\n boost [ability] <recipient> <target>\n foil [ability] <recipient> <target>\n boost [ability] <target> (same as boost me <target>)\n foil [ability] <target> (same as foil <target> me)\n\n Example:\n boost STR me Goblin\n boost DEX Goblin\n foil STR Goblin me\n foil INT Goblin\n boost INT Wizard Goblin\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.red_button.red_button.html b/docs/latest/api/evennia.contrib.tutorials.red_button.red_button.html index 4ae12e509b..567e2c303f 100644 --- a/docs/latest/api/evennia.contrib.tutorials.red_button.red_button.html +++ b/docs/latest/api/evennia.contrib.tutorials.red_button.red_button.html @@ -167,7 +167,7 @@ such as when closing the lid and un-blinding a character.

    -aliases = ['push', 'press', 'press button']
    +aliases = ['press', 'press button', 'push']
    @@ -196,7 +196,7 @@ check if the lid is open or closed.

    -search_index_entry = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
    +search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
    @@ -266,7 +266,7 @@ check if the lid is open or closed.

    -aliases = ['smash', 'smash lid', 'break lid']
    +aliases = ['break lid', 'smash lid', 'smash']
    @@ -293,7 +293,7 @@ break.

    -search_index_entry = {'aliases': 'smash smash lid break lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' smash smash lid break lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}
    +search_index_entry = {'aliases': 'break lid smash lid smash', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash lid smash', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}
    @@ -393,7 +393,7 @@ be mutually exclusive.

    -aliases = ['push', 'press', 'press button']
    +aliases = ['press', 'press button', 'push']
    @@ -422,7 +422,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
    +search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
    @@ -520,7 +520,7 @@ be mutually exclusive.

    -aliases = ['l', 'feel', 'get', 'listen', 'examine', 'ex']
    +aliases = ['feel', 'get', 'listen', 'ex', 'l', 'examine']
    @@ -546,7 +546,7 @@ be mutually exclusive.

    -search_index_entry = {'aliases': 'l feel get listen examine ex', 'category': 'general', 'key': 'look', 'no_prefix': ' l feel get listen examine ex', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}
    +search_index_entry = {'aliases': 'feel get listen ex l examine', 'category': 'general', 'key': 'look', 'no_prefix': ' feel get listen ex l examine', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html index 5e995c5b11..56d7e0b21c 100644 --- a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html +++ b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html @@ -439,7 +439,7 @@ of the object. We overload it with our own version.

    -aliases = ['burn', 'light']
    +aliases = ['light', 'burn']
    @@ -466,7 +466,7 @@ to sit on a “lightable” object, we operate only on self.obj.

    -search_index_entry = {'aliases': 'burn light', 'category': 'tutorialworld', 'key': 'on', 'no_prefix': ' burn light', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}
    +search_index_entry = {'aliases': 'light burn', 'category': 'tutorialworld', 'key': 'on', 'no_prefix': ' light burn', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}
    @@ -570,7 +570,7 @@ shift green root up/down

    -aliases = ['push', 'pull', 'move', 'shiftroot']
    +aliases = ['move', 'shiftroot', 'pull', 'push']
    @@ -606,7 +606,7 @@ yellow/green - horizontal roots

    -search_index_entry = {'aliases': 'push pull move shiftroot', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' push pull move shiftroot', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}
    +search_index_entry = {'aliases': 'move shiftroot pull push', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' move shiftroot pull push', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}
    @@ -623,7 +623,7 @@ yellow/green - horizontal roots

    -aliases = ['button', 'push button', 'press button']
    +aliases = ['button', 'press button', 'push button']
    @@ -649,7 +649,7 @@ yellow/green - horizontal roots

    -search_index_entry = {'aliases': 'button push button press button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' button push button press button', 'tags': '', 'text': '\n Presses a button.\n '}
    +search_index_entry = {'aliases': 'button press button push button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' button press button push button', 'tags': '', 'text': '\n Presses a button.\n '}
    @@ -793,7 +793,7 @@ parry - forgoes your attack but will make you harder to hit on next

    -aliases = ['pierce', 'stab', 'slash', 'defend', 'chop', 'thrust', 'bash', 'fight', 'kill', 'hit', 'parry']
    +aliases = ['stab', 'slash', 'chop', 'hit', 'thrust', 'parry', 'pierce', 'fight', 'defend', 'bash', 'kill']
    @@ -819,7 +819,7 @@ parry - forgoes your attack but will make you harder to hit on next

    -search_index_entry = {'aliases': 'pierce stab slash defend chop thrust bash fight kill hit parry', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' pierce stab slash defend chop thrust bash fight kill hit parry', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}
    +search_index_entry = {'aliases': 'stab slash chop hit thrust parry pierce fight defend bash kill', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' stab slash chop hit thrust parry pierce fight defend bash kill', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html index 29de31031c..4c2e492bf3 100644 --- a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html +++ b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html @@ -262,7 +262,7 @@ code except for adding in the details.

    -aliases = ['l', 'ls']
    +aliases = ['ls', 'l']
    @@ -277,7 +277,7 @@ code except for adding in the details.

    -search_index_entry = {'aliases': 'l ls', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}
    +search_index_entry = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}
    @@ -830,7 +830,7 @@ if they fall off the bridge.

    -aliases = ['h', '?']
    +aliases = ['?', 'h']
    @@ -856,7 +856,7 @@ if they fall off the bridge.

    -search_index_entry = {'aliases': 'h ?', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}
    +search_index_entry = {'aliases': '? h', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}
    @@ -982,7 +982,7 @@ to find something.

    -aliases = ['fiddle', 'feel around', 'l', 'feel', 'search']
    +aliases = ['search', 'feel around', 'feel', 'fiddle', 'l']
    @@ -1010,7 +1010,7 @@ random chance of eventually finding a light source.

    -search_index_entry = {'aliases': 'fiddle feel around l feel search', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' fiddle feel around l feel search', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}
    +search_index_entry = {'aliases': 'search feel around feel fiddle l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' search feel around feel fiddle l', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}
    diff --git a/docs/latest/api/evennia.contrib.utils.git_integration.git_integration.html b/docs/latest/api/evennia.contrib.utils.git_integration.git_integration.html index a8c3442937..bc76ba21e5 100644 --- a/docs/latest/api/evennia.contrib.utils.git_integration.git_integration.html +++ b/docs/latest/api/evennia.contrib.utils.git_integration.git_integration.html @@ -222,7 +222,7 @@ git evennia pull - Pull the latest evennia code.

    -directory = '/tmp/tmp6biotdos/c8d75665d271e79f21ad9998a788c81cfea357c8/evennia'
    +directory = '/tmp/tmpbbe4tgz2/e3ddbf08cf1558fe9a354fa647dd4dfc240bc929/evennia'
    @@ -283,7 +283,7 @@ git pull - Pull the latest code from your current branch.

    -directory = '/tmp/tmp6biotdos/c8d75665d271e79f21ad9998a788c81cfea357c8/evennia/game_template'
    +directory = '/tmp/tmpbbe4tgz2/e3ddbf08cf1558fe9a354fa647dd4dfc240bc929/evennia/game_template'
    diff --git a/docs/latest/api/evennia.typeclasses.attributes.html b/docs/latest/api/evennia.typeclasses.attributes.html index 21dec0d7bd..96f6aa91d2 100644 --- a/docs/latest/api/evennia.typeclasses.attributes.html +++ b/docs/latest/api/evennia.typeclasses.attributes.html @@ -263,6 +263,11 @@ of a .pk field as a sign that the Attribute was deleted.

    attrhandler_name = 'attributes'
    +
    +
    +cached_default_name_template = '_property_attribute_default_{key}'
    +
    +
    __init__(default=None, category=None, strattr=False, lockstring='', autocreate=True)[source]
    diff --git a/docs/latest/api/evennia.utils.eveditor.html b/docs/latest/api/evennia.utils.eveditor.html index 7dff9bc88d..675be2e761 100644 --- a/docs/latest/api/evennia.utils.eveditor.html +++ b/docs/latest/api/evennia.utils.eveditor.html @@ -356,7 +356,7 @@ indentation.

    -aliases = [':dd', ':f', ':s', ':wq', ':UU', ':!', ':p', ':i', ':fi', ':u', ':::', ':w', ':echo', ':y', ':<', ':I', ':x', ':dw', ':S', ':=', ':h', ':q!', '::', ':j', ':q', ':A', ':uu', ':>', ':fd', ':DD', ':r', ':']
    +aliases = [':UU', ':i', ':u', ':dd', '::', ':s', ':>', ':!', ':fi', ':r', ':S', ':I', ':q!', ':h', ':y', ':q', ':::', ':x', ':wq', ':A', ':uu', ':DD', ':<', ':p', ':f', ':j', ':fd', ':dw', ':=', ':', ':w', ':echo']
    @@ -384,7 +384,7 @@ efficient presentation.

    -search_index_entry = {'aliases': ':dd :f :s :wq :UU :! :p :i :fi :u ::: :w :echo :y :< :I :x :dw :S := :h :q! :: :j :q :A :uu :> :fd :DD :r :', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :dd :f :s :wq :UU :! :p :i :fi :u ::: :w :echo :y :< :I :x :dw :S := :h :q! :: :j :q :A :uu :> :fd :DD :r :', 'tags': '', 'text': '\n Commands for the editor\n '}
    +search_index_entry = {'aliases': ':UU :i :u :dd :: :s :> :! :fi :r :S :I :q! :h :y :q ::: :x :wq :A :uu :DD :< :p :f :j :fd :dw := : :w :echo', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :UU :i :u :dd :: :s :> :! :fi :r :S :I :q! :h :y :q ::: :x :wq :A :uu :DD :< :p :f :j :fd :dw := : :w :echo', 'tags': '', 'text': '\n Commands for the editor\n '}
    diff --git a/docs/latest/api/evennia.utils.evmenu.html b/docs/latest/api/evennia.utils.evmenu.html index d8084c5ff4..ff71a52ad5 100644 --- a/docs/latest/api/evennia.utils.evmenu.html +++ b/docs/latest/api/evennia.utils.evmenu.html @@ -953,7 +953,7 @@ single question.

    -aliases = ['yes', 'no', 'n', 'y', 'abort', 'a', '__nomatch_command']
    +aliases = ['__nomatch_command', 'yes', 'abort', 'n', 'no', 'y', 'a']
    @@ -979,7 +979,7 @@ single question.

    -search_index_entry = {'aliases': 'yes no n y abort a __nomatch_command', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' yes no n y abort a __nomatch_command', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
    +search_index_entry = {'aliases': '__nomatch_command yes abort n no y a', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' __nomatch_command yes abort n no y a', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
    diff --git a/docs/latest/api/evennia.utils.evmore.html b/docs/latest/api/evennia.utils.evmore.html index accd816d24..48f8d12831 100644 --- a/docs/latest/api/evennia.utils.evmore.html +++ b/docs/latest/api/evennia.utils.evmore.html @@ -151,7 +151,7 @@ the caller.msg() construct every time the page is updated.

    -aliases = ['top', 'end', 'e', 'abort', 'n', 'previous', 'p', 'quit', 'a', 'next', 't', 'q']
    +aliases = ['e', 'p', 'previous', 'next', 't', 'abort', 'end', 'n', 'quit', 'q', 'a', 'top']
    @@ -177,7 +177,7 @@ the caller.msg() construct every time the page is updated.

    -search_index_entry = {'aliases': 'top end e abort n previous p quit a next t q', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' top end e abort n previous p quit a next t q', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}
    +search_index_entry = {'aliases': 'e p previous next t abort end n quit q a top', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' e p previous next t abort end n quit q a top', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}
    diff --git a/docs/latest/genindex.html b/docs/latest/genindex.html index 8fdab77871..f8f1b136fa 100644 --- a/docs/latest/genindex.html +++ b/docs/latest/genindex.html @@ -3248,6 +3248,8 @@
  • cache_lock_bypass() (evennia.locks.lockhandler.LockHandler method)
  • cache_size() (in module evennia.utils.idmapper.models) +
  • +
  • cached_default_name_template (evennia.typeclasses.attributes.AttributeProperty attribute)
  • calculate_path_matrix() (evennia.contrib.grid.xyzgrid.xymap.XYMap method)
  • @@ -4074,11 +4076,11 @@
  • CmdObjectChannel (class in evennia.commands.default.comms)
  • CmdObjects (class in evennia.commands.default.building) -
  • -
  • CmdOffer (class in evennia.contrib.game_systems.barter.barter)