From d79d2e888e407155c04e851b7d921747c0cbcae9 Mon Sep 17 00:00:00 2001
From: Griatch
Date: Mon, 13 Dec 2021 19:05:55 +0100
Subject: [PATCH] Updated HTML docs
---
docs/0.9.5/.buildinfo | 2 +-
.../_modules/evennia/commands/command.html | 5 +-
.../evennia/commands/default/admin.html | 6 +-
.../evennia/commands/default/building.html | 698 +++++++++---------
.../evennia/commands/default/help.html | 18 +-
.../evennia/commands/default/tests.html | 20 +-
.../_modules/evennia/objects/objects.html | 4 +-
.../_modules/evennia/typeclasses/models.html | 7 +-
.../_modules/evennia/utils/dbserialize.html | 4 +
docs/0.9.5/_modules/evennia/utils/utils.html | 48 +-
.../api/evennia.commands.default.account.html | 14 +-
.../api/evennia.commands.default.admin.html | 6 +-
...evennia.commands.default.batchprocess.html | 4 +-
.../evennia.commands.default.building.html | 217 +++++-
.../api/evennia.commands.default.comms.html | 10 +-
.../api/evennia.commands.default.general.html | 18 +-
.../api/evennia.commands.default.help.html | 6 +-
.../api/evennia.commands.default.system.html | 20 +-
.../api/evennia.commands.default.tests.html | 11 +
.../evennia.commands.default.unloggedin.html | 18 +-
docs/0.9.5/api/evennia.contrib.barter.html | 12 +-
docs/0.9.5/api/evennia.contrib.chargen.html | 4 +-
docs/0.9.5/api/evennia.contrib.clothing.html | 2 +-
docs/0.9.5/api/evennia.contrib.dice.html | 2 +-
.../api/evennia.contrib.email_login.html | 16 +-
.../api/evennia.contrib.extended_room.html | 6 +-
docs/0.9.5/api/evennia.contrib.gendersub.html | 2 +-
...vennia.contrib.ingame_python.commands.html | 4 +-
docs/0.9.5/api/evennia.contrib.mail.html | 4 +-
.../api/evennia.contrib.multidescer.html | 2 +-
docs/0.9.5/api/evennia.contrib.puzzles.html | 4 +-
docs/0.9.5/api/evennia.contrib.rpsystem.html | 10 +-
.../0.9.5/api/evennia.contrib.simpledoor.html | 2 +-
.../evennia.contrib.turnbattle.tb_basic.html | 6 +-
.../evennia.contrib.turnbattle.tb_equip.html | 6 +-
.../evennia.contrib.turnbattle.tb_items.html | 6 +-
.../evennia.contrib.turnbattle.tb_magic.html | 6 +-
.../evennia.contrib.turnbattle.tb_range.html | 6 +-
....contrib.tutorial_examples.red_button.html | 24 +-
.../evennia.contrib.tutorial_world.mob.html | 2 +-
...vennia.contrib.tutorial_world.objects.html | 16 +-
.../evennia.contrib.tutorial_world.rooms.html | 20 +-
docs/0.9.5/api/evennia.objects.objects.html | 2 +-
.../0.9.5/api/evennia.typeclasses.models.html | 4 +-
docs/0.9.5/api/evennia.utils.eveditor.html | 8 +-
docs/0.9.5/api/evennia.utils.evmenu.html | 8 +-
docs/0.9.5/api/evennia.utils.evmore.html | 4 +-
docs/0.9.5/api/evennia.utils.utils.html | 33 +-
.../api/evennia.web.website.templatetags.html | 4 +-
docs/0.9.5/genindex.html | 85 ++-
docs/0.9.5/objects.inv | Bin 94789 -> 94972 bytes
docs/0.9.5/py-modindex.html | 5 -
docs/0.9.5/searchindex.js | 2 +-
docs/1.0-dev/.buildinfo | 2 +-
docs/1.0-dev/Setup/Online-Setup.html | 50 +-
.../_modules/evennia/commands/command.html | 5 +-
.../evennia/commands/default/admin.html | 6 +-
.../evennia/commands/default/building.html | 698 +++++++++---------
.../evennia/commands/default/help.html | 18 +-
.../evennia/commands/default/tests.html | 20 +-
docs/1.0-dev/_modules/evennia/help/utils.html | 2 +-
.../_modules/evennia/objects/objects.html | 4 +-
.../_modules/evennia/typeclasses/models.html | 7 +-
.../_modules/evennia/utils/dbserialize.html | 4 +
.../1.0-dev/_modules/evennia/utils/utils.html | 48 +-
.../_sources/Setup/Online-Setup.md.txt | 53 +-
docs/1.0-dev/_sources/toc.md.txt | 1 -
.../api/evennia.commands.default.account.html | 12 +-
.../api/evennia.commands.default.admin.html | 8 +-
...evennia.commands.default.batchprocess.html | 6 +-
.../evennia.commands.default.building.html | 219 +++++-
.../api/evennia.commands.default.comms.html | 6 +-
.../api/evennia.commands.default.general.html | 14 +-
.../api/evennia.commands.default.help.html | 6 +-
.../api/evennia.commands.default.system.html | 20 +-
.../api/evennia.commands.default.tests.html | 11 +
.../evennia.commands.default.unloggedin.html | 18 +-
docs/1.0-dev/api/evennia.contrib.barter.html | 12 +-
docs/1.0-dev/api/evennia.contrib.chargen.html | 2 +-
.../1.0-dev/api/evennia.contrib.clothing.html | 2 +-
docs/1.0-dev/api/evennia.contrib.dice.html | 4 +-
.../api/evennia.contrib.email_login.html | 16 +-
.../evennia.contrib.evscaperoom.commands.html | 32 +-
.../api/evennia.contrib.extended_room.html | 4 +-
.../api/evennia.contrib.gendersub.html | 2 +-
...vennia.contrib.ingame_python.commands.html | 4 +-
docs/1.0-dev/api/evennia.contrib.mail.html | 4 +-
.../api/evennia.contrib.multidescer.html | 2 +-
docs/1.0-dev/api/evennia.contrib.puzzles.html | 4 +-
.../1.0-dev/api/evennia.contrib.rpsystem.html | 10 +-
.../api/evennia.contrib.simpledoor.html | 2 +-
.../evennia.contrib.turnbattle.tb_basic.html | 6 +-
.../evennia.contrib.turnbattle.tb_equip.html | 6 +-
.../evennia.contrib.turnbattle.tb_items.html | 6 +-
.../evennia.contrib.turnbattle.tb_magic.html | 6 +-
.../evennia.contrib.turnbattle.tb_range.html | 6 +-
....contrib.tutorial_examples.red_button.html | 18 +-
.../evennia.contrib.tutorial_world.mob.html | 2 +-
...vennia.contrib.tutorial_world.objects.html | 12 +-
.../evennia.contrib.tutorial_world.rooms.html | 18 +-
.../api/evennia.contrib.xyzgrid.commands.html | 4 +-
docs/1.0-dev/api/evennia.objects.objects.html | 2 +-
.../api/evennia.typeclasses.models.html | 4 +-
docs/1.0-dev/api/evennia.utils.eveditor.html | 8 +-
docs/1.0-dev/api/evennia.utils.evmenu.html | 8 +-
docs/1.0-dev/api/evennia.utils.evmore.html | 4 +-
docs/1.0-dev/api/evennia.utils.utils.html | 33 +-
docs/1.0-dev/genindex.html | 72 +-
docs/1.0-dev/objects.inv | Bin 123966 -> 124136 bytes
docs/1.0-dev/searchindex.js | 2 +-
110 files changed, 1791 insertions(+), 1217 deletions(-)
diff --git a/docs/0.9.5/.buildinfo b/docs/0.9.5/.buildinfo
index 39bd3982c7..1a9113ac12 100644
--- a/docs/0.9.5/.buildinfo
+++ b/docs/0.9.5/.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: b551fb2f64394b07a17d724af226d381
+config: fa91ee7734046355076f66134757f022
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/0.9.5/_modules/evennia/commands/command.html b/docs/0.9.5/_modules/evennia/commands/command.html
index 6ee6548671..833cd29a49 100644
--- a/docs/0.9.5/_modules/evennia/commands/command.html
+++ b/docs/0.9.5/_modules/evennia/commands/command.html
@@ -146,9 +146,8 @@
# strip the @- etc to allow help to be agnostic
stripped_key = cls.key[1:] if cls.key and cls.key[0] in CMD_IGNORE_PREFIXES else ""
stripped_aliases = (
- " ".join(al for al in cls.aliases
- if al and al[0] in CMD_IGNORE_PREFIXES for al in cls.aliases)
- )
+ " ".join(al[1:] if al and al[0] in CMD_IGNORE_PREFIXES else al
+ for al in cls.aliases))
cls.search_index_entry = {
"key": cls.key,
"aliases": " ".join(cls.aliases),
diff --git a/docs/0.9.5/_modules/evennia/commands/default/admin.html b/docs/0.9.5/_modules/evennia/commands/default/admin.html
index b7cf2ab4b4..c1a4455e28 100644
--- a/docs/0.9.5/_modules/evennia/commands/default/admin.html
+++ b/docs/0.9.5/_modules/evennia/commands/default/admin.html
@@ -314,16 +314,16 @@
else:
# all is ok, ask, then clear ban
ban = banlist[num - 1]
- value = " ".join([s for s in ban[:2]])
+ value = (" ".join([s for s in ban[:2]])).strip()
- ret = yield(f"Are you sure you want to unban {num}: '{value}' [Y]/N?")
+ ret = yield(f"Are you sure you want to unban {num}: '|w{value}|n' [Y]/N?")
if str(ret).lower() in ("n", "no"):
self.caller.msg("Aborted.")
return
del banlist[num - 1]
ServerConfig.objects.conf("server_bans", banlist)
- self.caller.msg(f"Cleared ban {num}: '{value}'" % (num, value))
+ self.caller.msg(f"Cleared ban {num}: '{value}'")
logger.log_sec(
"Unbanned: {value.strip()} (Caller: {self.caller}, IP: {self.session.address})."
)
diff --git a/docs/0.9.5/_modules/evennia/commands/default/building.html b/docs/0.9.5/_modules/evennia/commands/default/building.html
index f5ba79b985..870f0ba3eb 100644
--- a/docs/0.9.5/_modules/evennia/commands/default/building.html
+++ b/docs/0.9.5/_modules/evennia/commands/default/building.html
@@ -54,6 +54,7 @@
from evennia.locks.lockhandler import LockException
from evennia.commands.cmdhandler import get_and_merge_cmdsets
from evennia.utils import create, utils, search, logger, funcparser
+from evennia.utils.dbserialize import deserialize
from evennia.utils.utils import (
inherits_from,
class_from_module,
@@ -687,7 +688,7 @@
[docs] def edit_handler(self):
if self.rhs:
-
self.msg("|rYou may specify a value, or use the edit switch, " "but not both.|n")
+
self.msg("|rYou may specify a value, or use the edit switch, but not both.|n")
return
if self.args:
obj = self.caller.search(self.args)
@@ -1988,7 +1989,8 @@
update - *only* re-run at_object_creation on this object
meaning locks or other properties set later may remain.
reset - clean out *all* the attributes and properties on the
-
object - basically making this a new clean object.
+
object - basically making this a new clean object. This will also
+
reset cmdsets!
force - change to the typeclass also if the object
already has a typeclass of the same name.
list - show available typeclasses. Only typeclasses in modules actually
@@ -2198,7 +2200,7 @@
else:
update = "update" in self.switches
reset = "reset" in self.switches
-
hooks = "at_object_creation" if update else "all"
+
hooks = "at_object_creation" if update and not reset else "all"
old_typeclass_path = obj.typeclass_path
# special prompt for the user in cases where we want
@@ -2472,379 +2474,407 @@
quell_color = "|r"
separator = "-"
-
[docs] def list_attribute(self, crop, attr, category, value):
+
[docs] def msg(self, text):
"""
-
Formats a single attribute line.
+
Central point for sending messages to the caller. This tags
+
the message as 'examine' for eventual custom markup in the client.
+
+
Attributes:
+
text (str): The text to send.
-
Args:
-
crop (bool): If output should be cropped if too long.
-
attr (str): Attribute key.
-
category (str): Attribute category.
-
value (any): Attribute value.
-
Returns:
"""
+
self.caller.msg(text=(text, {"type": "examine"}))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
def _get_attribute_value_type(self, attrvalue):
+
typ = ""
+
if not isinstance(attrvalue, str):
+
try:
+
name = attrvalue.__class__.__name__
+
except AttributeError:
+
try:
+
name = attrvalue.__name__
+
except AttributeError:
+
name = attrvalue
+
if str(name).startswith("_Saver"):
+
try:
+
typ = str(type(deserialize(attrvalue)))
+
except Exception:
+
typ = str(type(deserialize(attrvalue)))
+
else:
+
typ = str(type(attrvalue))
+
return typ
+
+
+
return (f"Attribute {obj.name}/{self.header_color}{key}|n "
+
f"[category={category}]{typ}:\n\n{value}")
-
+
+
return f"{sep}\n{main_str}\n{sep}"
+
+[docs] def parse(self):
+
super().parse()
+
+
self.examine_objs = []
+
+
if not self.args:
+
# If no arguments are provided, examine the invoker's location.
+
if hasattr(self.caller, "location"):
+
self.examine_objs.append((self.caller.location, None))
+
else:
+
self.msg("You need to supply a target to examine.")
+
raise InterruptCommand
+
else:
+
for objdef in self.lhs_objattr:
+
obj = None
+
obj_name = objdef["name"] # name
+
obj_attrs = objdef["attrs"] # /attrs
+
+
self.account_mode = (
+
utils.inherits_from(self.caller, "evennia.accounts.accounts.DefaultAccount")
+
or "account" in self.switches
+
or obj_name.startswith("*")
+
)
+
if self.account_mode:
+
try:
+
obj = self.caller.search_account(obj_name.lstrip("*"))
+
except AttributeError:
+
# this means we are calling examine from an account object
+
obj = self.caller.search(
+
obj_name.lstrip("*"), search_object="object" in self.switches
+
)
+
else:
+
obj = self.caller.search(obj_name)
+
+
if obj:
+
self.examine_objs.append((obj, obj_attrs))
[docs] def func(self):
"""Process command"""
-
caller = self.caller
-
-
def get_cmdset_callback(cmdset):
+
def get_cmdset_callback(current_cmdset):
"""
-
We make use of the cmdhandeler.get_and_merge_cmdsets below. This
+
We make use of the cmdhandler.get_and_merge_cmdsets below. This
is an asynchronous function, returning a Twisted deferred.
So in order to properly use this we need use this callback;
it is called with the result of get_and_merge_cmdsets, whenever
that function finishes. Taking the resulting cmdset, we continue
to format and output the result.
"""
-
self.msg(self.format_output(obj, cmdset).strip())
+
self.msg(self.format_output(obj, current_cmdset).strip())
-
if not self.args:
-
# If no arguments are provided, examine the invoker's location.
-
if hasattr(caller, "location"):
-
obj = caller.location
-
if not obj.access(caller, "examine"):
-
# If we don't have special info access, just look at the object instead.
-
self.msg(caller.at_look(obj))
-
return
-
obj_session = obj.sessions.get()[0] if obj.sessions.count() else None
+
for obj, obj_attrs in self.examine_objs:
+
# these are parsed out in .parse already
-
# using callback for printing result whenever function returns.
-
get_and_merge_cmdsets(
-
obj, obj_session, self.account, obj, "object", self.raw_string
-
).addCallback(get_cmdset_callback)
-
else:
-
self.msg("You need to supply a target to examine.")
-
return
-
-
# we have given a specific target object
-
for objdef in self.lhs_objattr:
-
-
obj = None
-
obj_name = objdef["name"]
-
obj_attrs = objdef["attrs"]
-
-
self.account_mode = (
-
utils.inherits_from(caller, "evennia.accounts.accounts.DefaultAccount")
-
or "account" in self.switches
-
or obj_name.startswith("*")
-
)
-
if self.account_mode:
-
try:
-
obj = caller.search_account(obj_name.lstrip("*"))
-
except AttributeError:
-
# this means we are calling examine from an account object
-
obj = caller.search(
-
obj_name.lstrip("*"), search_object="object" in self.switches
-
)
-
else:
-
obj = caller.search(obj_name)
-
if not obj:
-
continue
-
-
if not obj.access(caller, "examine"):
+
if not obj.access(self.caller, "examine"):
# If we don't have special info access, just look
# at the object instead.
-
self.msg(caller.at_look(obj))
+
self.msg(self.caller.at_look(obj))
continue
if obj_attrs:
-
for attrname in obj_attrs:
-
# we are only interested in specific attributes
-
ret = "\n".join(
-
f"{self.header_color}{header}|n:{value}"
-
for header, value in self.format_attributes(
-
obj, attrname, crop=False
-
).items()
-
)
-
self.caller.msg(ret)
+
# we are only interested in specific attributes
+
attrs = [attr for attr in obj.db_attributes.all() if attr.db_key in obj_attrs]
+
if not attrs:
+
self.msg("No attributes found on {obj.name}.")
+
else:
+
out_strings = []
+
for attr in attrs:
+
out_strings.append(self.format_single_attribute_detail(obj, attr))
+
out_str = "\n".join(out_strings)
+
max_width = max(display_len(line) for line in out_strings)
+
max_width = max(0, min(max_width, self.client_width()))
+
sep = self.separator * max_width
+
self.msg(f"{sep}\n{out_str}")
+
return
+
+
# examine the obj itself
+
+
# get the cmdset status
+
session = None
+
if obj.sessions.count():
+
mergemode = "session"
+
session = obj.sessions.get()[0]
+
elif self.account_mode:
+
mergemode = "account"
else:
-
session = None
-
if obj.sessions.count():
-
mergemode = "session"
-
session = obj.sessions.get()[0]
-
elif self.account_mode:
-
mergemode = "account"
-
else:
-
mergemode = "object"
+
mergemode = "object"
-
account = None
-
objct = None
-
if self.account_mode:
-
account = obj
-
else:
-
account = obj.account
-
objct = obj
+
account = None
+
objct = None
+
if self.account_mode:
+
account = obj
+
else:
+
account = obj.account
+
objct = obj
-
# this is usually handled when a command runs, but when we examine
-
# we may have leftover inherited cmdsets directly after a move etc.
-
obj.cmdset.update()
-
# using callback to print results whenever function returns.
-
get_and_merge_cmdsets(
-
obj, session, account, objct, mergemode, self.raw_string
-
).addCallback(get_cmdset_callback)
+ # this is usually handled when a command runs, but when we examine
+ # we may have leftover inherited cmdsets directly after a move etc.
+ obj.cmdset.update()
+ # using callback to print results whenever function returns.
+ get_and_merge_cmdsets(
+ obj, session, account, objct, mergemode, self.raw_string
+ ).addCallback(get_cmdset_callback)
[docs]class CmdFind(COMMAND_DEFAULT_CLASS):
@@ -3354,7 +3384,7 @@
)
# last N table
-
objs = ObjectDB.objects.all().order_by("db_date_created")[max(0, nobjs - nlim) :]
+
objs = ObjectDB.objects.all().order_by("db_date_created")[max(0, nobjs - nlim): ]
latesttable = self.styled_table(
"|wcreated|n", "|wdbref|n", "|wname|n", "|wtypeclass|n", align="l", border="table"
)
diff --git a/docs/0.9.5/_modules/evennia/commands/default/help.html b/docs/0.9.5/_modules/evennia/commands/default/help.html
index 2774bac1a4..6c1c6d5540 100644
--- a/docs/0.9.5/_modules/evennia/commands/default/help.html
+++ b/docs/0.9.5/_modules/evennia/commands/default/help.html
@@ -219,6 +219,7 @@
subtopics = ''
if suggested:
+
suggested = sorted(suggested)
if click_topics:
suggested = [f"|lchelp {sug}|lt|w{sug}|n|le" for sug in suggested]
else:
@@ -587,11 +588,15 @@
return
-
# search for a specific entry. We need to check for 'read' access here before # building the
-
# set of possibilities.
+
# search for a specific entry. We need to check for 'read' access here before
+
# building the set of possibilities.
cmd_help_topics, db_help_topics, file_help_topics = \
self.collect_topics(caller, mode='query')
+
# get a collection of all keys + aliases to be able to strip prefixes like @
+
key_and_aliases = set(
+
chain(*(cmd._keyaliases for cmd in cmd_help_topics.values())))
+
# db-help topics takes priority over file-help
file_db_help_topics = {**file_help_topics, **db_help_topics}
@@ -628,12 +633,13 @@
suggestion_maxnum=self.suggestion_maxnum,
fields=search_fields
)
-
if suggestions:
help_text += (
"\n... But matches where found within the help "
"texts of the suggestions below.")
-
# break
+
suggestions = [self.strip_cmd_prefix(sugg, key_and_aliases)
+
for sugg in suggestions]
+
break
output = self.format_help_entry(
topic=None, # this will give a no-match style title
@@ -726,8 +732,6 @@
# we reached the bottom of the topic tree
help_text = subtopic_map[None]
-
# get a collection of all keys + aliases to be able to strip prefixes like @
-
key_and_aliases = set(chain(*(cmd._keyaliases for cmd in cmd_help_topics.values())))
topic = self.strip_cmd_prefix(topic, key_and_aliases)
if subtopics:
aliases = None
@@ -772,7 +776,7 @@
Edit the help database.
Usage:
-
help[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]
+
sethelp[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]
Switches:
edit - open a line editor to edit the topic's help text.
diff --git a/docs/0.9.5/_modules/evennia/commands/default/tests.html b/docs/0.9.5/_modules/evennia/commands/default/tests.html
index 814f4d00e0..551c08db96 100644
--- a/docs/0.9.5/_modules/evennia/commands/default/tests.html
+++ b/docs/0.9.5/_modules/evennia/commands/default/tests.html
@@ -961,7 +961,7 @@
self.call(building.CmdExamine(), "*TestAccount", "Name/key: TestAccount")
self.char1.db.test = "testval"
-
self.call(building.CmdExamine(), "self/test", "Persistent attribute(s):\n test = testval")
+
self.call(building.CmdExamine(), "self/test", "Attribute Char/test [category=None]:\n\ntestval")
self.call(building.CmdExamine(), "NotFound", "Could not find 'NotFound'.")
self.call(building.CmdExamine(), "out", "Name/key: out")
@@ -970,7 +970,7 @@
self.call(
building.CmdExamine(),
"self/test2",
-
"Persistent attribute(s):\n test2 = this is a \$random() value.",
+
"Attribute Char/test2 [category=None]:\n\nthis is a \$random() value."
)
self.room1.scripts.add(self.script.__class__)
@@ -1907,6 +1907,7 @@
)
+
from evennia.utils.create import create_channel # noqa
[docs]class TestCommsChannel(CommandTest):
@@ -2128,6 +2129,21 @@
)
+from evennia.comms import comms # noqa
+
+
+[docs]class TestComms(CommandTest):
+
+
[docs] def test_page(self):
+
self.call(
+
comms.CmdPage(),
+
"TestAccount2 = Test",
+
"TestAccount2 is offline. They will see your message if they list their pages later."
+
"|You paged TestAccount2 with: 'Test'.",
+
receiver=self.account,
+
)
+
+
[docs]class TestBatchProcess(CommandTest):
[docs] @patch("evennia.contrib.tutorial_examples.red_button.repeat")
diff --git a/docs/0.9.5/_modules/evennia/objects/objects.html b/docs/0.9.5/_modules/evennia/objects/objects.html
index a42545ff9e..cd262e0f77 100644
--- a/docs/0.9.5/_modules/evennia/objects/objects.html
+++ b/docs/0.9.5/_modules/evennia/objects/objects.html
@@ -352,7 +352,7 @@
# main methods
-
[docs] def get_display_name(self, looker, **kwargs):
+
[docs] def get_display_name(self, looker=None, **kwargs):
"""
Displays the name of the object in a viewer-aware manner.
@@ -373,7 +373,7 @@
builders.
"""
-
if self.locks.check_lockstring(looker, "perm(Builder)"):
+
if looker and self.locks.check_lockstring(looker, "perm(Builder)"):
return "{}(#{})".format(self.name, self.id)
return self.name
diff --git a/docs/0.9.5/_modules/evennia/typeclasses/models.html b/docs/0.9.5/_modules/evennia/typeclasses/models.html
index 67c754a443..0ea11f9c3b 100644
--- a/docs/0.9.5/_modules/evennia/typeclasses/models.html
+++ b/docs/0.9.5/_modules/evennia/typeclasses/models.html
@@ -615,8 +615,8 @@
will be cleared.
run_start_hooks (str or None, optional): This is either None,
to not run any hooks, "all" to run all hooks defined by
-
at_first_start, or a string giving the name of the hook
-
to run (for example 'at_object_creation'). This will
+
at_first_start, or a string with space-separated hook-names to run
+
(for example 'at_object_creation'). This will
always be called without arguments.
no_default (bool, optiona): If set, the swapper will not
allow for swapping to a default typeclass in case the
@@ -664,7 +664,8 @@
self.at_first_save()
elif run_start_hooks:
# a custom hook-name to call.
-
getattr(self, run_start_hooks)()
+
for start_hook in str(run_start_hooks).split():
+
getattr(self, run_start_hooks)()
#
# Lock / permission methods
diff --git a/docs/0.9.5/_modules/evennia/utils/dbserialize.html b/docs/0.9.5/_modules/evennia/utils/dbserialize.html
index 77a73a3b3d..15a4eda7d4 100644
--- a/docs/0.9.5/_modules/evennia/utils/dbserialize.html
+++ b/docs/0.9.5/_modules/evennia/utils/dbserialize.html
@@ -434,6 +434,10 @@
@_save
def rotate(self, *args):
self._data.rotate(*args)
+
+
@_save
+
def remove(self, *args):
+
self._data.remove(*args)
_DESERIALIZE_MAPPING = {
diff --git a/docs/0.9.5/_modules/evennia/utils/utils.html b/docs/0.9.5/_modules/evennia/utils/utils.html
index e097540c87..b6f516c379 100644
--- a/docs/0.9.5/_modules/evennia/utils/utils.html
+++ b/docs/0.9.5/_modules/evennia/utils/utils.html
@@ -402,14 +402,14 @@
return "\n".join(rows)
-[docs]def iter_to_str(initer, endsep="and", addquote=False):
+
[docs]def iter_to_str(iterable, endsep=", and", addquote=False):
"""
This pretty-formats an iterable list as string output, adding an optional
alternative separator to the second to last entry. If `addquote`
is `True`, the outgoing strings will be surrounded by quotes.
Args:
-
initer (any): Usually an iterable to print. Each element must be possible to
+
iterable (any): Usually an iterable to print. Each element must be possible to
present with a string. Note that if this is a generator, it will be
consumed by this operation.
endsep (str, optional): If set, the last item separator will
@@ -420,35 +420,47 @@
Returns:
str: The list represented as a string.
+
Notes:
+
Default is to use 'Oxford comma', like 1, 2, 3, and 4. To remove, give
+
`endsep` as just `and`.
+
Examples:
```python
>>> list_to_string([1,2,3], endsep='')
'1, 2, 3'
>>> list_to_string([1,2,3], ensdep='and')
-
'1, 2, and 3'
-
>>> list_to_string([1,2,3], endsep='and', addquote=True)
+
'1, 2 and 3'
+
>>> list_to_string([1,2,3], endsep=', and', addquote=True)
'"1", "2", and "3"'
```
"""
-
if endsep:
-
endsep = " " + endsep
-
if not initer:
+
if not iterable:
return ""
-
initer = tuple(str(val) for val in make_iter(initer))
+
len_iter = len(iterable)
+
if addquote:
-
if len(initer) == 1:
-
return '"%s"' % initer[0]
-
elif len(initer) == 2:
-
return '"%s"' % ('"%s "' % endsep).join(str(v) for v in initer)
-
return ", ".join('"%s"' % v for v in initer[:-1]) + ",%s %s" % (endsep, '"%s"' % initer[-1])
+
iterable = tuple(f'"{val}"' for val in make_iter(iterable))
else:
-
if len(initer) == 1:
-
return str(initer[0])
-
elif len(initer) == 2:
-
return ("%s " % endsep).join(str(v) for v in initer)
-
return ", ".join(str(v) for v in initer[:-1]) + ",%s %s" % (endsep, initer[-1])
+
iterable = tuple(str(val) for val in make_iter(iterable))
+
+
if endsep.startswith(","):
+
# oxford comma alternative
+
endsep = endsep[1:] if len_iter < 3 else endsep
+
elif endsep:
+
# normal space-separated end separator
+
endsep = " " + str(endsep).strip()
+
else:
+
# no separator given - use comma
+
endsep = ','
+
+
if len_iter == 1:
+
return str(iterable[0])
+
elif len_iter == 2:
+
return f"{endsep} ".join(str(v) for v in iterable)
+
else:
+
return ", ".join(str(v) for v in iterable[:-1]) + f"{endsep} {iterable[-1]}"
# legacy aliases
diff --git a/docs/0.9.5/api/evennia.commands.default.account.html b/docs/0.9.5/api/evennia.commands.default.account.html
index 0d81a98933..f5afee99de 100644
--- a/docs/0.9.5/api/evennia.commands.default.account.html
+++ b/docs/0.9.5/api/evennia.commands.default.account.html
@@ -72,7 +72,7 @@ method. Otherwise all text will be returned to all connected sessions.
-
-
aliases = ['ls', 'l']
+aliases = ['l', 'ls']
@@ -103,7 +103,7 @@ method. Otherwise all text will be returned to all connected sessions.
-
-
search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ', '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 '}
@@ -162,7 +162,7 @@ as you the account have access right to puppet it.
-
-
search_index_entry = {'aliases': 'puppet', 'category': 'general', 'key': 'ic', 'no_prefix': ' ', 'tags': '', 'text': '\n control an object you have permission to puppet\n\n Usage:\n ic <character>\n\n Go in-character (IC) as a given Character.\n\n This will attempt to "become" a different object assuming you have\n the right to do so. Note that it\'s the ACCOUNT character that puppets\n characters/objects and which needs to have the correct permission!\n\n You cannot become an object that is already controlled by another\n account. In principle <character> can be any in-game object as long\n as you the account have access right to puppet it.\n '}
+search_index_entry = {'aliases': 'puppet', 'category': 'general', 'key': 'ic', 'no_prefix': ' puppet', 'tags': '', 'text': '\n control an object you have permission to puppet\n\n Usage:\n ic <character>\n\n Go in-character (IC) as a given Character.\n\n This will attempt to "become" a different object assuming you have\n the right to do so. Note that it\'s the ACCOUNT character that puppets\n characters/objects and which needs to have the correct permission!\n\n You cannot become an object that is already controlled by another\n account. In principle <character> can be any in-game object as long\n as you the account have access right to puppet it.\n '}
@@ -216,7 +216,7 @@ as you the account have access right to puppet it.
-
-
search_index_entry = {'aliases': 'unpuppet', 'category': 'general', 'key': 'ooc', 'no_prefix': ' ', 'tags': '', 'text': '\n stop puppeting and go ooc\n\n Usage:\n ooc\n\n Go out-of-character (OOC).\n\n This will leave your current character and put you in a incorporeal OOC state.\n '}
+search_index_entry = {'aliases': 'unpuppet', 'category': 'general', 'key': 'ooc', 'no_prefix': ' unpuppet', 'tags': '', 'text': '\n stop puppeting and go ooc\n\n Usage:\n ooc\n\n Go out-of-character (OOC).\n\n This will leave your current character and put you in a incorporeal OOC state.\n '}
@@ -449,7 +449,7 @@ later connecting with a client with different capabilities.
-
-
search_index_entry = {'aliases': 'options', 'category': 'general', 'key': 'option', 'no_prefix': ' ', 'tags': '', 'text': '\n Set an account option\n\n Usage:\n option[/save] [name = value]\n\n Switches:\n save - Save the current option settings for future logins.\n clear - Clear the saved options.\n\n This command allows for viewing and setting client interface\n settings. Note that saved options may not be able to be used if\n later connecting with a client with different capabilities.\n\n\n '}
+search_index_entry = {'aliases': 'options', 'category': 'general', 'key': 'option', 'no_prefix': ' options', 'tags': '', 'text': '\n Set an account option\n\n Usage:\n option[/save] [name = value]\n\n Switches:\n save - Save the current option settings for future logins.\n clear - Clear the saved options.\n\n This command allows for viewing and setting client interface\n settings. Note that saved options may not be able to be used if\n later connecting with a client with different capabilities.\n\n\n '}
@@ -557,7 +557,7 @@ also for those with all permissions.
-
-
search_index_entry = {'aliases': 'doing', 'category': 'general', 'key': 'who', 'no_prefix': ' ', 'tags': '', 'text': '\n list who is currently online\n\n Usage:\n who\n doing\n\n Shows who is currently online. Doing is an alias that limits info\n also for those with all permissions.\n '}
+search_index_entry = {'aliases': 'doing', 'category': 'general', 'key': 'who', 'no_prefix': ' doing', 'tags': '', 'text': '\n list who is currently online\n\n Usage:\n who\n doing\n\n Shows who is currently online. Doing is an alias that limits info\n also for those with all permissions.\n '}
@@ -701,7 +701,7 @@ Use the unquell command to revert back to normal operation.
-
-
search_index_entry = {'aliases': 'unquell', 'category': 'general', 'key': 'quell', 'no_prefix': ' ', 'tags': '', 'text': "\n use character's permissions instead of account's\n\n Usage:\n quell\n unquell\n\n Normally the permission level of the Account is used when puppeting a\n Character/Object to determine access. This command will switch the lock\n system to make use of the puppeted Object's permissions instead. This is\n useful mainly for testing.\n Hierarchical permission quelling only work downwards, thus an Account cannot\n use a higher-permission Character to escalate their permission level.\n Use the unquell command to revert back to normal operation.\n "}
+search_index_entry = {'aliases': 'unquell', 'category': 'general', 'key': 'quell', 'no_prefix': ' unquell', 'tags': '', 'text': "\n use character's permissions instead of account's\n\n Usage:\n quell\n unquell\n\n Normally the permission level of the Account is used when puppeting a\n Character/Object to determine access. This command will switch the lock\n system to make use of the puppeted Object's permissions instead. This is\n useful mainly for testing.\n Hierarchical permission quelling only work downwards, thus an Account cannot\n use a higher-permission Character to escalate their permission level.\n Use the unquell command to revert back to normal operation.\n "}
diff --git a/docs/0.9.5/api/evennia.commands.default.admin.html b/docs/0.9.5/api/evennia.commands.default.admin.html
index 0cfbd11f9e..84e120da35 100644
--- a/docs/0.9.5/api/evennia.commands.default.admin.html
+++ b/docs/0.9.5/api/evennia.commands.default.admin.html
@@ -173,7 +173,7 @@ values in each tuple is set to the empty string.
-
-
search_index_entry = {'aliases': 'bans', 'category': 'admin', 'key': 'ban', 'no_prefix': ' ', 'tags': '', 'text': "\n ban an account from the server\n\n Usage:\n ban [<name or ip> [: reason]]\n\n Without any arguments, shows numbered list of active bans.\n\n This command bans a user from accessing the game. Supply an optional\n reason to be able to later remember why the ban was put in place.\n\n It is often preferable to ban an account from the server than to\n delete an account with accounts/delete. If banned by name, that account\n account can no longer be logged into.\n\n IP (Internet Protocol) address banning allows blocking all access\n from a specific address or subnet. Use an asterisk (*) as a\n wildcard.\n\n Examples:\n ban thomas - ban account 'thomas'\n ban/ip 134.233.2.111 - ban specific ip address\n ban/ip 134.233.2.* - ban all in a subnet\n ban/ip 134.233.*.* - even wider ban\n\n A single IP filter can be easy to circumvent by changing computers\n or requesting a new IP address. Setting a wide IP block filter with\n wildcards might be tempting, but remember that it may also\n accidentally block innocent users connecting from the same country\n or region.\n\n "}
+search_index_entry = {'aliases': 'bans', 'category': 'admin', 'key': 'ban', 'no_prefix': ' bans', 'tags': '', 'text': "\n ban an account from the server\n\n Usage:\n ban [<name or ip> [: reason]]\n\n Without any arguments, shows numbered list of active bans.\n\n This command bans a user from accessing the game. Supply an optional\n reason to be able to later remember why the ban was put in place.\n\n It is often preferable to ban an account from the server than to\n delete an account with accounts/delete. If banned by name, that account\n account can no longer be logged into.\n\n IP (Internet Protocol) address banning allows blocking all access\n from a specific address or subnet. Use an asterisk (*) as a\n wildcard.\n\n Examples:\n ban thomas - ban account 'thomas'\n ban/ip 134.233.2.111 - ban specific ip address\n ban/ip 134.233.2.* - ban all in a subnet\n ban/ip 134.233.*.* - even wider ban\n\n A single IP filter can be easy to circumvent by changing computers\n or requesting a new IP address. Setting a wide IP block filter with\n wildcards might be tempting, but remember that it may also\n accidentally block innocent users connecting from the same country\n or region.\n\n "}
@@ -287,7 +287,7 @@ to accounts respectively.
-
-
search_index_entry = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' ', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
+search_index_entry = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' remit pemit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
@@ -393,7 +393,7 @@ or account. If no permission is given, list all permissions on <object>.
-
-
search_index_entry = {'aliases': 'setperm', 'category': 'admin', 'key': 'perm', 'no_prefix': ' ', 'tags': '', 'text': '\n set the permissions of an account/object\n\n Usage:\n perm[/switch] <object> [= <permission>[,<permission>,...]]\n perm[/switch] *<account> [= <permission>[,<permission>,...]]\n\n Switches:\n del - delete the given permission from <object> or <account>.\n account - set permission on an account (same as adding * to name)\n\n This command sets/clears individual permission strings on an object\n or account. If no permission is given, list all permissions on <object>.\n '}
+search_index_entry = {'aliases': 'setperm', 'category': 'admin', 'key': 'perm', 'no_prefix': ' setperm', 'tags': '', 'text': '\n set the permissions of an account/object\n\n Usage:\n perm[/switch] <object> [= <permission>[,<permission>,...]]\n perm[/switch] *<account> [= <permission>[,<permission>,...]]\n\n Switches:\n del - delete the given permission from <object> or <account>.\n account - set permission on an account (same as adding * to name)\n\n This command sets/clears individual permission strings on an object\n or account. If no permission is given, list all permissions on <object>.\n '}
diff --git a/docs/0.9.5/api/evennia.commands.default.batchprocess.html b/docs/0.9.5/api/evennia.commands.default.batchprocess.html
index cdeef4146b..08f21bbe41 100644
--- a/docs/0.9.5/api/evennia.commands.default.batchprocess.html
+++ b/docs/0.9.5/api/evennia.commands.default.batchprocess.html
@@ -108,7 +108,7 @@ skipping, reloading etc.
-
-
search_index_entry = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' ', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
+search_index_entry = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcommand batchcmd', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
@@ -171,7 +171,7 @@ object copies behind when testing out the script.
-
-
search_index_entry = {'aliases': 'batchcodes', 'category': 'building', 'key': 'batchcode', 'no_prefix': ' ', 'tags': '', 'text': '\n build from batch-code file\n\n Usage:\n batchcode[/interactive] <python path to file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n debug - auto-delete all objects that has been marked as\n deletable in the script file (see example files for\n syntax). This is useful so as to to not leave multiple\n object copies behind when testing out the script.\n\n Runs batches of commands from a batch-code text file (*.py).\n\n '}
+search_index_entry = {'aliases': 'batchcodes', 'category': 'building', 'key': 'batchcode', 'no_prefix': ' batchcodes', 'tags': '', 'text': '\n build from batch-code file\n\n Usage:\n batchcode[/interactive] <python path to file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n debug - auto-delete all objects that has been marked as\n deletable in the script file (see example files for\n syntax). This is useful so as to to not leave multiple\n object copies behind when testing out the script.\n\n Runs batches of commands from a batch-code text file (*.py).\n\n '}
diff --git a/docs/0.9.5/api/evennia.commands.default.building.html b/docs/0.9.5/api/evennia.commands.default.building.html
index 194a3f10bd..8e5c1d5a67 100644
--- a/docs/0.9.5/api/evennia.commands.default.building.html
+++ b/docs/0.9.5/api/evennia.commands.default.building.html
@@ -156,7 +156,7 @@ by everyone.
-
-
search_index_entry = {'aliases': 'setobjalias', 'category': 'building', 'key': '@alias', 'no_prefix': 'alias ', 'tags': '', 'text': "\n adding permanent aliases for object\n\n Usage:\n alias <obj> [= [alias[,alias,alias,...]]]\n alias <obj> =\n alias/category <obj> = [alias[,alias,...]:<category>\n\n Switches:\n category - requires ending input with :category, to store the\n given aliases with the given category.\n\n Assigns aliases to an object so it can be referenced by more\n than one name. Assign empty to remove all aliases from object. If\n assigning a category, all aliases given will be using this category.\n\n Observe that this is not the same thing as personal aliases\n created with the 'nick' command! Aliases set with alias are\n changing the object in question, making those aliases usable\n by everyone.\n "}
+search_index_entry = {'aliases': 'setobjalias', 'category': 'building', 'key': '@alias', 'no_prefix': 'alias setobjalias', 'tags': '', 'text': "\n adding permanent aliases for object\n\n Usage:\n alias <obj> [= [alias[,alias,alias,...]]]\n alias <obj> =\n alias/category <obj> = [alias[,alias,...]:<category>\n\n Switches:\n category - requires ending input with :category, to store the\n given aliases with the given category.\n\n Assigns aliases to an object so it can be referenced by more\n than one name. Assign empty to remove all aliases from object. If\n assigning a category, all aliases given will be using this category.\n\n Observe that this is not the same thing as personal aliases\n created with the 'nick' command! Aliases set with alias are\n changing the object in question, making those aliases usable\n by everyone.\n "}
@@ -572,7 +572,7 @@ You can specify the /force switch to bypass this confirmation.
-
-
search_index_entry = {'aliases': '@delete @del', 'category': 'building', 'key': '@destroy', 'no_prefix': 'destroy @delete @del @delete @del', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}
+search_index_entry = {'aliases': '@delete @del', 'category': 'building', 'key': '@destroy', 'no_prefix': 'destroy delete del', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}
@@ -721,7 +721,7 @@ For more flexibility and power in creating rooms, use dig.
-
-
search_index_entry = {'aliases': '@tun', 'category': 'building', 'key': '@tunnel', 'no_prefix': 'tunnel @tun', 'tags': '', 'text': '\n create new rooms in cardinal directions only\n\n Usage:\n tunnel[/switch] <direction>[:typeclass] [= <roomname>[;alias;alias;...][:typeclass]]\n\n Switches:\n oneway - do not create an exit back to the current location\n tel - teleport to the newly created room\n\n Example:\n tunnel n\n tunnel n = house;mike\'s place;green building\n\n This is a simple way to build using pre-defined directions:\n |wn,ne,e,se,s,sw,w,nw|n (north, northeast etc)\n |wu,d|n (up and down)\n |wi,o|n (in and out)\n The full names (north, in, southwest, etc) will always be put as\n main name for the exit, using the abbreviation as an alias (so an\n exit will always be able to be used with both "north" as well as\n "n" for example). Opposite directions will automatically be\n created back from the new room unless the /oneway switch is given.\n For more flexibility and power in creating rooms, use dig.\n '}
+search_index_entry = {'aliases': '@tun', 'category': 'building', 'key': '@tunnel', 'no_prefix': 'tunnel tun', 'tags': '', 'text': '\n create new rooms in cardinal directions only\n\n Usage:\n tunnel[/switch] <direction>[:typeclass] [= <roomname>[;alias;alias;...][:typeclass]]\n\n Switches:\n oneway - do not create an exit back to the current location\n tel - teleport to the newly created room\n\n Example:\n tunnel n\n tunnel n = house;mike\'s place;green building\n\n This is a simple way to build using pre-defined directions:\n |wn,ne,e,se,s,sw,w,nw|n (north, northeast etc)\n |wu,d|n (up and down)\n |wi,o|n (in and out)\n The full names (north, in, southwest, etc) will always be put as\n main name for the exit, using the abbreviation as an alias (so an\n exit will always be able to be used with both "north" as well as\n "n" for example). Opposite directions will automatically be\n created back from the new room unless the /oneway switch is given.\n For more flexibility and power in creating rooms, use dig.\n '}
@@ -987,7 +987,7 @@ rename an account.
-
-
search_index_entry = {'aliases': '@rename', 'category': 'building', 'key': '@name', 'no_prefix': 'name @rename', 'tags': '', 'text': '\n change the name and/or aliases of an object\n\n Usage:\n name <obj> = <newname>;alias1;alias2\n\n Rename an object to something new. Use *obj to\n rename an account.\n\n '}
+search_index_entry = {'aliases': '@rename', 'category': 'building', 'key': '@name', 'no_prefix': 'name rename', 'tags': '', 'text': '\n change the name and/or aliases of an object\n\n Usage:\n name <obj> = <newname>;alias1;alias2\n\n Rename an object to something new. Use *obj to\n rename an account.\n\n '}
@@ -1241,7 +1241,8 @@ update - this is a shorthand for using the /force/reload flag.
update - only re-run at_object_creation on this objectmeaning locks or other properties set later may remain.
-reset - clean out all the attributes and properties on theobject - basically making this a new clean object.
+reset - clean out all the attributes and properties on theobject - basically making this a new clean object. This will also
+reset cmdsets!
force - change to the typeclass also if the objectalready has a typeclass of the same name.
@@ -1276,7 +1277,7 @@ server settings.
-
-
aliases = ['@typeclasses', '@type', '@swap', '@update', '@parent']
+aliases = ['@update', '@type', '@parent', '@typeclasses', '@swap']
@@ -1307,7 +1308,7 @@ server settings.
-
-
search_index_entry = {'aliases': '@typeclasses @type @swap @update @parent', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass @typeclasses @type @swap @update @parent @typeclasses @type @swap @update @parent @typeclasses @type @swap @update @parent @typeclasses @type @swap @update @parent @typeclasses @type @swap @update @parent', '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.\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': '@update @type @parent @typeclasses @swap', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass update type 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 "}
@@ -1431,7 +1432,7 @@ them by ‘;’, i.e:
-
-
search_index_entry = {'aliases': '@locks', 'category': 'building', 'key': '@lock', 'no_prefix': 'lock @locks', 'tags': '', 'text': "\n assign a lock definition to an object\n\n Usage:\n lock <object or *account>[ = <lockstring>]\n or\n lock[/switch] <object or *account>/<access_type>\n\n Switch:\n del - delete given access type\n view - view lock associated with given access type (default)\n\n If no lockstring is given, shows all locks on\n object.\n\n Lockstring is of the form\n access_type:[NOT] func1(args)[ AND|OR][ NOT] func2(args) ...]\n Where func1, func2 ... valid lockfuncs with or without arguments.\n Separator expressions need not be capitalized.\n\n For example:\n 'get: id(25) or perm(Admin)'\n The 'get' lock access_type is checked e.g. by the 'get' command.\n An object locked with this example lock will only be possible to pick up\n by Admins or by an object with id=25.\n\n You can add several access_types after one another by separating\n them by ';', i.e:\n 'get:id(25); delete:perm(Builder)'\n "}
+search_index_entry = {'aliases': '@locks', 'category': 'building', 'key': '@lock', 'no_prefix': 'lock locks', 'tags': '', 'text': "\n assign a lock definition to an object\n\n Usage:\n lock <object or *account>[ = <lockstring>]\n or\n lock[/switch] <object or *account>/<access_type>\n\n Switch:\n del - delete given access type\n view - view lock associated with given access type (default)\n\n If no lockstring is given, shows all locks on\n object.\n\n Lockstring is of the form\n access_type:[NOT] func1(args)[ AND|OR][ NOT] func2(args) ...]\n Where func1, func2 ... valid lockfuncs with or without arguments.\n Separator expressions need not be capitalized.\n\n For example:\n 'get: id(25) or perm(Admin)'\n The 'get' lock access_type is checked e.g. by the 'get' command.\n An object locked with this example lock will only be possible to pick up\n by Admins or by an object with id=25.\n\n You can add several access_types after one another by separating\n them by ';', i.e:\n 'get:id(25); delete:perm(Builder)'\n "}
@@ -1504,44 +1505,180 @@ If object is not specified, the current location is examined.
--
-
list_attribute(crop, attr, category, value)[source]
-Formats a single attribute line.
+-
+
msg(text)[source]
+Central point for sending messages to the caller. This tags
+the message as ‘examine’ for eventual custom markup in the client.
+
+-
+
text
+The text to send.
-- Parameters
-
-crop (bool) – If output should be cropped if too long.
-attr (str) – Attribute key.
-category (str) – Attribute category.
-value (any) – Attribute value.
-
+- Type
+str
-Returns:
+
+
+
+-
+
format_key(obj)[source]
+
+
+
+-
+
format_aliases(obj)[source]
+
+
+
+-
+
format_typeclass(obj)[source]
+
+
+
+-
+
format_sessions(obj)[source]
+
+
+
+-
+
format_email(obj)[source]
+
+
+
+-
+
format_account_key(account)[source]
+
+
+
+-
+
format_account_typeclass(account)[source]
+
+
+
+-
+
format_account_permissions(account)[source]
+
+
+
+-
+
format_location(obj)[source]
+
+
+
+-
+
format_home(obj)[source]
+
+
+
+-
+
format_destination(obj)[source]
+
+
+
+-
+
format_permissions(obj)[source]
+
+
+
+-
+
format_locks(obj)[source]
+
+
+
+-
+
format_scripts(obj)[source]
+
+
+
+-
+
format_single_tag(tag)[source]
+
+
+
+-
+
format_tags(obj)[source]
+
+
+
+-
+
format_single_cmdset_options(cmdset)[source]
+
+
+
+-
+
format_single_cmdset(cmdset)[source]
+
+
+
+-
+
format_stored_cmdsets(obj)[source]
+
+
+
+-
+
format_merged_cmdsets(obj, current_cmdset)[source]
+
+
+
+-
+
format_current_cmds(obj, current_cmdset)[source]
+
+
+
+-
+
format_single_attribute_detail(obj, attr)[source]
+
+
+
+-
+
format_single_attribute(attr)[source]
+
+
-
-
format_attributes(obj, attrname=None, crop=True)[source]
-Helper function that returns info about attributes and/or
-non-persistent data stored on object
+format_attributes(obj)[source]
+
+
+
+-
+
format_nattributes(obj)[source]
+
+
+
+-
+
format_exits(obj)[source]
+
+
+
+-
+
format_chars(obj)[source]
+
+
+
+-
+
format_things(obj)[source]
+
+
+
+-
+
get_formatted_obj_data(obj, current_cmdset)[source]
+Calls all other format_* methods.
-
format_output(obj, current_cmdset)[source]
-Helper function that creates a nice report about an object.
-
-- Parameters
--
-
-- Returns
-str – The formatted string.
-
-
+Formats the full examine page return.
+
+
+
+-
+
parse()[source]
+We need to expand the default parsing to get all
+the cases, see the module doc.
@@ -1557,7 +1694,7 @@ non-persistent data stored on object
-
-
search_index_entry = {'aliases': '@ex @exam', 'category': 'building', 'key': '@examine', 'no_prefix': 'examine @ex @exam @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\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\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 '}
@@ -1622,7 +1759,7 @@ one is given.
-
-
search_index_entry = {'aliases': '@search @locate', 'category': 'building', 'key': '@find', 'no_prefix': 'find @search @locate @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 '}
+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 '}
@@ -1711,7 +1848,7 @@ higher permissions can always teleport.
-
-
search_index_entry = {'aliases': '@tel', 'category': 'building', 'key': '@teleport', 'no_prefix': 'teleport @tel', 'tags': '', 'text': "\n teleport object to another location\n\n Usage:\n tel/switch [<object> to||=] <target location>\n\n Examples:\n tel Limbo\n tel/quiet box = Limbo\n tel/tonone box\n\n Switches:\n quiet - don't echo leave/arrive messages to the source/target\n locations for the move.\n intoexit - if target is an exit, teleport INTO\n the exit object instead of to its destination\n tonone - if set, teleport the object to a None-location. If this\n switch is set, <target location> is ignored.\n Note that the only way to retrieve\n an object from a None location is by direct #dbref\n reference. A puppeted object cannot be moved to None.\n loc - teleport object to the target's location instead of its contents\n\n Teleports an object somewhere. If no object is given, you yourself are\n teleported to the target location.\n\n To lock an object from being teleported, set its `teleport` lock, it will be\n checked with the caller. To block\n a destination from being teleported to, set the destination's `teleport_here`\n lock - it will be checked with the thing being teleported. Admins and\n higher permissions can always teleport.\n\n "}
+search_index_entry = {'aliases': '@tel', 'category': 'building', 'key': '@teleport', 'no_prefix': 'teleport tel', 'tags': '', 'text': "\n teleport object to another location\n\n Usage:\n tel/switch [<object> to||=] <target location>\n\n Examples:\n tel Limbo\n tel/quiet box = Limbo\n tel/tonone box\n\n Switches:\n quiet - don't echo leave/arrive messages to the source/target\n locations for the move.\n intoexit - if target is an exit, teleport INTO\n the exit object instead of to its destination\n tonone - if set, teleport the object to a None-location. If this\n switch is set, <target location> is ignored.\n Note that the only way to retrieve\n an object from a None location is by direct #dbref\n reference. A puppeted object cannot be moved to None.\n loc - teleport object to the target's location instead of its contents\n\n Teleports an object somewhere. If no object is given, you yourself are\n teleported to the target location.\n\n To lock an object from being teleported, set its `teleport` lock, it will be\n checked with the caller. To block\n a destination from being teleported to, set the destination's `teleport_here`\n lock - it will be checked with the thing being teleported. Admins and\n higher permissions can always teleport.\n\n "}
@@ -1799,7 +1936,7 @@ objects.
-
-
search_index_entry = {'aliases': '@script', 'category': 'system', 'key': '@scripts', 'no_prefix': 'scripts @script', 'tags': '', 'text': "\n List and manage all running scripts. Allows for creating new global\n scripts.\n\n Usage:\n script[/switches] [script-#dbref, key, script.path or <obj>]\n script[/start||stop] <obj> = <script.path or script-key>\n\n Switches:\n start - start/unpause an existing script's timer.\n stop - stops an existing script's timer\n pause - pause a script's timer\n delete - deletes script. This will also stop the timer as needed\n\n Examples:\n script - list scripts\n script myobj - list all scripts on object\n script foo.bar.Script - create a new global Script\n script scriptname - examine named existing global script\n script myobj = foo.bar.Script - create and assign script to object\n script/stop myobj = scriptname - stop script on object\n script/pause foo.Bar.Script - pause global script\n script/delete myobj - delete ALL scripts on object\n\n When given with an `<obj>` as left-hand-side, this creates and\n assigns a new script to that object. Without an `<obj>`, this\n manages and inspects global scripts\n\n If no switches are given, this command just views all active\n scripts. The argument can be either an object, at which point it\n will be searched for all scripts defined on it, or a script name\n or #dbref. For using the /stop switch, a unique script #dbref is\n required since whole classes of scripts often have the same name.\n\n Use the `script` build-level command for managing scripts attached to\n objects.\n\n "}
+search_index_entry = {'aliases': '@script', 'category': 'system', 'key': '@scripts', 'no_prefix': 'scripts script', 'tags': '', 'text': "\n List and manage all running scripts. Allows for creating new global\n scripts.\n\n Usage:\n script[/switches] [script-#dbref, key, script.path or <obj>]\n script[/start||stop] <obj> = <script.path or script-key>\n\n Switches:\n start - start/unpause an existing script's timer.\n stop - stops an existing script's timer\n pause - pause a script's timer\n delete - deletes script. This will also stop the timer as needed\n\n Examples:\n script - list scripts\n script myobj - list all scripts on object\n script foo.bar.Script - create a new global Script\n script scriptname - examine named existing global script\n script myobj = foo.bar.Script - create and assign script to object\n script/stop myobj = scriptname - stop script on object\n script/pause foo.Bar.Script - pause global script\n script/delete myobj - delete ALL scripts on object\n\n When given with an `<obj>` as left-hand-side, this creates and\n assigns a new script to that object. Without an `<obj>`, this\n manages and inspects global scripts\n\n If no switches are given, this command just views all active\n scripts. The argument can be either an object, at which point it\n will be searched for all scripts defined on it, or a script name\n or #dbref. For using the /stop switch, a unique script #dbref is\n required since whole classes of scripts often have the same name.\n\n Use the `script` build-level command for managing scripts attached to\n objects.\n\n "}
@@ -1920,7 +2057,7 @@ enough to for most grouping schemes.
-
-
search_index_entry = {'aliases': '@tags', 'category': 'building', 'key': '@tag', 'no_prefix': 'tag @tags', 'tags': '', 'text': '\n handles the tags of an object\n\n Usage:\n tag[/del] <obj> [= <tag>[:<category>]]\n tag/search <tag>[:<category]\n\n Switches:\n search - return all objects with a given Tag\n del - remove the given tag. If no tag is specified,\n clear all tags on object.\n\n Manipulates and lists tags on objects. Tags allow for quick\n grouping of and searching for objects. If only <obj> is given,\n list all tags on the object. If /search is used, list objects\n with the given tag.\n The category can be used for grouping tags themselves, but it\n should be used with restrain - tags on their own are usually\n enough to for most grouping schemes.\n '}
+search_index_entry = {'aliases': '@tags', 'category': 'building', 'key': '@tag', 'no_prefix': 'tag tags', 'tags': '', 'text': '\n handles the tags of an object\n\n Usage:\n tag[/del] <obj> [= <tag>[:<category>]]\n tag/search <tag>[:<category]\n\n Switches:\n search - return all objects with a given Tag\n del - remove the given tag. If no tag is specified,\n clear all tags on object.\n\n Manipulates and lists tags on objects. Tags allow for quick\n grouping of and searching for objects. If only <obj> is given,\n list all tags on the object. If /search is used, list objects\n with the given tag.\n The category can be used for grouping tags themselves, but it\n should be used with restrain - tags on their own are usually\n enough to for most grouping schemes.\n '}
@@ -2031,7 +2168,7 @@ displays a list of available prototypes.
-
-
search_index_entry = {'aliases': '@olc', 'category': 'building', 'key': '@spawn', 'no_prefix': 'spawn @olc', 'tags': '', 'text': '\n spawn objects from prototype\n\n Usage:\n spawn[/noloc] <prototype_key>\n spawn[/noloc] <prototype_dict>\n\n spawn/search [prototype_keykey][;tag[,tag]]\n spawn/list [tag, tag, ...]\n spawn/list modules - list only module-based prototypes\n spawn/show [<prototype_key>]\n spawn/update <prototype_key>\n\n spawn/save <prototype_dict>\n spawn/edit [<prototype_key>]\n olc - equivalent to spawn/edit\n\n Switches:\n noloc - allow location to be None if not specified explicitly. Otherwise,\n location will default to caller\'s current location.\n search - search prototype by name or tags.\n list - list available prototypes, optionally limit by tags.\n show, examine - inspect prototype by key. If not given, acts like list.\n raw - show the raw dict of the prototype as a one-line string for manual editing.\n save - save a prototype to the database. It will be listable by /list.\n delete - remove a prototype from database, if allowed to.\n update - find existing objects with the same prototype_key and update\n them with latest version of given prototype. If given with /save,\n will auto-update all objects with the old version of the prototype\n without asking first.\n edit, menu, olc - create/manipulate prototype in a menu interface.\n\n Example:\n spawn GOBLIN\n spawn {"key":"goblin", "typeclass":"monster.Monster", "location":"#2"}\n spawn/save {"key": "grunt", prototype: "goblin"};;mobs;edit:all()\n \x0c\n Dictionary keys:\n |wprototype_parent |n - name of parent prototype to use. Required if typeclass is\n not set. Can be a path or a list for multiple inheritance (inherits\n left to right). If set one of the parents must have a typeclass.\n |wtypeclass |n - string. Required if prototype_parent is not set.\n |wkey |n - string, the main object identifier\n |wlocation |n - this should be a valid object or #dbref\n |whome |n - valid object or #dbref\n |wdestination|n - only valid for exits (object or dbref)\n |wpermissions|n - string or list of permission strings\n |wlocks |n - a lock-string\n |waliases |n - string or list of strings.\n |wndb_|n<name> - value of a nattribute (ndb_ is stripped)\n\n |wprototype_key|n - name of this prototype. Unique. Used to store/retrieve from db\n and update existing prototyped objects if desired.\n |wprototype_desc|n - desc of this prototype. Used in listings\n |wprototype_locks|n - locks of this prototype. Limits who may use prototype\n |wprototype_tags|n - tags of this prototype. Used to find prototype\n\n any other keywords are interpreted as Attributes and their values.\n\n The available prototypes are defined globally in modules set in\n settings.PROTOTYPE_MODULES. If spawn is used without arguments it\n displays a list of available prototypes.\n\n '}
+search_index_entry = {'aliases': '@olc', 'category': 'building', 'key': '@spawn', 'no_prefix': 'spawn olc', 'tags': '', 'text': '\n spawn objects from prototype\n\n Usage:\n spawn[/noloc] <prototype_key>\n spawn[/noloc] <prototype_dict>\n\n spawn/search [prototype_keykey][;tag[,tag]]\n spawn/list [tag, tag, ...]\n spawn/list modules - list only module-based prototypes\n spawn/show [<prototype_key>]\n spawn/update <prototype_key>\n\n spawn/save <prototype_dict>\n spawn/edit [<prototype_key>]\n olc - equivalent to spawn/edit\n\n Switches:\n noloc - allow location to be None if not specified explicitly. Otherwise,\n location will default to caller\'s current location.\n search - search prototype by name or tags.\n list - list available prototypes, optionally limit by tags.\n show, examine - inspect prototype by key. If not given, acts like list.\n raw - show the raw dict of the prototype as a one-line string for manual editing.\n save - save a prototype to the database. It will be listable by /list.\n delete - remove a prototype from database, if allowed to.\n update - find existing objects with the same prototype_key and update\n them with latest version of given prototype. If given with /save,\n will auto-update all objects with the old version of the prototype\n without asking first.\n edit, menu, olc - create/manipulate prototype in a menu interface.\n\n Example:\n spawn GOBLIN\n spawn {"key":"goblin", "typeclass":"monster.Monster", "location":"#2"}\n spawn/save {"key": "grunt", prototype: "goblin"};;mobs;edit:all()\n \x0c\n Dictionary keys:\n |wprototype_parent |n - name of parent prototype to use. Required if typeclass is\n not set. Can be a path or a list for multiple inheritance (inherits\n left to right). If set one of the parents must have a typeclass.\n |wtypeclass |n - string. Required if prototype_parent is not set.\n |wkey |n - string, the main object identifier\n |wlocation |n - this should be a valid object or #dbref\n |whome |n - valid object or #dbref\n |wdestination|n - only valid for exits (object or dbref)\n |wpermissions|n - string or list of permission strings\n |wlocks |n - a lock-string\n |waliases |n - string or list of strings.\n |wndb_|n<name> - value of a nattribute (ndb_ is stripped)\n\n |wprototype_key|n - name of this prototype. Unique. Used to store/retrieve from db\n and update existing prototyped objects if desired.\n |wprototype_desc|n - desc of this prototype. Used in listings\n |wprototype_locks|n - locks of this prototype. Limits who may use prototype\n |wprototype_tags|n - tags of this prototype. Used to find prototype\n\n any other keywords are interpreted as Attributes and their values.\n\n The available prototypes are defined globally in modules set in\n settings.PROTOTYPE_MODULES. If spawn is used without arguments it\n displays a list of available prototypes.\n\n '}
diff --git a/docs/0.9.5/api/evennia.commands.default.comms.html b/docs/0.9.5/api/evennia.commands.default.comms.html
index 4312fe95a0..1abeae2df0 100644
--- a/docs/0.9.5/api/evennia.commands.default.comms.html
+++ b/docs/0.9.5/api/evennia.commands.default.comms.html
@@ -195,7 +195,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.
-
-
aliases = ['@chan', '@channels']
+aliases = ['@channels', '@chan']
@@ -721,7 +721,7 @@ don’t actually sub to yet.
-
-
search_index_entry = {'aliases': '@chan @channels', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel @chan @channels @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 "}
+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 "}
@@ -874,7 +874,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.
-
-
aliases = ['@chan', '@channels']
+aliases = ['@channels', '@chan']
@@ -894,7 +894,7 @@ ban mychannel1,mychannel2= EvilUser : Was banned for spamming.
-
-
search_index_entry = {'aliases': '@chan @channels', 'category': 'comms', 'key': '@channel', 'no_prefix': 'channel @chan @channels @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 "}
+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 "}
@@ -960,7 +960,7 @@ multiple targets or if sending to target with space in the name.
-
-
search_index_entry = {'aliases': 'tell', 'category': 'comms', 'key': 'page', 'no_prefix': ' ', 'tags': '', 'text': "\n send a private message to another account\n\n Usage:\n page <account> <message>\n page[/switches] [<account>,<account>,... = <message>]\n tell ''\n page <number>\n\n Switches:\n last - shows who you last messaged\n list - show your last <number> of tells/pages (default)\n\n Send a message to target user (if online). If no argument is given, you\n will get a list of your latest messages. The equal sign is needed for\n multiple targets or if sending to target with space in the name.\n\n "}
+search_index_entry = {'aliases': 'tell', 'category': 'comms', 'key': 'page', 'no_prefix': ' tell', 'tags': '', 'text': "\n send a private message to another account\n\n Usage:\n page <account> <message>\n page[/switches] [<account>,<account>,... = <message>]\n tell ''\n page <number>\n\n Switches:\n last - shows who you last messaged\n list - show your last <number> of tells/pages (default)\n\n Send a message to target user (if online). If no argument is given, you\n will get a list of your latest messages. The equal sign is needed for\n multiple targets or if sending to target with space in the name.\n\n "}
diff --git a/docs/0.9.5/api/evennia.commands.default.general.html b/docs/0.9.5/api/evennia.commands.default.general.html
index 0a43b314b8..4d52ca14e7 100644
--- a/docs/0.9.5/api/evennia.commands.default.general.html
+++ b/docs/0.9.5/api/evennia.commands.default.general.html
@@ -114,7 +114,7 @@ look *<account&g
-
-
aliases = ['ls', 'l']
+aliases = ['l', 'ls']
@@ -145,7 +145,7 @@ look *<account&g
-
-
search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ', '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 '}
@@ -239,7 +239,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': ' ', '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': '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 '}
@@ -293,7 +293,7 @@ inv
-
-
search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' ', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}
+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 '}
@@ -402,7 +402,7 @@ your inventory.
-
-
search_index_entry = {'aliases': 'grab', 'category': 'general', 'key': 'get', 'no_prefix': ' ', 'tags': '', 'text': '\n pick up something\n\n Usage:\n get <obj>\n\n Picks up an object from your location and puts it in\n your inventory.\n '}
+search_index_entry = {'aliases': 'grab', 'category': 'general', 'key': 'get', 'no_prefix': ' grab', 'tags': '', 'text': '\n pick up something\n\n Usage:\n get <obj>\n\n Picks up an object from your location and puts it in\n your inventory.\n '}
@@ -568,7 +568,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 '}
@@ -648,7 +648,7 @@ automatically begin with your name.
-
-
aliases = [':', 'emote']
+aliases = ['emote', ':']
@@ -689,7 +689,7 @@ space.
-
-
search_index_entry = {'aliases': ': emote', 'category': 'general', 'key': 'pose', 'no_prefix': ' ', 'tags': '', 'text': "\n strike a pose\n\n Usage:\n pose <pose text>\n pose's <pose text>\n\n Example:\n pose is standing by the wall, smiling.\n -> others will see:\n Tom is standing by the wall, smiling.\n\n Describe an action being taken. The pose text will\n automatically begin with your name.\n "}
+search_index_entry = {'aliases': 'emote :', 'category': 'general', 'key': 'pose', 'no_prefix': ' emote :', 'tags': '', 'text': "\n strike a pose\n\n Usage:\n pose <pose text>\n pose's <pose text>\n\n Example:\n pose is standing by the wall, smiling.\n -> others will see:\n Tom is standing by the wall, smiling.\n\n Describe an action being taken. The pose text will\n automatically begin with your name.\n "}
@@ -743,7 +743,7 @@ which permission groups you are a member of.
-
-
search_index_entry = {'aliases': 'groups hierarchy', 'category': 'general', 'key': 'access', 'no_prefix': ' ', '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': '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 '}
diff --git a/docs/0.9.5/api/evennia.commands.default.help.html b/docs/0.9.5/api/evennia.commands.default.help.html
index 6150938b84..a060bdce11 100644
--- a/docs/0.9.5/api/evennia.commands.default.help.html
+++ b/docs/0.9.5/api/evennia.commands.default.help.html
@@ -332,7 +332,7 @@ in the full command set (such as @open and open).
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': "\n Get help.\n\n Usage:\n help\n help <topic, command or category>\n help <topic>/<subtopic>\n help <topic>/<subtopic>/<subsubtopic> ...\n\n Use the 'help' command alone to see an index of all help topics, organized\n by category.eSome big topics may offer additional sub-topics.\n\n "}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': "\n Get help.\n\n Usage:\n help\n help <topic, command or category>\n help <topic>/<subtopic>\n help <topic>/<subtopic>/<subsubtopic> ...\n\n Use the 'help' command alone to see an index of all help topics, organized\n by category.eSome big topics may offer additional sub-topics.\n\n "}
@@ -343,7 +343,7 @@ in the full command set (such as @open and open).
Bases: evennia.commands.default.help.CmdHelp
Edit the help database.
-- Usage:
help[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]
+- Usage:
sethelp[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]
- Switches:
edit - open a line editor to edit the topic’s help text.
replace - overwrite existing help topic.
@@ -439,7 +439,7 @@ the user will be able to enter a partial match to access it.
-
-
search_index_entry = {'aliases': '', 'category': 'building', 'key': 'sethelp', 'no_prefix': ' ', 'tags': '', 'text': "\n Edit the help database.\n\n Usage:\n help[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]\n\n Switches:\n edit - open a line editor to edit the topic's help text.\n replace - overwrite existing help topic.\n append - add text to the end of existing topic with a newline between.\n extend - as append, but don't add a newline.\n delete - remove help topic.\n\n Examples:\n sethelp lore = In the beginning was ...\n sethelp/append pickpocketing,Thievery = This steals ...\n sethelp/replace pickpocketing, ,attr(is_thief) = This steals ...\n sethelp/edit thievery\n\n If not assigning a category, the `settings.DEFAULT_HELP_CATEGORY` category\n will be used. If no lockstring is specified, everyone will be able to read\n the help entry. Sub-topics are embedded in the help text.\n\n Note that this cannot modify command-help entries - these are modified\n in-code, outside the game.\n\n # SUBTOPICS\n\n ## Adding subtopics\n\n Subtopics helps to break up a long help entry into sub-sections. Users can\n access subtopics with |whelp topic/subtopic/...|n Subtopics are created and\n stored together with the main topic.\n\n To start adding subtopics, add the text '# SUBTOPICS' on a new line at the\n end of your help text. After this you can now add any number of subtopics,\n each starting with '## <subtopic-name>' on a line, followed by the\n help-text of that subtopic.\n Use '### <subsub-name>' to add a sub-subtopic and so on. Max depth is 5. A\n subtopic's title is case-insensitive and can consist of multiple words -\n the user will be able to enter a partial match to access it.\n\n For example:\n\n | Main help text for <topic>\n |\n | # SUBTOPICS\n |\n | ## about\n |\n | Text for the '<topic>/about' subtopic'\n |\n | ### more about-info\n |\n | Text for the '<topic>/about/more about-info sub-subtopic\n |\n | ## extra\n |\n | Text for the '<topic>/extra' subtopic\n\n "}
+search_index_entry = {'aliases': '', 'category': 'building', 'key': 'sethelp', 'no_prefix': ' ', 'tags': '', 'text': "\n Edit the help database.\n\n Usage:\n sethelp[/switches] <topic>[[;alias;alias][,category[,locks]] [= <text>]\n\n Switches:\n edit - open a line editor to edit the topic's help text.\n replace - overwrite existing help topic.\n append - add text to the end of existing topic with a newline between.\n extend - as append, but don't add a newline.\n delete - remove help topic.\n\n Examples:\n sethelp lore = In the beginning was ...\n sethelp/append pickpocketing,Thievery = This steals ...\n sethelp/replace pickpocketing, ,attr(is_thief) = This steals ...\n sethelp/edit thievery\n\n If not assigning a category, the `settings.DEFAULT_HELP_CATEGORY` category\n will be used. If no lockstring is specified, everyone will be able to read\n the help entry. Sub-topics are embedded in the help text.\n\n Note that this cannot modify command-help entries - these are modified\n in-code, outside the game.\n\n # SUBTOPICS\n\n ## Adding subtopics\n\n Subtopics helps to break up a long help entry into sub-sections. Users can\n access subtopics with |whelp topic/subtopic/...|n Subtopics are created and\n stored together with the main topic.\n\n To start adding subtopics, add the text '# SUBTOPICS' on a new line at the\n end of your help text. After this you can now add any number of subtopics,\n each starting with '## <subtopic-name>' on a line, followed by the\n help-text of that subtopic.\n Use '### <subsub-name>' to add a sub-subtopic and so on. Max depth is 5. A\n subtopic's title is case-insensitive and can consist of multiple words -\n the user will be able to enter a partial match to access it.\n\n For example:\n\n | Main help text for <topic>\n |\n | # SUBTOPICS\n |\n | ## about\n |\n | Text for the '<topic>/about' subtopic'\n |\n | ### more about-info\n |\n | Text for the '<topic>/about/more about-info sub-subtopic\n |\n | ## extra\n |\n | Text for the '<topic>/extra' subtopic\n\n "}
diff --git a/docs/0.9.5/api/evennia.commands.default.system.html b/docs/0.9.5/api/evennia.commands.default.system.html
index a9bf29c742..56579098bc 100644
--- a/docs/0.9.5/api/evennia.commands.default.system.html
+++ b/docs/0.9.5/api/evennia.commands.default.system.html
@@ -95,7 +95,7 @@ If not given, <nr> defaults to 10.
-
-
search_index_entry = {'aliases': '@account', 'category': 'system', 'key': '@accounts', 'no_prefix': 'accounts @account', 'tags': '', 'text': '\n Manage registered accounts\n\n Usage:\n accounts [nr]\n accounts/delete <name or #id> [: reason]\n\n Switches:\n delete - delete an account from the server\n\n By default, lists statistics about the Accounts registered with the game.\n It will list the <nr> amount of latest registered accounts\n If not given, <nr> defaults to 10.\n '}
+search_index_entry = {'aliases': '@account', 'category': 'system', 'key': '@accounts', 'no_prefix': 'accounts account', 'tags': '', 'text': '\n Manage registered accounts\n\n Usage:\n accounts [nr]\n accounts/delete <name or #id> [: reason]\n\n Switches:\n delete - delete an account from the server\n\n By default, lists statistics about the Accounts registered with the game.\n It will list the <nr> amount of latest registered accounts\n If not given, <nr> defaults to 10.\n '}
@@ -145,7 +145,7 @@ reset to purge) and at_reload() hooks will be called.
-
-
search_index_entry = {'aliases': '@restart', 'category': 'system', 'key': '@reload', 'no_prefix': 'reload @restart', 'tags': '', 'text': '\n reload the server\n\n Usage:\n reload [reason]\n\n This restarts the server. The Portal is not\n affected. Non-persistent scripts will survive a reload (use\n reset to purge) and at_reload() hooks will be called.\n '}
+search_index_entry = {'aliases': '@restart', 'category': 'system', 'key': '@reload', 'no_prefix': 'reload restart', 'tags': '', 'text': '\n reload the server\n\n Usage:\n reload [reason]\n\n This restarts the server. The Portal is not\n affected. Non-persistent scripts will survive a reload (use\n reset to purge) and at_reload() hooks will be called.\n '}
@@ -202,7 +202,7 @@ cmdsets etc will be wiped.
-
-
search_index_entry = {'aliases': '@reboot', 'category': 'system', 'key': '@reset', 'no_prefix': 'reset @reboot', 'tags': '', 'text': '\n reset and reboot the server\n\n Usage:\n reset\n\n Notes:\n For normal updating you are recommended to use reload rather\n than this command. Use shutdown for a complete stop of\n everything.\n\n This emulates a cold reboot of the Server component of Evennia.\n The difference to shutdown is that the Server will auto-reboot\n and that it does not affect the Portal, so no users will be\n disconnected. Contrary to reload however, all shutdown hooks will\n be called and any non-database saved scripts, ndb-attributes,\n cmdsets etc will be wiped.\n\n '}
+search_index_entry = {'aliases': '@reboot', 'category': 'system', 'key': '@reset', 'no_prefix': 'reset reboot', 'tags': '', 'text': '\n reset and reboot the server\n\n Usage:\n reset\n\n Notes:\n For normal updating you are recommended to use reload rather\n than this command. Use shutdown for a complete stop of\n everything.\n\n This emulates a cold reboot of the Server component of Evennia.\n The difference to shutdown is that the Server will auto-reboot\n and that it does not affect the Portal, so no users will be\n disconnected. Contrary to reload however, all shutdown hooks will\n be called and any non-database saved scripts, ndb-attributes,\n cmdsets etc will be wiped.\n\n '}
@@ -347,7 +347,7 @@ should only be accessible by trusted server admins/superusers.|n
-
-
search_index_entry = {'aliases': '@!', 'category': 'system', 'key': '@py', 'no_prefix': 'py @!', 'tags': '', 'text': "\n execute a snippet of python code\n\n Usage:\n py [cmd]\n py/edit\n py/time <cmd>\n py/clientraw <cmd>\n py/noecho\n\n Switches:\n time - output an approximate execution time for <cmd>\n edit - open a code editor for multi-line code experimentation\n clientraw - turn off all client-specific escaping. Note that this may\n lead to different output depending on prototocol (such as angular brackets\n being parsed as HTML in the webclient but not in telnet clients)\n noecho - in Python console mode, turn off the input echo (e.g. if your client\n does this for you already)\n\n Without argument, open a Python console in-game. This is a full console,\n accepting multi-line Python code for testing and debugging. Type `exit()` to\n return to the game. If Evennia is reloaded, the console will be closed.\n\n Enter a line of instruction after the 'py' command to execute it\n immediately. Separate multiple commands by ';' or open the code editor\n using the /edit switch (all lines added in editor will be executed\n immediately when closing or using the execute command in the editor).\n\n A few variables are made available for convenience in order to offer access\n to the system (you can import more at execution time).\n\n Available variables in py environment:\n self, me : caller\n here : caller.location\n evennia : the evennia API\n inherits_from(obj, parent) : check object inheritance\n\n You can explore The evennia API from inside the game by calling\n the `__doc__` property on entities:\n py evennia.__doc__\n py evennia.managers.__doc__\n\n |rNote: In the wrong hands this command is a severe security risk. It\n should only be accessible by trusted server admins/superusers.|n\n\n "}
+search_index_entry = {'aliases': '@!', 'category': 'system', 'key': '@py', 'no_prefix': 'py !', 'tags': '', 'text': "\n execute a snippet of python code\n\n Usage:\n py [cmd]\n py/edit\n py/time <cmd>\n py/clientraw <cmd>\n py/noecho\n\n Switches:\n time - output an approximate execution time for <cmd>\n edit - open a code editor for multi-line code experimentation\n clientraw - turn off all client-specific escaping. Note that this may\n lead to different output depending on prototocol (such as angular brackets\n being parsed as HTML in the webclient but not in telnet clients)\n noecho - in Python console mode, turn off the input echo (e.g. if your client\n does this for you already)\n\n Without argument, open a Python console in-game. This is a full console,\n accepting multi-line Python code for testing and debugging. Type `exit()` to\n return to the game. If Evennia is reloaded, the console will be closed.\n\n Enter a line of instruction after the 'py' command to execute it\n immediately. Separate multiple commands by ';' or open the code editor\n using the /edit switch (all lines added in editor will be executed\n immediately when closing or using the execute command in the editor).\n\n A few variables are made available for convenience in order to offer access\n to the system (you can import more at execution time).\n\n Available variables in py environment:\n self, me : caller\n here : caller.location\n evennia : the evennia API\n inherits_from(obj, parent) : check object inheritance\n\n You can explore The evennia API from inside the game by calling\n the `__doc__` property on entities:\n py evennia.__doc__\n py evennia.managers.__doc__\n\n |rNote: In the wrong hands this command is a severe security risk. It\n should only be accessible by trusted server admins/superusers.|n\n\n "}
@@ -409,7 +409,7 @@ in the list.
-
-
search_index_entry = {'aliases': '@services', 'category': 'system', 'key': '@service', 'no_prefix': 'service @services', 'tags': '', 'text': '\n manage system services\n\n Usage:\n service[/switch] <service>\n\n Switches:\n list - shows all available services (default)\n start - activates or reactivate a service\n stop - stops/inactivate a service (can often be restarted)\n delete - tries to permanently remove a service\n\n Service management system. Allows for the listing,\n starting, and stopping of services. If no switches\n are given, services will be listed. Note that to operate on the\n service you have to supply the full (green or red) name as given\n in the list.\n '}
+search_index_entry = {'aliases': '@services', 'category': 'system', 'key': '@service', 'no_prefix': 'service services', 'tags': '', 'text': '\n manage system services\n\n Usage:\n service[/switch] <service>\n\n Switches:\n list - shows all available services (default)\n start - activates or reactivate a service\n stop - stops/inactivate a service (can often be restarted)\n delete - tries to permanently remove a service\n\n Service management system. Allows for the listing,\n starting, and stopping of services. If no switches\n are given, services will be listed. Note that to operate on the\n service you have to supply the full (green or red) name as given\n in the list.\n '}
@@ -457,7 +457,7 @@ in the list.
-
-
search_index_entry = {'aliases': '@version', 'category': 'system', 'key': '@about', 'no_prefix': 'about @version', 'tags': '', 'text': '\n show Evennia info\n\n Usage:\n about\n\n Display info about the game engine.\n '}
+search_index_entry = {'aliases': '@version', 'category': 'system', 'key': '@about', 'no_prefix': 'about version', 'tags': '', 'text': '\n show Evennia info\n\n Usage:\n about\n\n Display info about the game engine.\n '}
@@ -506,7 +506,7 @@ and the current time stamp.
-
-
search_index_entry = {'aliases': '@uptime', 'category': 'system', 'key': '@time', 'no_prefix': 'time @uptime', 'tags': '', 'text': '\n show server time statistics\n\n Usage:\n time\n\n List Server time statistics such as uptime\n and the current time stamp.\n '}
+search_index_entry = {'aliases': '@uptime', 'category': 'system', 'key': '@time', 'no_prefix': 'time uptime', 'tags': '', 'text': '\n show server time statistics\n\n Usage:\n time\n\n List Server time statistics such as uptime\n and the current time stamp.\n '}
@@ -579,7 +579,7 @@ the released memory will instead be re-used by the program.
-
-
search_index_entry = {'aliases': '@serverload', 'category': 'system', 'key': '@server', 'no_prefix': 'server @serverload', 'tags': '', 'text': "\n show server load and memory statistics\n\n Usage:\n server[/mem]\n\n Switches:\n mem - return only a string of the current memory usage\n flushmem - flush the idmapper cache\n\n This command shows server load statistics and dynamic memory\n usage. It also allows to flush the cache of accessed database\n objects.\n\n Some Important statistics in the table:\n\n |wServer load|n is an average of processor usage. It's usually\n between 0 (no usage) and 1 (100% usage), but may also be\n temporarily higher if your computer has multiple CPU cores.\n\n The |wResident/Virtual memory|n displays the total memory used by\n the server process.\n\n Evennia |wcaches|n all retrieved database entities when they are\n loaded by use of the idmapper functionality. This allows Evennia\n to maintain the same instances of an entity and allowing\n non-persistent storage schemes. The total amount of cached objects\n are displayed plus a breakdown of database object types.\n\n The |wflushmem|n switch allows to flush the object cache. Please\n note that due to how Python's memory management works, releasing\n caches may not show you a lower Residual/Virtual memory footprint,\n the released memory will instead be re-used by the program.\n\n "}
+search_index_entry = {'aliases': '@serverload', 'category': 'system', 'key': '@server', 'no_prefix': 'server serverload', 'tags': '', 'text': "\n show server load and memory statistics\n\n Usage:\n server[/mem]\n\n Switches:\n mem - return only a string of the current memory usage\n flushmem - flush the idmapper cache\n\n This command shows server load statistics and dynamic memory\n usage. It also allows to flush the cache of accessed database\n objects.\n\n Some Important statistics in the table:\n\n |wServer load|n is an average of processor usage. It's usually\n between 0 (no usage) and 1 (100% usage), but may also be\n temporarily higher if your computer has multiple CPU cores.\n\n The |wResident/Virtual memory|n displays the total memory used by\n the server process.\n\n Evennia |wcaches|n all retrieved database entities when they are\n loaded by use of the idmapper functionality. This allows Evennia\n to maintain the same instances of an entity and allowing\n non-persistent storage schemes. The total amount of cached objects\n are displayed plus a breakdown of database object types.\n\n The |wflushmem|n switch allows to flush the object cache. Please\n note that due to how Python's memory management works, releasing\n caches may not show you a lower Residual/Virtual memory footprint,\n the released memory will instead be re-used by the program.\n\n "}
@@ -622,7 +622,7 @@ See |luhttps://ww
-
-
aliases = ['@delays', '@task']
+aliases = ['@task', '@delays']
@@ -668,7 +668,7 @@ to all the variables defined therein.
-
-
search_index_entry = {'aliases': '@delays @task', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks @delays @task @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/0.9.5/api/evennia.commands.default.tests.html b/docs/0.9.5/api/evennia.commands.default.tests.html
index 8726fca9de..f768819bd2 100644
--- a/docs/0.9.5/api/evennia.commands.default.tests.html
+++ b/docs/0.9.5/api/evennia.commands.default.tests.html
@@ -821,6 +821,17 @@ the proper order:
+
+-
+class
evennia.commands.default.tests.TestComms(methodName='runTest')[source]
+Bases: evennia.commands.default.tests.CommandTest
+
+-
+
test_page()[source]
+
+
+
+
-
class
evennia.commands.default.tests.TestBatchProcess(methodName='runTest')[source]
diff --git a/docs/0.9.5/api/evennia.commands.default.unloggedin.html b/docs/0.9.5/api/evennia.commands.default.unloggedin.html
index eafac78f59..7d6f242a83 100644
--- a/docs/0.9.5/api/evennia.commands.default.unloggedin.html
+++ b/docs/0.9.5/api/evennia.commands.default.unloggedin.html
@@ -61,7 +61,7 @@ connect “account name” “pass word”
-
-
aliases = ['conn', 'con', 'co']
+aliases = ['con', 'co', 'conn']
@@ -96,7 +96,7 @@ there is no object yet before the account has logged in)
-
-
search_index_entry = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'no_prefix': ' ', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
+search_index_entry = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' con co conn', '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 '}
@@ -120,7 +120,7 @@ create “account name” “pass word”
-
-
aliases = ['cr', 'cre']
+aliases = ['cre', 'cr']
@@ -151,7 +151,7 @@ create “account name” “pass word”
-
-
search_index_entry = {'aliases': 'cr cre', 'category': 'general', 'key': 'create', 'no_prefix': ' ', 'tags': '', 'text': '\n create a new account account\n\n Usage (at login screen):\n create <accountname> <password>\n create "account name" "pass word"\n\n This creates a new account account.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
+search_index_entry = {'aliases': 'cre cr', 'category': 'general', 'key': 'create', 'no_prefix': ' cre cr', 'tags': '', 'text': '\n create a new account account\n\n Usage (at login screen):\n create <accountname> <password>\n create "account name" "pass word"\n\n This creates a new account account.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
@@ -175,7 +175,7 @@ version is a bit more complicated.
-
-
aliases = ['qu', 'q']
+aliases = ['q', 'qu']
@@ -201,7 +201,7 @@ version is a bit more complicated.
-
-
search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' ', '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': '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 '}
@@ -251,7 +251,7 @@ All it does is display the connect screen.
-
-
search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' ', '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': '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 '}
@@ -300,7 +300,7 @@ for simplicity. It shows a pane of info.
-
-
search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
+search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
@@ -357,7 +357,7 @@ instead.
-
-
search_index_entry = {'aliases': 'encode', 'category': 'general', 'key': 'encoding', 'no_prefix': ' ', 'tags': '', 'text': "\n set which text encoding to use in unconnected-in state\n\n Usage:\n encoding/switches [<encoding>]\n\n Switches:\n clear - clear your custom encoding\n\n\n This sets the text encoding for communicating with Evennia. This is mostly\n an issue only if you want to use non-ASCII characters (i.e. letters/symbols\n not found in English). If you see that your characters look strange (or you\n get encoding errors), you should use this command to set the server\n encoding to be the same used in your client program.\n\n Common encodings are utf-8 (default), latin-1, ISO-8859-1 etc.\n\n If you don't submit an encoding, the current encoding will be displayed\n instead.\n "}
+search_index_entry = {'aliases': 'encode', 'category': 'general', 'key': 'encoding', 'no_prefix': ' encode', 'tags': '', 'text': "\n set which text encoding to use in unconnected-in state\n\n Usage:\n encoding/switches [<encoding>]\n\n Switches:\n clear - clear your custom encoding\n\n\n This sets the text encoding for communicating with Evennia. This is mostly\n an issue only if you want to use non-ASCII characters (i.e. letters/symbols\n not found in English). If you see that your characters look strange (or you\n get encoding errors), you should use this command to set the server\n encoding to be the same used in your client program.\n\n Common encodings are utf-8 (default), latin-1, ISO-8859-1 etc.\n\n If you don't submit an encoding, the current encoding will be displayed\n instead.\n "}
diff --git a/docs/0.9.5/api/evennia.contrib.barter.html b/docs/0.9.5/api/evennia.contrib.barter.html
index 165f0badfb..c45f36b7e6 100644
--- a/docs/0.9.5/api/evennia.contrib.barter.html
+++ b/docs/0.9.5/api/evennia.contrib.barter.html
@@ -556,7 +556,7 @@ the current offer using the ‘offers’ command.
-
-
search_index_entry = {'aliases': 'agree', 'category': 'trading', 'key': 'accept', 'no_prefix': ' ', 'tags': '', 'text': "\n accept the standing offer\n\n Usage:\n accept [:emote]\n agreee [:emote]\n\n This will accept the current offer. The other party must also accept\n for the deal to go through. You can use the 'decline' command to change\n your mind as long as the other party has not yet accepted. You can inspect\n the current offer using the 'offers' command.\n "}
+search_index_entry = {'aliases': 'agree', 'category': 'trading', 'key': 'accept', 'no_prefix': ' agree', 'tags': '', 'text': "\n accept the standing offer\n\n Usage:\n accept [:emote]\n agreee [:emote]\n\n This will accept the current offer. The other party must also accept\n for the deal to go through. You can use the 'decline' command to change\n your mind as long as the other party has not yet accepted. You can inspect\n the current offer using the 'offers' command.\n "}
@@ -656,7 +656,7 @@ determine if it’s worth your while.
-
-
search_index_entry = {'aliases': 'eval', 'category': 'trading', 'key': 'evaluate', 'no_prefix': ' ', 'tags': '', 'text': "\n evaluate objects on offer\n\n Usage:\n evaluate <offered object>\n\n This allows you to examine any object currently on offer, to\n determine if it's worth your while.\n "}
+search_index_entry = {'aliases': 'eval', 'category': 'trading', 'key': 'evaluate', 'no_prefix': ' eval', 'tags': '', 'text': "\n evaluate objects on offer\n\n Usage:\n evaluate <offered object>\n\n This allows you to examine any object currently on offer, to\n determine if it's worth your while.\n "}
@@ -683,7 +683,7 @@ try to influence the other part in the deal.
-
-
aliases = ['deal', 'offers']
+aliases = ['offers', 'deal']
@@ -709,7 +709,7 @@ try to influence the other part in the deal.
-
-
search_index_entry = {'aliases': 'deal offers', 'category': 'trading', 'key': 'status', 'no_prefix': ' ', 'tags': '', 'text': "\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n "}
+search_index_entry = {'aliases': 'offers deal', 'category': 'trading', 'key': 'status', 'no_prefix': ' offers deal', 'tags': '', 'text': "\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n "}
@@ -758,7 +758,7 @@ finish trade [:say]
-
-
search_index_entry = {'aliases': 'finish trade', 'category': 'trading', 'key': 'end trade', 'no_prefix': ' ', 'tags': '', 'text': '\n end the trade prematurely\n\n Usage:\n end trade [:say]\n finish trade [:say]\n\n This ends the trade prematurely. No trade will take place.\n\n '}
+search_index_entry = {'aliases': 'finish trade', 'category': 'trading', 'key': 'end trade', 'no_prefix': ' finish trade', 'tags': '', 'text': '\n end the trade prematurely\n\n Usage:\n end trade [:say]\n finish trade [:say]\n\n This ends the trade prematurely. No trade will take place.\n\n '}
@@ -837,7 +837,7 @@ info to your choice.
-
-
search_index_entry = {'aliases': 'barter', 'category': 'general', 'key': 'trade', 'no_prefix': ' ', 'tags': '', 'text': '\n Initiate trade with another party\n\n Usage:\n trade <other party> [:say]\n trade <other party> accept [:say]\n trade <other party> decline [:say]\n\n Initiate trade with another party. The other party needs to repeat\n this command with trade accept/decline within a minute in order to\n properly initiate the trade action. You can use the decline option\n yourself if you want to retract an already suggested trade. The\n optional say part works like the say command and allows you to add\n info to your choice.\n '}
+search_index_entry = {'aliases': 'barter', 'category': 'general', 'key': 'trade', 'no_prefix': ' barter', 'tags': '', 'text': '\n Initiate trade with another party\n\n Usage:\n trade <other party> [:say]\n trade <other party> accept [:say]\n trade <other party> decline [:say]\n\n Initiate trade with another party. The other party needs to repeat\n this command with trade accept/decline within a minute in order to\n properly initiate the trade action. You can use the decline option\n yourself if you want to retract an already suggested trade. The\n optional say part works like the say command and allows you to add\n info to your choice.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.chargen.html b/docs/0.9.5/api/evennia.contrib.chargen.html
index a79f6b37f6..2421b3e7e1 100644
--- a/docs/0.9.5/api/evennia.contrib.chargen.html
+++ b/docs/0.9.5/api/evennia.contrib.chargen.html
@@ -79,7 +79,7 @@ at them with this command.
-
-
aliases = ['ls', 'l']
+aliases = ['l', 'ls']
@@ -111,7 +111,7 @@ that is checked by the @ic command directly.
-
-
search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ', 'tags': '', 'text': '\n ooc look\n\n Usage:\n look\n look <character>\n\n This is an OOC version of the look command. Since an Account doesn\'t\n have an in-game existence, there is no concept of location or\n "self".\n\n If any characters are available for you to control, you may look\n at them with this command.\n '}
+search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n ooc look\n\n Usage:\n look\n look <character>\n\n This is an OOC version of the look command. Since an Account doesn\'t\n have an in-game existence, there is no concept of location or\n "self".\n\n If any characters are available for you to control, you may look\n at them with this command.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.clothing.html b/docs/0.9.5/api/evennia.contrib.clothing.html
index cf73a7be77..5c4ede8429 100644
--- a/docs/0.9.5/api/evennia.contrib.clothing.html
+++ b/docs/0.9.5/api/evennia.contrib.clothing.html
@@ -661,7 +661,7 @@ inv
-
-
search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' ', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}
+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 '}
diff --git a/docs/0.9.5/api/evennia.contrib.dice.html b/docs/0.9.5/api/evennia.contrib.dice.html
index 695f196262..3020a1e02c 100644
--- a/docs/0.9.5/api/evennia.contrib.dice.html
+++ b/docs/0.9.5/api/evennia.contrib.dice.html
@@ -177,7 +177,7 @@ everyone but the person rolling.
-
-
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 "}
+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/0.9.5/api/evennia.contrib.email_login.html b/docs/0.9.5/api/evennia.contrib.email_login.html
index db209b8029..86d0d6ca54 100644
--- a/docs/0.9.5/api/evennia.contrib.email_login.html
+++ b/docs/0.9.5/api/evennia.contrib.email_login.html
@@ -76,7 +76,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.
-
-
aliases = ['conn', 'con', 'co']
+aliases = ['con', 'co', 'conn']
@@ -106,7 +106,7 @@ there is no object yet before the account has logged in)
-
-
search_index_entry = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'no_prefix': ' ', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}
+search_index_entry = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' con co conn', '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 '}
@@ -128,7 +128,7 @@ there is no object yet before the account has logged in)
-
-
aliases = ['cr', 'cre']
+aliases = ['cre', 'cr']
@@ -164,7 +164,7 @@ name enclosed in quotes:
-
-
search_index_entry = {'aliases': 'cr cre', 'category': 'general', 'key': 'create', 'no_prefix': ' ', 'tags': '', 'text': '\n Create a new account.\n\n Usage (at login screen):\n create "accountname" <email> <password>\n\n This creates a new account account.\n\n '}
+search_index_entry = {'aliases': 'cre cr', 'category': 'general', 'key': 'create', 'no_prefix': ' cre cr', 'tags': '', 'text': '\n Create a new account.\n\n Usage (at login screen):\n create "accountname" <email> <password>\n\n This creates a new account account.\n\n '}
@@ -183,7 +183,7 @@ version is a bit more complicated.
-
-
aliases = ['qu', 'q']
+aliases = ['q', 'qu']
@@ -209,7 +209,7 @@ version is a bit more complicated.
-
-
search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' ', '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': '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 '}
@@ -254,7 +254,7 @@ All it does is display the connect screen.
-
-
search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' ', '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': '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 '}
@@ -298,7 +298,7 @@ for simplicity. It shows a pane of info.
-
-
search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
+search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.extended_room.html b/docs/0.9.5/api/evennia.contrib.extended_room.html
index a5cc333803..d86675302d 100644
--- a/docs/0.9.5/api/evennia.contrib.extended_room.html
+++ b/docs/0.9.5/api/evennia.contrib.extended_room.html
@@ -278,7 +278,7 @@ look *<account&g
-
-
aliases = ['ls', 'l']
+aliases = ['l', 'ls']
@@ -298,7 +298,7 @@ look *<account&g
-
-
search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ', '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 '}
@@ -366,7 +366,7 @@ version of the desc command.
-
-
search_index_entry = {'aliases': 'describe', 'category': 'building', 'key': '@desc', 'no_prefix': 'desc ', 'tags': '', 'text': '\n `desc` - describe an object or room.\n\n Usage:\n desc[/switch] [<obj> =] <description>\n\n Switches for `desc`:\n spring - set description for <season> in current room.\n summer\n autumn\n winter\n\n Sets the "desc" attribute on an object. If an object is not given,\n describe the current room.\n\n You can also embed special time markers in your room description, like this:\n\n ```\n <night>In the darkness, the forest looks foreboding.</night>.\n ```\n\n Text marked this way will only display when the server is truly at the given\n timeslot. The available times are night, morning, afternoon and evening.\n\n Note that seasons and time-of-day slots only work on rooms in this\n version of the `desc` command.\n\n '}
+search_index_entry = {'aliases': 'describe', 'category': 'building', 'key': '@desc', 'no_prefix': 'desc describe', 'tags': '', 'text': '\n `desc` - describe an object or room.\n\n Usage:\n desc[/switch] [<obj> =] <description>\n\n Switches for `desc`:\n spring - set description for <season> in current room.\n summer\n autumn\n winter\n\n Sets the "desc" attribute on an object. If an object is not given,\n describe the current room.\n\n You can also embed special time markers in your room description, like this:\n\n ```\n <night>In the darkness, the forest looks foreboding.</night>.\n ```\n\n Text marked this way will only display when the server is truly at the given\n timeslot. The available times are night, morning, afternoon and evening.\n\n Note that seasons and time-of-day slots only work on rooms in this\n version of the `desc` command.\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.gendersub.html b/docs/0.9.5/api/evennia.contrib.gendersub.html
index ea06904aa7..0b76066554 100644
--- a/docs/0.9.5/api/evennia.contrib.gendersub.html
+++ b/docs/0.9.5/api/evennia.contrib.gendersub.html
@@ -114,7 +114,7 @@ default cmdset before it becomes available.
-
-
search_index_entry = {'aliases': '@sex', 'category': 'general', 'key': '@gender', 'no_prefix': 'gender @sex', 'tags': '', 'text': '\n Sets gender on yourself\n\n Usage:\n @gender male||female||neutral||ambiguous\n\n '}
+search_index_entry = {'aliases': '@sex', 'category': 'general', 'key': '@gender', 'no_prefix': 'gender sex', 'tags': '', 'text': '\n Sets gender on yourself\n\n Usage:\n @gender male||female||neutral||ambiguous\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html b/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html
index 08e4bc4249..6bcd01a9c1 100644
--- a/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html
+++ b/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html
@@ -54,7 +54,7 @@
-
-
aliases = ['@callbacks', '@callback', '@calls']
+aliases = ['@callbacks', '@calls', '@callback']
@@ -135,7 +135,7 @@ on user permission.
-
-
search_index_entry = {'aliases': '@callbacks @callback @calls', 'category': 'building', 'key': '@call', 'no_prefix': 'call @callbacks @callback @calls @callbacks @callback @calls @callbacks @callback @calls', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
+search_index_entry = {'aliases': '@callbacks @calls @callback', 'category': 'building', 'key': '@call', 'no_prefix': 'call callbacks calls callback', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.mail.html b/docs/0.9.5/api/evennia.contrib.mail.html
index f330d8692c..5b63b4d1ce 100644
--- a/docs/0.9.5/api/evennia.contrib.mail.html
+++ b/docs/0.9.5/api/evennia.contrib.mail.html
@@ -222,7 +222,7 @@ the newly created mails.
-
-
search_index_entry = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail ', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}
+search_index_entry = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail mail', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}
@@ -295,7 +295,7 @@ reply - Replies to a received message, appending the original message to the b
-
-
search_index_entry = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail ', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}
+search_index_entry = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail mail', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.multidescer.html b/docs/0.9.5/api/evennia.contrib.multidescer.html
index 42615efbdb..941f6b9dea 100644
--- a/docs/0.9.5/api/evennia.contrib.multidescer.html
+++ b/docs/0.9.5/api/evennia.contrib.multidescer.html
@@ -120,7 +120,7 @@ description in use and db.multidesc to store all descriptions.<
-
-
search_index_entry = {'aliases': 'desc', 'category': 'general', 'key': '+desc', 'no_prefix': 'desc ', 'tags': '', 'text': '\n Manage multiple descriptions\n\n Usage:\n +desc [key] - show current desc desc with <key>\n +desc <key> = <text> - add/replace desc with <key>\n +desc/list - list descriptions (abbreviated)\n +desc/list/full - list descriptions (full texts)\n +desc/edit <key> - add/edit desc <key> in line editor\n +desc/del <key> - delete desc <key>\n +desc/swap <key1>-<key2> - swap positions of <key1> and <key2> in list\n +desc/set <key> [+key+...] - set desc as default or combine multiple descs\n\n Notes:\n When combining multiple descs with +desc/set <key> + <key2> + ...,\n any keys not matching an actual description will be inserted\n as plain text. Use e.g. ansi line break ||/ to add a new\n paragraph and + + or ansi space ||_ to add extra whitespace.\n\n '}
+search_index_entry = {'aliases': 'desc', 'category': 'general', 'key': '+desc', 'no_prefix': 'desc desc', 'tags': '', 'text': '\n Manage multiple descriptions\n\n Usage:\n +desc [key] - show current desc desc with <key>\n +desc <key> = <text> - add/replace desc with <key>\n +desc/list - list descriptions (abbreviated)\n +desc/list/full - list descriptions (full texts)\n +desc/edit <key> - add/edit desc <key> in line editor\n +desc/del <key> - delete desc <key>\n +desc/swap <key1>-<key2> - swap positions of <key1> and <key2> in list\n +desc/set <key> [+key+...] - set desc as default or combine multiple descs\n\n Notes:\n When combining multiple descs with +desc/set <key> + <key2> + ...,\n any keys not matching an actual description will be inserted\n as plain text. Use e.g. ansi line break ||/ to add a new\n paragraph and + + or ansi space ||_ to add extra whitespace.\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.puzzles.html b/docs/0.9.5/api/evennia.contrib.puzzles.html
index 814ede843a..ac7cab3101 100644
--- a/docs/0.9.5/api/evennia.contrib.puzzles.html
+++ b/docs/0.9.5/api/evennia.contrib.puzzles.html
@@ -210,7 +210,7 @@ to all the variables defined therein.
-
-
search_index_entry = {'aliases': '@puzzlerecipe', 'category': 'puzzles', 'key': '@puzzle', 'no_prefix': 'puzzle @puzzlerecipe', 'tags': '', 'text': "\n Creates a puzzle recipe. A puzzle consists of puzzle-parts that\n the player can 'use' together to create a specified result.\n\n Usage:\n @puzzle name,<part1[,part2,...>] = <result1[,result2,...]>\n\n Example:\n create/drop balloon\n create/drop glass of water\n create/drop water balloon\n @puzzle waterballon,balloon,glass of water = water balloon\n @del ballon, glass of water, water balloon\n @armpuzzle #1\n\n Notes:\n Each part and result are objects that must (temporarily) exist and be placed in their\n corresponding location in order to create the puzzle. After the creation of the puzzle,\n these objects are not needed anymore and can be deleted. Components of the puzzle\n will be re-created by use of the `@armpuzzle` command later.\n\n "}
+search_index_entry = {'aliases': '@puzzlerecipe', 'category': 'puzzles', 'key': '@puzzle', 'no_prefix': 'puzzle puzzlerecipe', 'tags': '', 'text': "\n Creates a puzzle recipe. A puzzle consists of puzzle-parts that\n the player can 'use' together to create a specified result.\n\n Usage:\n @puzzle name,<part1[,part2,...>] = <result1[,result2,...]>\n\n Example:\n create/drop balloon\n create/drop glass of water\n create/drop water balloon\n @puzzle waterballon,balloon,glass of water = water balloon\n @del ballon, glass of water, water balloon\n @armpuzzle #1\n\n Notes:\n Each part and result are objects that must (temporarily) exist and be placed in their\n corresponding location in order to create the puzzle. After the creation of the puzzle,\n these objects are not needed anymore and can be deleted. Components of the puzzle\n will be re-created by use of the `@armpuzzle` command later.\n\n "}
@@ -383,7 +383,7 @@ to all the variables defined therein.
-
-
search_index_entry = {'aliases': 'combine', 'category': 'puzzles', 'key': 'use', 'no_prefix': ' ', 'tags': '', 'text': '\n Use an object, or a group of objects at once.\n\n\n Example:\n You look around you and see a pole, a long string, and a needle.\n\n use pole, long string, needle\n\n Genius! You built a fishing pole.\n\n\n Usage:\n use <obj1> [,obj2,...]\n '}
+search_index_entry = {'aliases': 'combine', 'category': 'puzzles', 'key': 'use', 'no_prefix': ' combine', 'tags': '', 'text': '\n Use an object, or a group of objects at once.\n\n\n Example:\n You look around you and see a pole, a long string, and a needle.\n\n use pole, long string, needle\n\n Genius! You built a fishing pole.\n\n\n Usage:\n use <obj1> [,obj2,...]\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.rpsystem.html b/docs/0.9.5/api/evennia.contrib.rpsystem.html
index 7294e3e8df..57701c3d0b 100644
--- a/docs/0.9.5/api/evennia.contrib.rpsystem.html
+++ b/docs/0.9.5/api/evennia.contrib.rpsystem.html
@@ -644,7 +644,7 @@ a different language.
-
-
search_index_entry = {'aliases': ':', 'category': 'general', 'key': 'emote', 'no_prefix': ' ', 'tags': '', 'text': '\n Emote an action, allowing dynamic replacement of\n text in the emote.\n\n Usage:\n emote text\n\n Example:\n emote /me looks around.\n emote With a flurry /me attacks /tall man with his sword.\n emote "Hello", /me says.\n\n Describes an event in the world. This allows the use of /ref\n markers to replace with the short descriptions or recognized\n strings of objects in the same room. These will be translated to\n emotes to match each person seeing it. Use "..." for saying\n things and langcode"..." without spaces to say something in\n a different language.\n\n '}
+search_index_entry = {'aliases': ':', 'category': 'general', 'key': 'emote', 'no_prefix': ' :', 'tags': '', 'text': '\n Emote an action, allowing dynamic replacement of\n text in the emote.\n\n Usage:\n emote text\n\n Example:\n emote /me looks around.\n emote With a flurry /me attacks /tall man with his sword.\n emote "Hello", /me says.\n\n Describes an event in the world. This allows the use of /ref\n markers to replace with the short descriptions or recognized\n strings of objects in the same room. These will be translated to\n emotes to match each person seeing it. Use "..." for saying\n things and langcode"..." without spaces to say something in\n a different language.\n\n '}
@@ -697,7 +697,7 @@ a different language.
-
-
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 '}
@@ -836,7 +836,7 @@ Using the command without arguments will list all current recogs.
-
-
aliases = ['recognize', 'forget']
+aliases = ['forget', 'recognize']
@@ -863,7 +863,7 @@ Using the command without arguments will list all current recogs.
-
-
search_index_entry = {'aliases': 'recognize forget', 'category': 'general', 'key': 'recog', 'no_prefix': ' ', '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': '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 '}
@@ -912,7 +912,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'unmask', 'category': 'general', 'key': 'mask', 'no_prefix': ' ', 'tags': '', 'text': "\n Wear a mask\n\n Usage:\n mask <new sdesc>\n unmask\n\n This will put on a mask to hide your identity. When wearing\n a mask, your sdesc will be replaced by the sdesc you pick and\n people's recognitions of you will be disabled.\n\n "}
+search_index_entry = {'aliases': 'unmask', 'category': 'general', 'key': 'mask', 'no_prefix': ' unmask', 'tags': '', 'text': "\n Wear a mask\n\n Usage:\n mask <new sdesc>\n unmask\n\n This will put on a mask to hide your identity. When wearing\n a mask, your sdesc will be replaced by the sdesc you pick and\n people's recognitions of you will be disabled.\n\n "}
diff --git a/docs/0.9.5/api/evennia.contrib.simpledoor.html b/docs/0.9.5/api/evennia.contrib.simpledoor.html
index 60bac2ee84..d3054b994c 100644
--- a/docs/0.9.5/api/evennia.contrib.simpledoor.html
+++ b/docs/0.9.5/api/evennia.contrib.simpledoor.html
@@ -232,7 +232,7 @@ close <door>
-
-
search_index_entry = {'aliases': 'close', 'category': 'general', 'key': 'open', 'no_prefix': ' ', 'tags': '', 'text': '\n Open and close a door\n\n Usage:\n open <door>\n close <door>\n\n '}
+search_index_entry = {'aliases': 'close', 'category': 'general', 'key': 'open', 'no_prefix': ' close', 'tags': '', 'text': '\n Open and close a door\n\n Usage:\n open <door>\n close <door>\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_basic.html b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_basic.html
index 0f1319d856..1e38e4755b 100644
--- a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_basic.html
+++ b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_basic.html
@@ -593,7 +593,7 @@ if there are still any actions you can take.
-
-
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' ', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
+search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
@@ -638,7 +638,7 @@ fight ends.
-
-
search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' ', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
+search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' spare', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
@@ -728,7 +728,7 @@ topics related to the game.
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_equip.html b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_equip.html
index 7f1d7b4cf6..844342e68d 100644
--- a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_equip.html
+++ b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_equip.html
@@ -710,7 +710,7 @@ if there are still any actions you can take.
-
-
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' ', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
+search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
@@ -755,7 +755,7 @@ fight ends.
-
-
search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' ', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
+search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' spare', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
@@ -845,7 +845,7 @@ topics related to the game.
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_items.html b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_items.html
index 5ed151a810..e6e8f84b87 100644
--- a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_items.html
+++ b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_items.html
@@ -744,7 +744,7 @@ if there are still any actions you can take.
-
-
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' ', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
+search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
@@ -789,7 +789,7 @@ fight ends.
-
-
search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' ', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
+search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' spare', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
@@ -879,7 +879,7 @@ topics related to the game.
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_magic.html b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_magic.html
index ecc65c488b..fd67b4063f 100644
--- a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_magic.html
+++ b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_magic.html
@@ -616,7 +616,7 @@ if there are still any actions you can take.
-
-
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' ', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
+search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
@@ -661,7 +661,7 @@ fight ends.
-
-
search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' ', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
+search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' spare', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
@@ -905,7 +905,7 @@ topics related to the game.
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_range.html b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_range.html
index ab882c6194..b26fe51448 100644
--- a/docs/0.9.5/api/evennia.contrib.turnbattle.tb_range.html
+++ b/docs/0.9.5/api/evennia.contrib.turnbattle.tb_range.html
@@ -1043,7 +1043,7 @@ if there are still any actions you can take.
-
-
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' ', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
+search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}
@@ -1088,7 +1088,7 @@ fight ends.
-
-
search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' ', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
+search_index_entry = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'no_prefix': ' spare', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}
@@ -1222,7 +1222,7 @@ topics related to the game.
-
-
search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
+search_index_entry = {'aliases': '?', 'category': 'general', 'key': 'help', 'no_prefix': ' ?', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html b/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html
index 6e6fbd5606..5cdcb04cbd 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html
@@ -81,7 +81,7 @@ such as when closing the lid and un-blinding a character.
-
-
aliases = ['press button', 'press', 'push']
+aliases = ['press', 'press button', 'push']
@@ -110,7 +110,7 @@ check if the lid is open or closed.
-
-
search_index_entry = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'no_prefix': ' ', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
+search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
@@ -158,7 +158,7 @@ check if the lid is open or closed.
-
-
search_index_entry = {'aliases': 'nudge', 'category': 'general', 'key': 'nudge lid', 'no_prefix': ' ', 'tags': '', 'text': "\n Try to nudge the button's lid.\n\n Usage:\n nudge lid\n\n This command will have you try to push the lid of the button away.\n\n "}
+search_index_entry = {'aliases': 'nudge', 'category': 'general', 'key': 'nudge lid', 'no_prefix': ' nudge', 'tags': '', 'text': "\n Try to nudge the button's lid.\n\n Usage:\n nudge lid\n\n This command will have you try to push the lid of the button away.\n\n "}
@@ -180,7 +180,7 @@ check if the lid is open or closed.
-
-
aliases = ['smash lid', 'smash', 'break lid']
+aliases = ['smash', 'smash lid', 'break lid']
@@ -207,7 +207,7 @@ break.
-
-
search_index_entry = {'aliases': 'smash lid smash break lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' ', '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': '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 '}
@@ -254,7 +254,7 @@ break.
-
-
search_index_entry = {'aliases': 'open button', 'category': 'general', 'key': 'open lid', 'no_prefix': ' ', 'tags': '', 'text': '\n open lid\n\n Usage:\n open lid\n\n '}
+search_index_entry = {'aliases': 'open button', 'category': 'general', 'key': 'open lid', 'no_prefix': ' open button', 'tags': '', 'text': '\n open lid\n\n Usage:\n open lid\n\n '}
@@ -307,7 +307,7 @@ be mutually exclusive.
-
-
aliases = ['press button', 'press', 'push']
+aliases = ['press', 'press button', 'push']
@@ -336,7 +336,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'no_prefix': ' ', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
+search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
@@ -384,7 +384,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'close', 'category': 'general', 'key': 'close lid', 'no_prefix': ' ', 'tags': '', 'text': '\n Close the lid\n\n Usage:\n close lid\n\n Closes the lid of the red button.\n '}
+search_index_entry = {'aliases': 'close', 'category': 'general', 'key': 'close lid', 'no_prefix': ' close', 'tags': '', 'text': '\n Close the lid\n\n Usage:\n close lid\n\n Closes the lid of the red button.\n '}
@@ -434,7 +434,7 @@ be mutually exclusive.
-
-
aliases = ['l', 'listen', 'get', 'examine', 'ex', 'feel']
+aliases = ['listen', 'l', 'examine', 'get', 'feel', 'ex']
@@ -460,7 +460,7 @@ be mutually exclusive.
-
-
search_index_entry = {'aliases': 'l listen get examine ex feel', 'category': 'general', 'key': 'look', 'no_prefix': ' ', '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': 'listen l examine get feel ex', 'category': 'general', 'key': 'look', 'no_prefix': ' listen l examine get feel ex', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}
@@ -508,7 +508,7 @@ CmdBlindLook command too if we wanted to keep things more compact.
-
-
search_index_entry = {'aliases': 'h', 'category': 'general', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n Help function while in the blinded state\n\n Usage:\n help\n\n '}
+search_index_entry = {'aliases': 'h', 'category': 'general', 'key': 'help', 'no_prefix': ' h', 'tags': '', 'text': '\n Help function while in the blinded state\n\n Usage:\n help\n\n '}
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_world.mob.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.mob.html
index 1a2697f06e..3ffab16860 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_world.mob.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_world.mob.html
@@ -92,7 +92,7 @@ to turn on/off the mob.”
-
-
search_index_entry = {'aliases': 'moboff', 'category': 'general', 'key': 'mobon', 'no_prefix': ' ', 'tags': '', 'text': "\n Activates/deactivates Mob\n\n Usage:\n mobon <mob>\n moboff <mob>\n\n This turns the mob from active (alive) mode\n to inactive (dead) mode. It is used during\n building to activate the mob once it's\n prepared.\n "}
+search_index_entry = {'aliases': 'moboff', 'category': 'general', 'key': 'mobon', 'no_prefix': ' moboff', 'tags': '', 'text': "\n Activates/deactivates Mob\n\n Usage:\n mobon <mob>\n moboff <mob>\n\n This turns the mob from active (alive) mode\n to inactive (dead) mode. It is used during\n building to activate the mob once it's\n prepared.\n "}
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
index a855e18698..fdb6d72bc4 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
@@ -363,7 +363,7 @@ of the object. We overload it with our own version.
-
-
aliases = ['light', 'burn']
+aliases = ['burn', 'light']
@@ -390,7 +390,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': ' ', '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 '}
@@ -494,7 +494,7 @@ shift green root up/down
-
-
aliases = ['move', 'shiftroot', 'push', 'pull']
+aliases = ['pull', 'shiftroot', 'move', 'push']
@@ -530,7 +530,7 @@ yellow/green - horizontal roots
-
-
search_index_entry = {'aliases': 'move shiftroot push pull', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' ', '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': 'pull shiftroot move push', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' pull shiftroot move 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 '}
@@ -547,7 +547,7 @@ yellow/green - horizontal roots
-
-
aliases = ['press button', 'button', 'push button']
+aliases = ['button', 'press button', 'push button']
@@ -573,7 +573,7 @@ yellow/green - horizontal roots
-
-
search_index_entry = {'aliases': 'press button button push button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' ', 'tags': '', 'text': '\n Presses a button.\n '}
+search_index_entry = {'aliases': 'button press button push button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' button press button push button', 'tags': '', 'text': '\n Presses a button.\n '}
@@ -717,7 +717,7 @@ parry - forgoes your attack but will make you harder to hit on next
-
-
aliases = ['stab', 'pierce', 'chop', 'slash', 'defend', 'fight', 'parry', 'bash', 'hit', 'kill', 'thrust']
+aliases = ['hit', 'parry', 'slash', 'pierce', 'defend', 'fight', 'kill', 'stab', 'thrust', 'chop', 'bash']
@@ -743,7 +743,7 @@ parry - forgoes your attack but will make you harder to hit on next
-
-
search_index_entry = {'aliases': 'stab pierce chop slash defend fight parry bash hit kill thrust', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' ', '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': 'hit parry slash pierce defend fight kill stab thrust chop bash', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' hit parry slash pierce defend fight kill stab thrust chop bash', '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/0.9.5/api/evennia.contrib.tutorial_world.rooms.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
index 40b8d4642c..1da30176f3 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
@@ -91,7 +91,7 @@ called tutorial_info and display that.
-
-
search_index_entry = {'aliases': 'tut', 'category': 'tutorialworld', 'key': 'tutorial', 'no_prefix': ' ', 'tags': '', 'text': '\n Get help during the tutorial\n\n Usage:\n tutorial [obj]\n\n This command allows you to get behind-the-scenes info\n about an object or the current location.\n\n '}
+search_index_entry = {'aliases': 'tut', 'category': 'tutorialworld', 'key': 'tutorial', 'no_prefix': ' tut', 'tags': '', 'text': '\n Get help during the tutorial\n\n Usage:\n tutorial [obj]\n\n This command allows you to get behind-the-scenes info\n about an object or the current location.\n\n '}
@@ -186,7 +186,7 @@ code except for adding in the details.
-
-
aliases = ['ls', 'l']
+aliases = ['l', 'ls']
@@ -201,7 +201,7 @@ code except for adding in the details.
-
-
search_index_entry = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ', '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 '}
@@ -242,7 +242,7 @@ to all the variables defined therein.
-
-
search_index_entry = {'aliases': 'abort', 'category': 'general', 'key': 'give up', 'no_prefix': ' ', 'tags': '', 'text': '\n Give up the tutorial-world quest and return to Limbo, the start room of the\n server.\n\n '}
+search_index_entry = {'aliases': 'abort', 'category': 'general', 'key': 'give up', 'no_prefix': ' abort', 'tags': '', 'text': '\n Give up the tutorial-world quest and return to Limbo, the start room of the\n server.\n\n '}
@@ -586,7 +586,7 @@ on the bridge, 0 - 4.
-
-
search_index_entry = {'aliases': 'e', 'category': 'tutorialworld', 'key': 'east', 'no_prefix': ' ', 'tags': '', 'text': '\n Go eastwards across the bridge.\n\n Tutorial info:\n This command relies on the caller having two Attributes\n (assigned by the room when entering):\n - east_exit: a unique name or dbref to the room to go to\n when exiting east.\n - west_exit: a unique name or dbref to the room to go to\n when exiting west.\n The room must also have the following Attributes\n - tutorial_bridge_posistion: the current position on\n on the bridge, 0 - 4.\n\n '}
+search_index_entry = {'aliases': 'e', 'category': 'tutorialworld', 'key': 'east', 'no_prefix': ' e', 'tags': '', 'text': '\n Go eastwards across the bridge.\n\n Tutorial info:\n This command relies on the caller having two Attributes\n (assigned by the room when entering):\n - east_exit: a unique name or dbref to the room to go to\n when exiting east.\n - west_exit: a unique name or dbref to the room to go to\n when exiting west.\n The room must also have the following Attributes\n - tutorial_bridge_posistion: the current position on\n on the bridge, 0 - 4.\n\n '}
@@ -649,7 +649,7 @@ on the bridge, 0 - 4.
-
-
search_index_entry = {'aliases': 'w', 'category': 'tutorialworld', 'key': 'west', 'no_prefix': ' ', 'tags': '', 'text': '\n Go westwards across the bridge.\n\n Tutorial info:\n This command relies on the caller having two Attributes\n (assigned by the room when entering):\n - east_exit: a unique name or dbref to the room to go to\n when exiting east.\n - west_exit: a unique name or dbref to the room to go to\n when exiting west.\n The room must also have the following property:\n - tutorial_bridge_posistion: the current position on\n on the bridge, 0 - 4.\n\n '}
+search_index_entry = {'aliases': 'w', 'category': 'tutorialworld', 'key': 'west', 'no_prefix': ' w', 'tags': '', 'text': '\n Go westwards across the bridge.\n\n Tutorial info:\n This command relies on the caller having two Attributes\n (assigned by the room when entering):\n - east_exit: a unique name or dbref to the room to go to\n when exiting east.\n - west_exit: a unique name or dbref to the room to go to\n when exiting west.\n The room must also have the following property:\n - tutorial_bridge_posistion: the current position on\n on the bridge, 0 - 4.\n\n '}
@@ -698,7 +698,7 @@ if they fall off the bridge.
-
-
search_index_entry = {'aliases': 'l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ', 'tags': '', 'text': '\n looks around at the bridge.\n\n Tutorial info:\n This command assumes that the room has an Attribute\n "fall_exit", a unique name or dbref to the place they end upp\n if they fall off the bridge.\n '}
+search_index_entry = {'aliases': 'l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l', 'tags': '', 'text': '\n looks around at the bridge.\n\n Tutorial info:\n This command assumes that the room has an Attribute\n "fall_exit", a unique name or dbref to the place they end upp\n if they fall off the bridge.\n '}
@@ -741,7 +741,7 @@ if they fall off the bridge.
-
-
search_index_entry = {'aliases': '? h', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' ', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}
+search_index_entry = {'aliases': '? h', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}
@@ -867,7 +867,7 @@ to find something.
-
-
aliases = ['l', 'feel around', 'fiddle', 'search', 'feel']
+aliases = ['search', 'fiddle', 'l', 'feel around', 'feel']
@@ -895,7 +895,7 @@ random chance of eventually finding a light source.
-
-
search_index_entry = {'aliases': 'l feel around fiddle search feel', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}
+search_index_entry = {'aliases': 'search fiddle l feel around feel', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' search fiddle l feel around feel', '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/0.9.5/api/evennia.objects.objects.html b/docs/0.9.5/api/evennia.objects.objects.html
index e5c1b238c9..dbea22c1cf 100644
--- a/docs/0.9.5/api/evennia.objects.objects.html
+++ b/docs/0.9.5/api/evennia.objects.objects.html
@@ -266,7 +266,7 @@ location having the property destination != None.
-
-
get_display_name(looker, **kwargs)[source]
+get_display_name(looker=None, **kwargs)[source]
Displays the name of the object in a viewer-aware manner.
- Parameters
diff --git a/docs/0.9.5/api/evennia.typeclasses.models.html b/docs/0.9.5/api/evennia.typeclasses.models.html
index 7fb28faf37..214c157fe9 100644
--- a/docs/0.9.5/api/evennia.typeclasses.models.html
+++ b/docs/0.9.5/api/evennia.typeclasses.models.html
@@ -357,8 +357,8 @@ one. If you supply a list, only those named attributes
will be cleared.
run_start_hooks (str or None, optional) – This is either None,
to not run any hooks, “all” to run all hooks defined by
-at_first_start, or a string giving the name of the hook
-to run (for example ‘at_object_creation’). This will
+at_first_start, or a string with space-separated hook-names to run
+(for example ‘at_object_creation’). This will
always be called without arguments.
no_default (bool, optiona) – If set, the swapper will not
allow for swapping to a default typeclass in case the
diff --git a/docs/0.9.5/api/evennia.utils.eveditor.html b/docs/0.9.5/api/evennia.utils.eveditor.html
index efe8acbc96..e05360ea91 100644
--- a/docs/0.9.5/api/evennia.utils.eveditor.html
+++ b/docs/0.9.5/api/evennia.utils.eveditor.html
@@ -120,7 +120,7 @@ command was given specifically as “no” or “n”.
-
-
search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'no_prefix': ' ', 'tags': '', 'text': '\n Save the editor state on quit. This catches\n nomatches (defaults to Yes), and avoid saves only if\n command was given specifically as "no" or "n".\n '}
+search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'no_prefix': ' __noinput_command', 'tags': '', 'text': '\n Save the editor state on quit. This catches\n nomatches (defaults to Yes), and avoid saves only if\n command was given specifically as "no" or "n".\n '}
@@ -259,7 +259,7 @@ indentation.
-
-
search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'no_prefix': ' ', 'tags': '', 'text': '\n No command match - Inputs line of text into buffer.\n\n '}
+search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'no_prefix': ' __noinput_command', 'tags': '', 'text': '\n No command match - Inputs line of text into buffer.\n\n '}
@@ -276,7 +276,7 @@ indentation.
-
-
aliases = [':fd', ':q', ':wq', '::', ':q!', ':S', ':<', ':dd', ':i', ':UU', ':', ':!', ':>', ':s', ':f', ':uu', ':A', ':p', ':u', ':r', ':w', ':j', ':echo', ':I', ':fi', ':y', ':x', ':::', ':h', ':=', ':dw', ':DD']
+aliases = [':h', ':j', ':dd', ':p', ':S', ':y', ':uu', ':r', ':fd', ':f', ':s', ':wq', ':!', ':dw', ':::', ':echo', ':=', ':UU', ':>', ':x', ':DD', ':A', ':', '::', ':i', ':q', ':I', ':fi', ':<', ':q!', ':w', ':u']
@@ -304,7 +304,7 @@ efficient presentation.
-
-
search_index_entry = {'aliases': ':fd :q :wq :: :q! :S :< :dd :i :UU : :! :> :s :f :uu :A :p :u :r :w :j :echo :I :fi :y :x ::: :h := :dw :DD', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' ', 'tags': '', 'text': '\n Commands for the editor\n '}
+search_index_entry = {'aliases': ':h :j :dd :p :S :y :uu :r :fd :f :s :wq :! :dw ::: :echo := :UU :> :x :DD :A : :: :i :q :I :fi :< :q! :w :u', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :h :j :dd :p :S :y :uu :r :fd :f :s :wq :! :dw ::: :echo := :UU :> :x :DD :A : :: :i :q :I :fi :< :q! :w :u', 'tags': '', 'text': '\n Commands for the editor\n '}
diff --git a/docs/0.9.5/api/evennia.utils.evmenu.html b/docs/0.9.5/api/evennia.utils.evmenu.html
index 85771dd29f..ddfd4d48b3 100644
--- a/docs/0.9.5/api/evennia.utils.evmenu.html
+++ b/docs/0.9.5/api/evennia.utils.evmenu.html
@@ -363,7 +363,7 @@ commands the caller can use.
+search_index_entry = {'aliases': '__nomatch_command', 'category': 'menu', 'key': '__noinput_command', 'no_prefix': ' __nomatch_command', 'tags': '', 'text': '\n Menu options.\n '}
@@ -827,7 +827,7 @@ on the current node page.
+search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'no_prefix': ' __noinput_command', 'tags': '', 'text': '\n Enter your data and press return.\n '}
@@ -942,7 +942,7 @@ single question.
+aliases = ['no', '__nomatch_command', 'abort', 'n', 'y', 'yes', 'a']
@@ -968,7 +968,7 @@ single question.
+search_index_entry = {'aliases': 'no __nomatch_command abort n y yes a', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' no __nomatch_command abort n y yes a', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
diff --git a/docs/0.9.5/api/evennia.utils.evmore.html b/docs/0.9.5/api/evennia.utils.evmore.html
index 55c13dd759..006dfa34e3 100644
--- a/docs/0.9.5/api/evennia.utils.evmore.html
+++ b/docs/0.9.5/api/evennia.utils.evmore.html
@@ -77,7 +77,7 @@ the caller.msg() construct every time the page is updated.
-
-
aliases = ['e', 'q', 'quit', 'n', 'next', 'end', 'previous', 'top', 'a', 'abort', 'p', 't']
+aliases = ['top', 't', 'quit', 'end', 'q', 'abort', 'e', 'previous', 'n', 'a', 'p', 'next']
@@ -103,7 +103,7 @@ the caller.msg() construct every time the page is updated.
-
-
search_index_entry = {'aliases': 'e q quit n next end previous top a abort p t', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' ', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}
+search_index_entry = {'aliases': 'top t quit end q abort e previous n a p next', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' top t quit end q abort e previous n a p next', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}
diff --git a/docs/0.9.5/api/evennia.utils.utils.html b/docs/0.9.5/api/evennia.utils.utils.html
index cf06f06f9f..e7c631a779 100644
--- a/docs/0.9.5/api/evennia.utils.utils.html
+++ b/docs/0.9.5/api/evennia.utils.utils.html
@@ -236,14 +236,14 @@ Defaults to client’s default width.
-
-
evennia.utils.utils.iter_to_str(initer, endsep='and', addquote=False)[source]
+evennia.utils.utils.iter_to_str(iterable, endsep=', and', addquote=False)[source]
This pretty-formats an iterable list as string output, adding an optional
alternative separator to the second to last entry. If addquote
is True, the outgoing strings will be surrounded by quotes.
- Parameters
-initer (any) – Usually an iterable to print. Each element must be possible to
+
iterable (any) – Usually an iterable to print. Each element must be possible to
present with a string. Note that if this is a generator, it will be
consumed by this operation.
endsep (str, optional) – If set, the last item separator will
@@ -256,12 +256,15 @@ values with double quotes.
str – The list represented as a string.
+Notes
+Default is to use ‘Oxford comma’, like 1, 2, 3, and 4. To remove, give
+endsep as just and.
Examples
>>> list_to_string([1,2,3], endsep='')
'1, 2, 3'
>>> list_to_string([1,2,3], ensdep='and')
-'1, 2, and 3'
->>> list_to_string([1,2,3], endsep='and', addquote=True)
+'1, 2 and 3'
+>>> list_to_string([1,2,3], endsep=', and', addquote=True)
'"1", "2", and "3"'
@@ -269,14 +272,14 @@ values with double quotes.
-
-
evennia.utils.utils.list_to_string(initer, endsep='and', addquote=False)
+evennia.utils.utils.list_to_string(iterable, endsep=', and', addquote=False)
This pretty-formats an iterable list as string output, adding an optional
alternative separator to the second to last entry. If addquote
is True, the outgoing strings will be surrounded by quotes.
- Parameters
-initer (any) – Usually an iterable to print. Each element must be possible to
+
iterable (any) – Usually an iterable to print. Each element must be possible to
present with a string. Note that if this is a generator, it will be
consumed by this operation.
endsep (str, optional) – If set, the last item separator will
@@ -289,12 +292,15 @@ values with double quotes.
str – The list represented as a string.
+Notes
+Default is to use ‘Oxford comma’, like 1, 2, 3, and 4. To remove, give
+endsep as just and.
Examples
>>> list_to_string([1,2,3], endsep='')
'1, 2, 3'
>>> list_to_string([1,2,3], ensdep='and')
-'1, 2, and 3'
->>> list_to_string([1,2,3], endsep='and', addquote=True)
+'1, 2 and 3'
+>>> list_to_string([1,2,3], endsep=', and', addquote=True)
'"1", "2", and "3"'
@@ -302,14 +308,14 @@ values with double quotes.
-
-
evennia.utils.utils.iter_to_string(initer, endsep='and', addquote=False)
+evennia.utils.utils.iter_to_string(iterable, endsep=', and', addquote=False)
This pretty-formats an iterable list as string output, adding an optional
alternative separator to the second to last entry. If addquote
is True, the outgoing strings will be surrounded by quotes.
- Parameters
-initer (any) – Usually an iterable to print. Each element must be possible to
+
iterable (any) – Usually an iterable to print. Each element must be possible to
present with a string. Note that if this is a generator, it will be
consumed by this operation.
endsep (str, optional) – If set, the last item separator will
@@ -322,12 +328,15 @@ values with double quotes.
str – The list represented as a string.
+Notes
+Default is to use ‘Oxford comma’, like 1, 2, 3, and 4. To remove, give
+endsep as just and.
Examples
>>> list_to_string([1,2,3], endsep='')
'1, 2, 3'
>>> list_to_string([1,2,3], ensdep='and')
-'1, 2, and 3'
->>> list_to_string([1,2,3], endsep='and', addquote=True)
+'1, 2 and 3'
+>>> list_to_string([1,2,3], endsep=', and', addquote=True)
'"1", "2", and "3"'
diff --git a/docs/0.9.5/api/evennia.web.website.templatetags.html b/docs/0.9.5/api/evennia.web.website.templatetags.html
index ddbc1455a7..ded6076e63 100644
--- a/docs/0.9.5/api/evennia.web.website.templatetags.html
+++ b/docs/0.9.5/api/evennia.web.website.templatetags.html
@@ -39,8 +39,8 @@