diff --git a/docs/latest/.buildinfo b/docs/latest/.buildinfo index 947071f06d..adc29b72a2 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: ad74add5e1463967509076a36991c915 +config: d86363986dda57bfdc43665963cc2938 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/latest/Components/Attributes.html b/docs/latest/Components/Attributes.html index 0e2d5db369..292eecf709 100644 --- a/docs/latest/Components/Attributes.html +++ b/docs/latest/Components/Attributes.html @@ -75,6 +75,7 @@
  • Locking and checking Attributes
  • +
  • Querying by Attribute
  • What types of data can I save in an Attribute?
  • Line 7: … We also want only Characters with Attributes whose db_key is exactly "lycantrophy"

  • -
  • Line 8 :… at the same time as the Attribute’s db_value is greater-than 2.

  • +
  • Line 8 :… at the same time as the Attribute’s db_value is exactly 2.

  • -

    Running this query makes our newly lycantrophic Character appear in will_transform so we -know to transform it. Success!

    +

    Running this query makes our newly lycantrophic Character appear in will_transform so we know to transform it. Success!

    +
    +

    Important

    +

    You can’t query for an Attribute db_value quite as freely as other data-types. This is because Attributes can store any Python entity and is actually stored as strings on the database side. So while you can use __eq=2 in the above example, you will not be able to __gt=2 or __lt=2 because these operations don’t make sense for strings. See Attributes for more information on dealing with Attributes.

    +

    12.3. Queries with OR or NOT

    @@ -355,7 +355,7 @@ of Daltons and non-prisoners.

    Q(db_location__db_tags__db_key__iexact="moonlit") & ( Q(db_attributes__db_key="lycantrophy", - db_attributes__db_value__gt=2) + db_attributes__db_value__eq=2) | Q(db_tags__db_key__iexact="recently_bitten") )) .distinct() @@ -366,7 +366,7 @@ of Daltons and non-prisoners.

    from django.db.models import Q
     
     q_moonlit = Q(db_location__db_tags__db_key__iexact="moonlit")
    -q_lycantropic = Q(db_attributes__db_key="lycantrophy", db_attributes__db_value__gt=2)
    +q_lycantropic = Q(db_attributes__db_key="lycantrophy", db_attributes__db_value__eq=2)
     q_recently_bitten = Q(db_tags__db_key__iexact="recently_bitten")
     
     will_transform = (
    @@ -465,9 +465,7 @@ objects that had a bigger inventory than they had tags (silly example, but …)?
     )
     
    -

    Here we used .annotate to create two in-query ‘variables’ num_objects and num_tags. We then -directly use these results in the filter. Using F() allows for also the right-hand-side of the filter -condition to be calculated on the fly, completely within the database.

    +

    Here we used .annotate to create two in-query ‘variables’ num_objects and num_tags. We then directly use these results in the filter. Using F() allows for also the right-hand-side of the filter condition to be calculated on the fly, completely within the database.

    12.6. Grouping and returning only certain properties

    diff --git a/docs/latest/_modules/evennia/contrib/base_systems/components/exceptions.html b/docs/latest/_modules/evennia/contrib/base_systems/components/exceptions.html new file mode 100644 index 0000000000..71a281db06 --- /dev/null +++ b/docs/latest/_modules/evennia/contrib/base_systems/components/exceptions.html @@ -0,0 +1,131 @@ + + + + + + + + evennia.contrib.base_systems.components.exceptions — Evennia latest documentation + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Source code for evennia.contrib.base_systems.components.exceptions

    +
    [docs]class InvalidComponentError(ValueError): + pass
    + + +
    [docs]class ComponentDoesNotExist(ValueError): + pass
    + + +
    [docs]class ComponentIsNotRegistered(ValueError): + pass
    +
    + +
    +
    +
    + +
    + + + + + + + \ No newline at end of file diff --git a/docs/latest/_modules/evennia/contrib/base_systems/components/listing.html b/docs/latest/_modules/evennia/contrib/base_systems/components/listing.html new file mode 100644 index 0000000000..924a9ba43a --- /dev/null +++ b/docs/latest/_modules/evennia/contrib/base_systems/components/listing.html @@ -0,0 +1,141 @@ + + + + + + + + evennia.contrib.base_systems.components.listing — Evennia latest documentation + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Source code for evennia.contrib.base_systems.components.listing

    +from evennia.contrib.base_systems.components import exceptions
    +
    +COMPONENT_LISTING = {}
    +
    +
    +
    [docs]def get_component_class(name): + """ + Retrieves a component from the listing using a name + Args: + name (str): The unique name of the component + """ + component_class = COMPONENT_LISTING.get(name) + if component_class is None: + message = ( + f"Component with name {name} has not been found. " + f"Make sure it has been imported before being used." + ) + raise exceptions.ComponentDoesNotExist(message) + + return component_class
    +
    + +
    +
    +
    + +
    + + + + + + + \ No newline at end of file diff --git a/docs/latest/_modules/index.html b/docs/latest/_modules/index.html index 982a37a54d..e57f6720f7 100644 --- a/docs/latest/_modules/index.html +++ b/docs/latest/_modules/index.html @@ -127,7 +127,9 @@
  • evennia.contrib.base_systems.color_markups.tests
  • evennia.contrib.base_systems.components.component
  • evennia.contrib.base_systems.components.dbfield
  • +
  • evennia.contrib.base_systems.components.exceptions
  • evennia.contrib.base_systems.components.holder
  • +
  • evennia.contrib.base_systems.components.listing
  • evennia.contrib.base_systems.components.signals
  • evennia.contrib.base_systems.components.tests
  • evennia.contrib.base_systems.custom_gametime.custom_gametime
  • diff --git a/docs/latest/_sources/Components/Attributes.md.txt b/docs/latest/_sources/Components/Attributes.md.txt index e971b18b4b..f6ce8ed700 100644 --- a/docs/latest/_sources/Components/Attributes.md.txt +++ b/docs/latest/_sources/Components/Attributes.md.txt @@ -294,6 +294,20 @@ A lock is no good if nothing checks it -- and by default Evennia does not check The same keywords are available to use with `obj.attributes.set()` and `obj.attributes.remove()`, those will check for the `attredit` lock type. +## Querying by Attribute + +While you can get attributes using the `obj.attributes.get` handler, you can also find objects based on the Attributes they have through the `db_attributes` many-to-many field available on each typeclassed entity: + +```python +# find objects by attribue assigned (regardless of value) +objs = evennia.ObjectDB.objects.filter(db_attributes__db_key="foo") +# find objects with attribute of particular value assigned to them +objs = evennia.ObjectDB.objects.filter(db_attributes__db_key="foo", db_attributes__db_value="bar") +``` + +```{important} +Internally, Attribute values are stored as _pickled strings_ (see next section). When querying, your search string is converted to the same format and matched in that form. While this means Attributes can store arbitrary Python structures, the drawback is that you cannot do more advanced database comparisons on them. For example doing `db_attributes__db__value__lt=4` or `__gt=0` will not work since less-than and greater-than doesn't do what you want between strings. +``` ## What types of data can I save in an Attribute? diff --git a/docs/latest/_sources/Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Django-queries.md.txt b/docs/latest/_sources/Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Django-queries.md.txt index 031ae73298..d13c631cc8 100644 --- a/docs/latest/_sources/Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Django-queries.md.txt +++ b/docs/latest/_sources/Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Django-queries.md.txt @@ -98,8 +98,7 @@ found. ## Queryset field lookups -Above we found roses with exactly the `db_key` `"rose"`. This is an _exact_ match that is _case sensitive_, -so it would not find `"Rose"`. +Above we found roses with exactly the `db_key` `"rose"`. This is an _exact_ match that is _case sensitive_, so it would not find `"Rose"`. ```python # this is case-sensitive and the same as = @@ -108,15 +107,13 @@ roses = Flower.objects.filter(db_key__exact="rose" # the i means it's case-insensitive roses = Flower.objects.filter(db_key__iexact="rose") ``` -The Django field query language uses `__` similarly to how Python uses `.` to access resources. This -is because `.` is not allowed in a function keyword. +The Django field query language uses `__` similarly to how Python uses `.` to access resources. This is because `.` is not allowed in a function keyword. ```python roses = Flower.objects.filter(db_key__icontains="rose") ``` -This will find all flowers whose name contains the string `"rose"`, like `"roses"`, `"wild rose"` etc. The `i` in the beginning makes the search case-insensitive. Other useful variations to use -are `__istartswith` and `__iendswith`. You can also use `__gt`, `__ge` for "greater-than"/"greater-or-equal-than" comparisons (same for `__lt` and `__le`). There is also `__in`: +This will find all flowers whose name contains the string `"rose"`, like `"roses"`, `"wild rose"` etc. The `i` in the beginning makes the search case-insensitive. Other useful variations to use are `__istartswith` and `__iendswith`. You can also use `__gt`, `__ge` for "greater-than"/"greater-or-equal-than" comparisons (same for `__lt` and `__le`). There is also `__in`: ```python swords = Weapons.objects.filter(db_key__in=("rapier", "two-hander", "shortsword")) @@ -178,7 +175,7 @@ will_transform = ( .filter( db_location__db_tags__db_key__iexact="moonlit", db_attributes__db_key="lycantrophy", - db_attributes__db_value__gt=2 + db_attributes__db_value__eq=2 ) ) ``` @@ -193,10 +190,13 @@ Don't confuse database fields with [Attributes](../../../Components/Attributes.m that we can treat like an object for this purpose; it references all Tags on the location) - ... and from those `Tags`, we looking for `Tags` whose `db_key` is "monlit" (non-case sensitive). - **Line 7**: ... We also want only Characters with `Attributes` whose `db_key` is exactly `"lycantrophy"` - - **Line 8** :... at the same time as the `Attribute`'s `db_value` is greater-than 2. + - **Line 8** :... at the same time as the `Attribute`'s `db_value` is exactly 2. -Running this query makes our newly lycantrophic Character appear in `will_transform` so we -know to transform it. Success! +Running this query makes our newly lycantrophic Character appear in `will_transform` so we know to transform it. Success! + +```{important} +You can't query for an Attribute `db_value` quite as freely as other data-types. This is because Attributes can store any Python entity and is actually stored as _strings_ on the database side. So while you can use `__eq=2` in the above example, you will not be able to `__gt=2` or `__lt=2` because these operations don't make sense for strings. See [Attributes](../../../Components/Attributes.md#querying-by-attribute) for more information on dealing with Attributes. +``` ## Queries with OR or NOT @@ -243,7 +243,7 @@ will_transform = ( Q(db_location__db_tags__db_key__iexact="moonlit") & ( Q(db_attributes__db_key="lycantrophy", - db_attributes__db_value__gt=2) + db_attributes__db_value__eq=2) | Q(db_tags__db_key__iexact="recently_bitten") )) .distinct() @@ -256,7 +256,7 @@ That's quite compact. It may be easier to see what's going on if written this wa from django.db.models import Q q_moonlit = Q(db_location__db_tags__db_key__iexact="moonlit") -q_lycantropic = Q(db_attributes__db_key="lycantrophy", db_attributes__db_value__gt=2) +q_lycantropic = Q(db_attributes__db_key="lycantrophy", db_attributes__db_value__eq=2) q_recently_bitten = Q(db_tags__db_key__iexact="recently_bitten") will_transform = ( @@ -362,9 +362,7 @@ result = ( ) ``` -Here we used `.annotate` to create two in-query 'variables' `num_objects` and `num_tags`. We then -directly use these results in the filter. Using `F()` allows for also the right-hand-side of the filter -condition to be calculated on the fly, completely within the database. +Here we used `.annotate` to create two in-query 'variables' `num_objects` and `num_tags`. We then directly use these results in the filter. Using `F()` allows for also the right-hand-side of the filter condition to be calculated on the fly, completely within the database. ## Grouping and returning only certain properties diff --git a/docs/latest/_sources/api/evennia.contrib.base_systems.components.exceptions.md.txt b/docs/latest/_sources/api/evennia.contrib.base_systems.components.exceptions.md.txt new file mode 100644 index 0000000000..e249723199 --- /dev/null +++ b/docs/latest/_sources/api/evennia.contrib.base_systems.components.exceptions.md.txt @@ -0,0 +1,10 @@ +```{eval-rst} +evennia.contrib.base\_systems.components.exceptions +========================================================== + +.. automodule:: evennia.contrib.base_systems.components.exceptions + :members: + :undoc-members: + :show-inheritance: + +``` \ No newline at end of file diff --git a/docs/latest/_sources/api/evennia.contrib.base_systems.components.listing.md.txt b/docs/latest/_sources/api/evennia.contrib.base_systems.components.listing.md.txt new file mode 100644 index 0000000000..1c7d77f5e9 --- /dev/null +++ b/docs/latest/_sources/api/evennia.contrib.base_systems.components.listing.md.txt @@ -0,0 +1,10 @@ +```{eval-rst} +evennia.contrib.base\_systems.components.listing +======================================================= + +.. automodule:: evennia.contrib.base_systems.components.listing + :members: + :undoc-members: + :show-inheritance: + +``` \ No newline at end of file diff --git a/docs/latest/_sources/api/evennia.contrib.base_systems.components.md.txt b/docs/latest/_sources/api/evennia.contrib.base_systems.components.md.txt index c72406ab4d..e647b78e37 100644 --- a/docs/latest/_sources/api/evennia.contrib.base_systems.components.md.txt +++ b/docs/latest/_sources/api/evennia.contrib.base_systems.components.md.txt @@ -14,7 +14,9 @@ evennia.contrib.base\_systems.components evennia.contrib.base_systems.components.component evennia.contrib.base_systems.components.dbfield + evennia.contrib.base_systems.components.exceptions evennia.contrib.base_systems.components.holder + evennia.contrib.base_systems.components.listing evennia.contrib.base_systems.components.signals evennia.contrib.base_systems.components.tests diff --git a/docs/latest/api/evennia-api.html b/docs/latest/api/evennia-api.html index d8942a3ea9..c7f1f4ca71 100644 --- a/docs/latest/api/evennia-api.html +++ b/docs/latest/api/evennia-api.html @@ -174,7 +174,9 @@
  • evennia.contrib.base_systems.components diff --git a/docs/latest/api/evennia.commands.default.account.html b/docs/latest/api/evennia.commands.default.account.html index e86f477900..375f6c988e 100644 --- a/docs/latest/api/evennia.commands.default.account.html +++ b/docs/latest/api/evennia.commands.default.account.html @@ -145,7 +145,7 @@ method. Otherwise all text will be returned to all connected sessions.

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

    -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 '}
    +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 '}
    diff --git a/docs/latest/api/evennia.commands.default.building.html b/docs/latest/api/evennia.commands.default.building.html index d909ffd0f8..b6f12e3222 100644 --- a/docs/latest/api/evennia.commands.default.building.html +++ b/docs/latest/api/evennia.commands.default.building.html @@ -1409,7 +1409,7 @@ server settings.

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

    -search_index_entry = {'aliases': '@type @update @parent @typeclasses @swap', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass type update parent typeclasses swap', '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 @typeclasses @parent @swap @update', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass type typeclasses parent swap 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 "}
    @@ -1595,7 +1595,7 @@ If object is not specified, the current location is examined.

    -aliases = ['@exam', '@ex']
    +aliases = ['@ex', '@exam']
    @@ -1868,7 +1868,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 '}
    @@ -1902,7 +1902,7 @@ one is given.

    -aliases = ['@locate', '@search']
    +aliases = ['@search', '@locate']
    @@ -1933,7 +1933,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.comms.html b/docs/latest/api/evennia.commands.default.comms.html index 39be8775a2..3a319d4365 100644 --- a/docs/latest/api/evennia.commands.default.comms.html +++ b/docs/latest/api/evennia.commands.default.comms.html @@ -268,7 +268,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.

    -aliases = ['@channels', '@chan']
    +aliases = ['@chan', '@channels']
    @@ -793,7 +793,7 @@ don’t actually sub to yet.

    -search_index_entry = {'aliases': '@channels @chan', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel channels chan', 'tags': '', 'text': "\n Use and manage in-game channels.\n\n Usage:\n channel channelname <msg>\n channel channel name = <msg>\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname <msg>\n channelalias <msg>\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n "}
    +search_index_entry = {'aliases': '@chan @channels', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel chan channels', 'tags': '', 'text': "\n Use and manage in-game channels.\n\n Usage:\n channel channelname <msg>\n channel channel name = <msg>\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname <msg>\n channelalias <msg>\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n "}
    @@ -946,7 +946,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.

    -aliases = ['@channels', '@chan']
    +aliases = ['@chan', '@channels']
    @@ -966,7 +966,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.

    -search_index_entry = {'aliases': '@channels @chan', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel channels chan', 'tags': '', 'text': "\n Use and manage in-game channels.\n\n Usage:\n channel channelname <msg>\n channel channel name = <msg>\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname <msg>\n channelalias <msg>\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n "}
    +search_index_entry = {'aliases': '@chan @channels', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel chan channels', 'tags': '', 'text': "\n Use and manage in-game channels.\n\n Usage:\n channel channelname <msg>\n channel channel name = <msg>\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname <msg>\n channelalias <msg>\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n "}
    diff --git a/docs/latest/api/evennia.commands.default.general.html b/docs/latest/api/evennia.commands.default.general.html index 1d88ea72bd..aad4b6ebef 100644 --- a/docs/latest/api/evennia.commands.default.general.html +++ b/docs/latest/api/evennia.commands.default.general.html @@ -187,7 +187,7 @@ look *<account&g
    -aliases = ['ls', 'l']
    +aliases = ['l', 'ls']
    @@ -218,7 +218,7 @@ look *<account&g
    -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 '}
    +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 '}
    @@ -280,7 +280,7 @@ for everyone to use, you need build privileges and the alias command.

    -aliases = ['nickname', 'nicks']
    +aliases = ['nicks', 'nickname']
    @@ -312,7 +312,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 '}
    @@ -335,7 +335,7 @@ inv

    -aliases = ['inv', 'i']
    +aliases = ['i', 'inv']
    @@ -366,7 +366,7 @@ inv

    -search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}
    +search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}
    @@ -610,7 +610,7 @@ placing it in their inventory.

    -aliases = ['"', "'"]
    +aliases = ["'", '"']
    @@ -641,7 +641,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 '}
    @@ -785,7 +785,7 @@ which permission groups you are a member of.

    -aliases = ['groups', 'hierarchy']
    +aliases = ['hierarchy', 'groups']
    @@ -816,7 +816,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 3da57e3e28..537be7e371 100644 --- a/docs/latest/api/evennia.commands.default.system.html +++ b/docs/latest/api/evennia.commands.default.system.html @@ -695,7 +695,7 @@ See |luhttps://ww
    -aliases = ['@delays', '@task']
    +aliases = ['@task', '@delays']
    @@ -741,7 +741,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 4118618095..e1cae259ad 100644 --- a/docs/latest/api/evennia.commands.default.tests.html +++ b/docs/latest/api/evennia.commands.default.tests.html @@ -973,7 +973,7 @@ main test suite started with

    Test the batch processor.

    -red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmp81ebksfu/43e31abc8d0dbec01859d03515954750c0b75ab9/evennia/contrib/tutorials/red_button/red_button.py'>
    +red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmp1ryqv2xi/577f66c3ec9d2375c9baae15298cae8b3ff10dcb/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 9399dc9bce..e9aad87490 100644 --- a/docs/latest/api/evennia.commands.default.unloggedin.html +++ b/docs/latest/api/evennia.commands.default.unloggedin.html @@ -134,7 +134,7 @@ connect “account name” “pass word”

    -aliases = ['co', 'conn', 'con']
    +aliases = ['conn', 'co', 'con']
    @@ -169,7 +169,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': 'conn co con', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn co 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 '}
    @@ -254,7 +254,7 @@ version is a bit more complicated.

    -aliases = ['q', 'qu']
    +aliases = ['qu', 'q']
    @@ -280,7 +280,7 @@ version is a bit more complicated.

    -search_index_entry = {'aliases': 'q qu', 'category': 'general', 'key': 'quit', 'no_prefix': ' q qu', 'tags': '', 'text': '\n quit when in unlogged-in state\n\n Usage:\n quit\n\n We maintain a different version of the quit command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}
    +search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' qu q', 'tags': '', 'text': '\n quit when in unlogged-in state\n\n Usage:\n quit\n\n We maintain a different version of the quit command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}
    @@ -304,7 +304,7 @@ All it does is display the connect screen.

    -aliases = ['look', 'l']
    +aliases = ['l', 'look']
    @@ -330,7 +330,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 '}
    diff --git a/docs/latest/api/evennia.contrib.base_systems.components.dbfield.html b/docs/latest/api/evennia.contrib.base_systems.components.dbfield.html index 1d792106f4..a078250657 100644 --- a/docs/latest/api/evennia.contrib.base_systems.components.dbfield.html +++ b/docs/latest/api/evennia.contrib.base_systems.components.dbfield.html @@ -17,7 +17,7 @@ - + @@ -34,7 +34,7 @@ modules |
  • - next |
  • evennia.contrib.base_systems.components.component

    Next topic

    -

    evennia.contrib.base_systems.components.holder

    +

    evennia.contrib.base_systems.components.exceptions

    Previous topic

    -

    evennia.contrib.base_systems.components.dbfield

    +

    evennia.contrib.base_systems.components.exceptions

    Next topic

    -

    evennia.contrib.base_systems.components.signals

    +

    evennia.contrib.base_systems.components.listing

    Previous topic

    -

    evennia.contrib.base_systems.components.holder

    +

    evennia.contrib.base_systems.components.listing

    Next topic

    evennia.contrib.base_systems.components.tests

    @@ -300,7 +300,7 @@ It will be passed to aggregate_func if it is also given.

  • next |
  • - previous |
  • 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 43f120e133..773832956d 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 @@ -151,7 +151,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.

    -aliases = ['co', 'conn', 'con']
    +aliases = ['conn', 'co', 'con']
    @@ -181,7 +181,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': 'conn co con', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn co 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 '}
    @@ -264,7 +264,7 @@ version is a bit more complicated.

    -aliases = ['q', 'qu']
    +aliases = ['qu', 'q']
    @@ -290,7 +290,7 @@ version is a bit more complicated.

    -search_index_entry = {'aliases': 'q qu', 'category': 'general', 'key': 'quit', 'no_prefix': ' q qu', 'tags': '', 'text': '\n We maintain a different version of the `quit` command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}
    +search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' qu q', 'tags': '', 'text': '\n We maintain a different version of the `quit` command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}
    @@ -309,7 +309,7 @@ All it does is display the connect screen.

    -aliases = ['look', 'l']
    +aliases = ['l', 'look']
    @@ -335,7 +335,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 '}
    diff --git a/docs/latest/api/evennia.contrib.base_systems.html b/docs/latest/api/evennia.contrib.base_systems.html index 3761ea4906..8bfb0fdec6 100644 --- a/docs/latest/api/evennia.contrib.base_systems.html +++ b/docs/latest/api/evennia.contrib.base_systems.html @@ -133,7 +133,9 @@
  • evennia.contrib.base_systems.components 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 00d018afee..8f20c35672 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 @@ -229,7 +229,7 @@ for that channel.

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

    -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 "}
    +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 "}
    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 44c77b88c1..0c8c3b8a1c 100644 --- a/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html +++ b/docs/latest/api/evennia.contrib.full_systems.evscaperoom.commands.html @@ -223,7 +223,7 @@ the operation will be general or on the room.

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

    -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 '}
    +search_index_entry = {'aliases': 'q quit chicken out abort', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' q quit chicken out abort', '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 '}
    @@ -268,7 +268,7 @@ set in self.parse())

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

    -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 '}
    +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 '}
    @@ -383,7 +383,7 @@ shout

    -aliases = ['shout', 'whisper', ';']
    +aliases = [';', 'shout', 'whisper']
    @@ -412,7 +412,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'shout whisper ;', 'category': 'general', 'key': 'say', 'no_prefix': ' shout whisper ;', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}
    +search_index_entry = {'aliases': '; shout whisper', 'category': 'general', 'key': 'say', 'no_prefix': ' ; shout whisper', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}
    @@ -502,7 +502,7 @@ looks and what actions is available.

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

    -search_index_entry = {'aliases': 'examine unfocus e ex', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' examine unfocus 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 ex examine unfocus', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' e ex examine unfocus', '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 '}
    @@ -593,7 +593,7 @@ set in self.parse())

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

    -search_index_entry = {'aliases': 'give inv inventory i', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' give inv inventory i', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}
    +search_index_entry = {'aliases': 'i give inv inventory', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' i give inv inventory', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}
    diff --git a/docs/latest/api/evennia.contrib.game_systems.clothing.clothing.html b/docs/latest/api/evennia.contrib.game_systems.clothing.clothing.html index c9c64eb2a6..50be8b27ce 100644 --- a/docs/latest/api/evennia.contrib.game_systems.clothing.clothing.html +++ b/docs/latest/api/evennia.contrib.game_systems.clothing.clothing.html @@ -634,7 +634,7 @@ inv

    -aliases = ['inv', 'i']
    +aliases = ['i', 'inv']
    @@ -665,7 +665,7 @@ inv

    -search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}
    +search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\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 a404069937..61200a8f31 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 @@ -655,7 +655,7 @@ look *<account&g
    -aliases = ['ls', 'l']
    +aliases = ['l', 'ls']
    @@ -675,7 +675,7 @@ look *<account&g
    -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 '}
    +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 '}
    diff --git a/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html b/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html index b3553eddc2..5be1099b5b 100644 --- a/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html +++ b/docs/latest/api/evennia.contrib.grid.xyzgrid.commands.html @@ -434,7 +434,7 @@ there is no room above/below you, your movement will fail.

    -aliases = ['fly', 'dive']
    +aliases = ['dive', 'fly']
    @@ -457,7 +457,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.html b/docs/latest/api/evennia.contrib.html index a681a52788..c14a332676 100644 --- a/docs/latest/api/evennia.contrib.html +++ b/docs/latest/api/evennia.contrib.html @@ -136,7 +136,9 @@ useful but are deemed too game-specific to go into the core library.

  • evennia.contrib.base_systems.components diff --git a/docs/latest/api/evennia.contrib.rpg.dice.dice.html b/docs/latest/api/evennia.contrib.rpg.dice.dice.html index d8ecccdc59..416482f5c4 100644 --- a/docs/latest/api/evennia.contrib.rpg.dice.dice.html +++ b/docs/latest/api/evennia.contrib.rpg.dice.dice.html @@ -338,7 +338,7 @@ everyone but the person rolling.

    -aliases = ['@dice', 'roll']
    +aliases = ['roll', '@dice']
    @@ -364,7 +364,7 @@ everyone but the person rolling.

    -search_index_entry = {'aliases': '@dice roll', 'category': 'general', 'key': 'dice', 'no_prefix': ' dice roll', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}
    +search_index_entry = {'aliases': 'roll @dice', 'category': 'general', 'key': 'dice', 'no_prefix': ' roll dice', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}
    diff --git a/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html b/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html index 83f6841e7e..2adee8e578 100644 --- a/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html +++ b/docs/latest/api/evennia.contrib.rpg.rpsystem.rpsystem.html @@ -734,7 +734,7 @@ commands the caller can use.

    -aliases = ['"', "'"]
    +aliases = ["'", '"']
    @@ -765,7 +765,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 '}
    @@ -906,7 +906,7 @@ Using the command without arguments will list all current recogs.

    -aliases = ['forget', 'recognize']
    +aliases = ['recognize', 'forget']
    @@ -933,7 +933,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_twitch.html b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html index f0f47a605e..6108751a9d 100644 --- a/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html +++ b/docs/latest/api/evennia.contrib.tutorials.evadventure.combat_twitch.html @@ -393,7 +393,7 @@ look *<account&g
    -aliases = ['ls', 'l']
    +aliases = ['l', 'ls']
    @@ -413,7 +413,7 @@ look *<account&g
    -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 '}
    +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 '}
    diff --git a/docs/latest/api/evennia.contrib.tutorials.evadventure.commands.html b/docs/latest/api/evennia.contrib.tutorials.evadventure.commands.html index 23beacf5c5..d7d10e6f65 100644 --- a/docs/latest/api/evennia.contrib.tutorials.evadventure.commands.html +++ b/docs/latest/api/evennia.contrib.tutorials.evadventure.commands.html @@ -204,7 +204,7 @@ self.args).

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

    -search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n View your inventory\n\n Usage:\n inventory\n\n '}
    +search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n View your inventory\n\n Usage:\n inventory\n\n '}
    @@ -305,7 +305,7 @@ unwear <item>

    -aliases = ['unwield', 'unwear']
    +aliases = ['unwear', 'unwield']
    @@ -329,7 +329,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'unwield unwear', 'category': 'general', 'key': 'remove', 'no_prefix': ' unwield unwear', 'tags': '', 'text': '\n Remove a remove a weapon/shield, armor or helmet.\n\n Usage:\n remove <item>\n unwield <item>\n unwear <item>\n\n To remove an item from the backpack, use |wdrop|n instead.\n\n '}
    +search_index_entry = {'aliases': 'unwear unwield', 'category': 'general', 'key': 'remove', 'no_prefix': ' unwear unwield', 'tags': '', 'text': '\n Remove a remove a weapon/shield, armor or helmet.\n\n Usage:\n remove <item>\n unwield <item>\n unwear <item>\n\n To remove an item from the backpack, use |wdrop|n instead.\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 2f6502ea0b..4e4bf25c3d 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 @@ -165,7 +165,7 @@ such as when closing the lid and un-blinding a character.

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

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

    -aliases = ['smash', 'smash lid', 'break lid']
    +aliases = ['break lid', 'smash', 'smash lid']
    @@ -291,7 +291,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 smash lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash smash 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 '}
    @@ -391,7 +391,7 @@ be mutually exclusive.

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

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

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

    -search_index_entry = {'aliases': 'feel get l examine ex listen', 'category': 'general', 'key': 'look', 'no_prefix': ' feel get l examine ex listen', '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': 'examine feel ex get l listen', 'category': 'general', 'key': 'look', 'no_prefix': ' examine feel ex get l listen', '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 abcd2480c3..69a24fe262 100644 --- a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html +++ b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.objects.html @@ -437,7 +437,7 @@ of the object. We overload it with our own version.

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

    -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 '}
    +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 '}
    @@ -568,7 +568,7 @@ shift green root up/down

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

    -search_index_entry = {'aliases': 'shiftroot move pull push', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' shiftroot move 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 '}
    +search_index_entry = {'aliases': 'push shiftroot move pull', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' push shiftroot move pull', '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 '}
    @@ -791,7 +791,7 @@ parry - forgoes your attack but will make you harder to hit on next

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

    -search_index_entry = {'aliases': 'fight stab slash parry kill bash chop pierce thrust hit defend', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' fight stab slash parry kill bash chop pierce thrust hit defend', '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': 'fight hit pierce kill stab thrust bash defend slash chop parry', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' fight hit pierce kill stab thrust bash defend slash chop 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 '}
    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 9ba9931640..57e4d59584 100644 --- a/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html +++ b/docs/latest/api/evennia.contrib.tutorials.tutorial_world.rooms.html @@ -260,7 +260,7 @@ code except for adding in the details.

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

    -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 '}
    +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 '}
    @@ -980,7 +980,7 @@ to find something.

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

    -search_index_entry = {'aliases': 'search feel feel around l fiddle', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' search feel feel around l fiddle', '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': 'fiddle search feel feel around l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' fiddle search feel feel around 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 00a6d3b99d..4c1b1d41a4 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 @@ -220,7 +220,7 @@ git evennia pull - Pull the latest evennia code.

    -directory = '/tmp/tmp81ebksfu/43e31abc8d0dbec01859d03515954750c0b75ab9/evennia'
    +directory = '/tmp/tmp1ryqv2xi/577f66c3ec9d2375c9baae15298cae8b3ff10dcb/evennia'
    @@ -281,7 +281,7 @@ git pull - Pull the latest code from your current branch.

    -directory = '/tmp/tmp81ebksfu/43e31abc8d0dbec01859d03515954750c0b75ab9/evennia/game_template'
    +directory = '/tmp/tmp1ryqv2xi/577f66c3ec9d2375c9baae15298cae8b3ff10dcb/evennia/game_template'
    diff --git a/docs/latest/api/evennia.html b/docs/latest/api/evennia.html index d7774d9a7d..a5105a1838 100644 --- a/docs/latest/api/evennia.html +++ b/docs/latest/api/evennia.html @@ -286,7 +286,9 @@ with ‘q’, remove the break line and restart server when finished.

  • evennia.contrib.base_systems.components diff --git a/docs/latest/api/evennia.utils.eveditor.html b/docs/latest/api/evennia.utils.eveditor.html index e597038802..cc56a9fcf9 100644 --- a/docs/latest/api/evennia.utils.eveditor.html +++ b/docs/latest/api/evennia.utils.eveditor.html @@ -348,7 +348,7 @@ indentation.

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

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

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

    -search_index_entry = {'aliases': 'a yes n __nomatch_command y no abort', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' a yes n __nomatch_command y no abort', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
    +search_index_entry = {'aliases': 'yes n abort a y no __nomatch_command', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' yes n abort a y no __nomatch_command', '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 082e772cc7..40418cb42b 100644 --- a/docs/latest/api/evennia.utils.evmore.html +++ b/docs/latest/api/evennia.utils.evmore.html @@ -149,7 +149,7 @@ the caller.msg() construct every time the page is updated.

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

    -search_index_entry = {'aliases': 'a e quit n previous p t top q abort next end', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' a e quit n previous p t top q abort next end', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}
    +search_index_entry = {'aliases': 'n e end q abort a p top previous next quit t', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' n e end q abort a p top previous next quit t', '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 6facf556a7..4ebcabafaa 100644 --- a/docs/latest/genindex.html +++ b/docs/latest/genindex.html @@ -4061,10 +4061,10 @@
  • CmdObjectChannel (class in evennia.commands.default.comms)
  • - - + +
  • ComponentDoesNotExist +
  • ComponentHandler (class in evennia.contrib.base_systems.components.holder)
  • ComponentHolderMixin (class in evennia.contrib.base_systems.components.holder) +
  • +
  • ComponentIsNotRegistered
  • ComponentProperty (class in evennia.contrib.base_systems.components.holder)
  • @@ -6636,6 +6640,13 @@ +
  • + evennia.contrib.base_systems.components.exceptions + +
  • @@ -6643,6 +6654,13 @@
  • +
  • + evennia.contrib.base_systems.components.listing + +
  • @@ -7611,6 +7629,8 @@
  • module
  • + + - - +
  • get_component_class() (in module evennia.contrib.base_systems.components.listing) +
  • get_component_slot() (evennia.contrib.base_systems.components.component.Component class method)
  • get_components_with_symbol() (evennia.contrib.grid.xyzgrid.xymap.XYMap method) @@ -10776,6 +10796,8 @@
  • get_exits() (evennia.web.api.serializers.ObjectDBSerializer static method)
  • + + -