From 2362e4fd728519010fb97921cf353d76584209b6 Mon Sep 17 00:00:00 2001
From: Evennia docbuilder action Arx - After the Reckoning is a big and very popular
Evennia-based game. Arx is heavily roleplaying-centric, relying on game
masters to drive the story. Technically it’s maybe best described as “a MUSH, but with more coded
systems”. In August of 2018, the game’s developer, Tehom, generously released the source code of
Arx on github. This is a treasure-trove for developers wanting
-to pick ideas or even get a starting game to build on. These instructions are based on the Arx-code
-released as of Aug 12, 2018. If you are not familiar with what Evennia is, you can read
-an introduction here.Arxcode installing help¶
-Introduction¶
+These instructions are based on the Arx-code released as of Aug 12, 2018. They will probably +not work 100% out of the box anymore. Report any differences and changes needed.
+
It’s not too hard to run Arx from the sources (of course you’ll start with an empty database) but since part of Arx has grown organically, it doesn’t follow standard Evennia paradigms everywhere. This page covers one take on installing and setting things up while making your new Arx-based game better match with the vanilla Evennia install.
-Firstly, set aside a folder/directory on your drive for everything to follow.
@@ -302,7 +300,6 @@ on localhost at port 4000, and the webserver atThis page describes how to install and run the Evennia server on an Android phone. This will involve installing a slew of third-party programs from the Google Play store, so make sure you are okay with this before starting.
-Android installation is experimental and not tested with later versions of Android.
-Report your findings.
-Warning
+Android installation is experimental and not tested with later versions of Android. +Report your findings.
Quick Start
Troubleshooting
Important
+If you are converting an existing game from a previous version, see here.
+For the impatient. If you have trouble with a step, you should jump on to the @@ -71,21 +65,18 @@ more detailed instructions for your platform.
evennia --init mygame
cd mygame
evennia migrate
evennia start (make sure to make a superuser when asked)
-Evennia should now be running and you can connect to it by pointing a web browser to
-http://localhost:4001 or a MUD telnet client to localhost:4000 (use 127.0.0.1 if your OS does
-not recognize localhost).
evennia start (make sure to make a superuser when asked)
Evennia should now be running and you can connect to it by pointing a web browser to
+http://localhost:4001 or a MUD telnet client to localhost:4000 (use 127.0.0.1 if your OS does
+not recognize localhost).
If you run into any issues during the installation and first start, please -check out Linux Troubleshooting.
For Debian-derived systems (like Ubuntu, Mint etc), start a terminal and -install the dependencies:
+install the requirements:sudo apt-get update
sudo apt-get install python3.10 python3.10-venv python3.10-dev gcc
-
You should make sure to not be root after this step, running as root is a
@@ -137,8 +128,7 @@ folders) and run
The Evennia server is a terminal program. Open the terminal e.g. from Applications->Utilities->Terminal. Here is an introduction to the Mac terminal -if you are unsure how it works. If you run into any issues during the -installation, please check out Mac Troubleshooting.
+if you are unsure how it works.Python should already be installed but you must make sure it’s a high enough version - go for 3.10. @@ -166,7 +156,6 @@ Evennia install and its dependencies from the rest of the system, it is good Python practice to install into a virtualenv. If you are unsure about what a virtualenv is and why it’s useful, see the Glossary entry on virtualenv.
python3.10 -m venv evenv
-
A new folder evenv will appear (we could have called it anything). This
@@ -247,7 +236,6 @@ Evennia install and its dependencies from the rest of the system, it is good
Python practice to install into a virtualenv. If you are unsure about what a
virtualenv is and why it’s useful, see the Glossary entry on virtualenv.
python3.10 -m venv evenv
-
A new folder evenv will appear (we could have called it anything). This
@@ -258,7 +246,6 @@ with default Python packages on your system. Activate the virtualenv:
The text (evenv) should appear next to your prompt to show the virtual
@@ -277,37 +264,6 @@ folders when you use the Test that you can run the evennia command everywhere while your virtualenv (evenv) is active.
Next you can continue initializing your game from the regular Installation instructions.
Welcome to Evennia! Your new game is fully functioning, but empty. If you just
-logged in, stand in the Limbo room and run
@batchcommand tutorial_world.build
-to build Evennia’s tutorial world - it’s a small solo quest to
-explore. Only run the instructed @batchcommand once. You’ll get a lot of text scrolling by as the
-tutorial is built. Once done, the tutorial exit will have appeared out of Limbo - just write
-tutorial to enter it.
Once you get back to Limbo from the tutorial (if you get stuck in the tutorial quest you can do
-@tel #2 to jump to Limbo), a good idea is to learn how to [start, stop and reload](Start-Stop-
-Reload) the Evennia server. You may also want to familiarize yourself with some
-commonly used terms in our Glossary. After that, why not experiment with
-creating some new items and build some new rooms out from Limbo.
From here on, you could move on to do one of our introductory tutorials or simply dive -headlong into Evennia’s comprehensive manual. While -Evennia has no major game systems out of the box, we do supply a range of optional contribs that -you can use or borrow from. They range from dice rolling and alternative color schemes to barter and -combat systems. You can find the growing list of contribs -here.
-If you have any questions, you can always ask in the developer
-chat
-#evennia on irc.freenode.net or by posting to the Evennia
-forums. You can also join the Discord
-Server.
Finally, if you are itching to help out or support Evennia (awesome!) have an -issue to report or a feature to request, see here.
-Enjoy your stay!
-Warning
pip install evennia is not yet available in develop branch. Use the git installation.
-Warning
+Important
If you are converting an existing game from a previous version, see here.
pip install evennia
@@ -63,7 +63,7 @@ administrator or superuser.
Once installed, make sure the evennia command works. Use evennia -h for usage help. If you are using a
virtualenv, make sure it’s active whenever you need to use the evennia command.
Alternatively, you can install Evennia from github or use docker.
-Check out installation troubleshooting if you run into problems. Some
+Check out installation troubleshooting if you run into problems. Some
users have also experimented with installing Evennia on Android.
Initialize a new game¶
diff --git a/docs/1.0-dev/Setup/Setup-Overview.html b/docs/1.0-dev/Setup/Setup-Overview.html
index 9351dd4ee9..03803a1ddd 100644
--- a/docs/1.0-dev/Setup/Setup-Overview.html
+++ b/docs/1.0-dev/Setup/Setup-Overview.html
@@ -64,7 +64,7 @@
Installing custom game dirs¶
-Installing Arxcode - a custom gamedir based on the popular Evennia game Arx
+Installing Arxcode - a custom gamedir based on the popular Evennia game Arx
diff --git a/docs/1.0-dev/_sources/Contribs/Arxcode-installing-help.md.txt b/docs/1.0-dev/_sources/Contribs/Arxcode-Installation.md.txt
similarity index 97%
rename from docs/1.0-dev/_sources/Contribs/Arxcode-installing-help.md.txt
rename to docs/1.0-dev/_sources/Contribs/Arxcode-Installation.md.txt
index fb90bb6aa6..815d3f27d6 100644
--- a/docs/1.0-dev/_sources/Contribs/Arxcode-installing-help.md.txt
+++ b/docs/1.0-dev/_sources/Contribs/Arxcode-Installation.md.txt
@@ -1,17 +1,14 @@
# Arxcode installing help
-## Introduction
-
[Arx - After the Reckoning](https://play.arxmush.org/) is a big and very popular
[Evennia](https://www.evennia.com)-based game. Arx is heavily roleplaying-centric, relying on game
masters to drive the story. Technically it's maybe best described as "a MUSH, but with more coded
systems". In August of 2018, the game's developer, Tehom, generously released the [source code of
Arx on github](https://github.com/Arx-Game/arxcode). This is a treasure-trove for developers wanting
-to pick ideas or even get a starting game to build on. These instructions are based on the Arx-code
-released as of *Aug 12, 2018*.
+to pick ideas or even get a starting game to build on.
-If you are not familiar with what Evennia is, you can read
-[an introduction here](../Evennia-Introduction.md).
+> These instructions are based on the Arx-code released as of *Aug 12, 2018*. They will probably
+> not work 100% out of the box anymore. Report any differences and changes needed.
It's not too hard to run Arx from the sources (of course you'll start with an empty database) but
since part of Arx has grown organically, it doesn't follow standard Evennia paradigms everywhere.
diff --git a/docs/1.0-dev/_sources/Setup/Installation-Android.md.txt b/docs/1.0-dev/_sources/Setup/Installation-Android.md.txt
index d2f2892d64..737de0e810 100644
--- a/docs/1.0-dev/_sources/Setup/Installation-Android.md.txt
+++ b/docs/1.0-dev/_sources/Setup/Installation-Android.md.txt
@@ -5,7 +5,7 @@ This page describes how to install and run the Evennia server on an Android phon
installing a slew of third-party programs from the Google Play store, so make sure you are okay with
this before starting.
-```warning
+```{warning}
Android installation is experimental and not tested with later versions of Android.
Report your findings.
```
diff --git a/docs/1.0-dev/_sources/Setup/Installation-Git.md.txt b/docs/1.0-dev/_sources/Setup/Installation-Git.md.txt
index 139267204b..c16d98266f 100644
--- a/docs/1.0-dev/_sources/Setup/Installation-Git.md.txt
+++ b/docs/1.0-dev/_sources/Setup/Installation-Git.md.txt
@@ -5,14 +5,9 @@ itself or have an easier time exploring the code. See the basic [Installation](.
a quick installation of the library. See the [troubleshooting](./Installation-Troubleshooting.md) if you run
into trouble.
-- [Quick Start](#quick-start)
-- [Linux Install](#linux-install)
-- [Mac Install](#mac-install)
-- [Windows Install](#windows-install)
-- [Running in Docker](./Installation-Docker.md)
-- [Where to Go Next](#where-to-go-next)
-- [Troubleshooting](#troubleshooting)
-- [Glossary of terms](../Glossary.md)
+```{important}
+If you are converting an existing game from a previous version, [see here](./Installation-Upgrade.md).
+```
## Summary
@@ -30,22 +25,19 @@ more detailed instructions for your platform.
8. `cd mygame`
9. `evennia migrate`
10. `evennia start` (make sure to make a superuser when asked)
+
Evennia should now be running and you can connect to it by pointing a web browser to
`http://localhost:4001` or a MUD telnet client to `localhost:4000` (use `127.0.0.1` if your OS does
not recognize `localhost`).
## Linux Install
-If you run into any issues during the installation and first start, please
-check out [Linux Troubleshooting](#linux-troubleshooting).
-
For Debian-derived systems (like Ubuntu, Mint etc), start a terminal and
-install the [dependencies](#requirements):
+install the requirements:
```
sudo apt-get update
sudo apt-get install python3.10 python3.10-venv python3.10-dev gcc
-
```
You should make sure to *not* be `root` after this step, running as `root` is a
security risk. Now create a folder where you want to do all your Evennia
@@ -107,8 +99,7 @@ Next you can continue initializing your game from the regular [Installation inst
The Evennia server is a terminal program. Open the terminal e.g. from
*Applications->Utilities->Terminal*. [Here is an introduction to the Mac
terminal](https://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line)
-if you are unsure how it works. If you run into any issues during the
-installation, please check out [Mac Troubleshooting](#mac-troubleshooting).
+if you are unsure how it works.
* Python should already be installed but you must make sure it's a high enough version - go for
3.10.
@@ -143,7 +134,6 @@ virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glo
```
python3.10 -m venv evenv
-
```
A new folder `evenv` will appear (we could have called it anything). This
folder will hold a self-contained setup of Python packages without interfering
@@ -232,7 +222,6 @@ virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glo
```
python3.10 -m venv evenv
-
```
A new folder `evenv` will appear (we could have called it anything). This
folder will hold a self-contained setup of Python packages without interfering
@@ -244,7 +233,6 @@ evenv\scripts\activate.bat
# If you are using a PS Shell, Git Bash, or other, you can use the following:
.\evenv\scripts\activate
-
```
The text `(evenv)` should appear next to your prompt to show the virtual
environment is active.
@@ -263,40 +251,4 @@ pip install -e evennia
Test that you can run the `evennia` command everywhere while your virtualenv (evenv) is active.
-Next you can continue initializing your game from the regular [Installation instructions](./Installation.md).
-
-## Where to Go Next
-
-Welcome to Evennia! Your new game is fully functioning, but empty. If you just
-logged in, stand in the `Limbo` room and run
-
- @batchcommand tutorial_world.build
-
-to build [Evennia's tutorial world](../Howto/Starting/Part1/Tutorial-World.md) - it's a small solo quest to
-explore. Only run the instructed `@batchcommand` once. You'll get a lot of text scrolling by as the
-tutorial is built. Once done, the `tutorial` exit will have appeared out of Limbo - just write
-`tutorial` to enter it.
-
-Once you get back to `Limbo` from the tutorial (if you get stuck in the tutorial quest you can do
-`@tel #2` to jump to Limbo), a good idea is to learn how to [start, stop and reload](Start-Stop-
-Reload) the Evennia server. You may also want to familiarize yourself with some
-[commonly used terms in our Glossary](../Glossary.md). After that, why not experiment with
-[creating some new items and build some new rooms](../Howto/Starting/Part1/Building-Quickstart.md) out from Limbo.
-
-From here on, you could move on to do one of our [introductory tutorials](../Howto/Howto-Overview.md) or simply dive
-headlong into Evennia's comprehensive [manual](https://github.com/evennia/evennia/wiki). While
-Evennia has no major game systems out of the box, we do supply a range of optional *contribs* that
-you can use or borrow from. They range from dice rolling and alternative color schemes to barter and
-combat systems. You can find the [growing list of contribs
-here](https://github.com/evennia/evennia/blob/master/evennia/contrib/README.md).
-
-If you have any questions, you can always ask in [the developer
-chat](https://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb)
-`#evennia` on `irc.freenode.net` or by posting to the [Evennia
-forums](https://groups.google.com/forum/#%21forum/evennia). You can also join the [Discord
-Server](https://discord.gg/NecFePw).
-
-Finally, if you are itching to help out or support Evennia (awesome!) have an
-issue to report or a feature to request, [see here](../Contributing.md).
-
-Enjoy your stay!
\ No newline at end of file
+Next you can continue initializing your game from the regular [Installation instructions](./Installation.md).
\ No newline at end of file
diff --git a/docs/1.0-dev/_sources/Setup/Installation.md.txt b/docs/1.0-dev/_sources/Setup/Installation.md.txt
index ddd8a27a8e..d29c06bf97 100644
--- a/docs/1.0-dev/_sources/Setup/Installation.md.txt
+++ b/docs/1.0-dev/_sources/Setup/Installation.md.txt
@@ -12,7 +12,7 @@ administrator or superuser.
```{warning}
pip install evennia is not yet available in develop branch. Use the [git installation](./Installation-Git.md).
```
-```{warning}
+```{important}
If you are converting an existing game from a previous version, [see here](./Installation-Upgrade.md).
```
@@ -22,7 +22,7 @@ Once installed, make sure the `evennia` command works. Use `evennia -h` for usag
virtualenv, make sure it's active whenever you need to use the `evennia` command.
Alternatively, you can [install Evennia from github](./Installation-Git.md) or use [docker](./Installation-Docker.md).
-Check out [installation troubleshooting](./Installation-Troubleshootin.md) if you run into problems. Some
+Check out [installation troubleshooting](./Installation-Troubleshooting.md) if you run into problems. Some
users have also experimented with [installing Evennia on Android](./Installation-Android.md).
## Initialize a new game
diff --git a/docs/1.0-dev/_sources/Setup/Setup-Overview.md.txt b/docs/1.0-dev/_sources/Setup/Setup-Overview.md.txt
index 456c3ddf3d..148ae74214 100644
--- a/docs/1.0-dev/_sources/Setup/Setup-Overview.md.txt
+++ b/docs/1.0-dev/_sources/Setup/Setup-Overview.md.txt
@@ -12,7 +12,7 @@ This documentation covers how to setup and maintain the server, from first insta
## Installing custom game dirs
-- [Installing Arxcode](../Contribs/Arxcode-installing-help.md) - a custom gamedir based on the popular Evennia game [Arx](https://play.arxgame.org/)
+- [Installing Arxcode](../Contribs/Arxcode-Installation.md) - a custom gamedir based on the popular Evennia game [Arx](https://play.arxgame.org/)
## Configuring
diff --git a/docs/1.0-dev/_sources/toc.md.txt b/docs/1.0-dev/_sources/toc.md.txt
index e5556895fe..42795a0e6c 100644
--- a/docs/1.0-dev/_sources/toc.md.txt
+++ b/docs/1.0-dev/_sources/toc.md.txt
@@ -75,7 +75,7 @@ Concepts/TextTags
Concepts/Using-MUX-as-a-Standard
Concepts/Web-Features
Concepts/Zones
-Contribs/Arxcode-installing-help
+Contribs/Arxcode-Installation
Contribs/Building-menus
Contribs/Contrib-AWSStorage
Contribs/Contrib-Auditing
diff --git a/docs/1.0-dev/api/evennia.commands.default.building.html b/docs/1.0-dev/api/evennia.commands.default.building.html
index 3374287d4e..1da445761f 100644
--- a/docs/1.0-dev/api/evennia.commands.default.building.html
+++ b/docs/1.0-dev/api/evennia.commands.default.building.html
@@ -1285,7 +1285,7 @@ server settings.
-
-
aliases = ['@typeclasses', '@swap', '@parent', '@update', '@type']¶
+aliases = ['@update', '@typeclasses', '@swap', '@type', '@parent']¶
@@ -1316,7 +1316,7 @@ server settings.
-
-
search_index_entry = {'aliases': '@typeclasses @swap @parent @update @type', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass typeclasses swap parent update type', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}¶
+search_index_entry = {'aliases': '@update @typeclasses @swap @type @parent', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass update typeclasses swap type 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. 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 "}¶
diff --git a/docs/1.0-dev/api/evennia.commands.default.general.html b/docs/1.0-dev/api/evennia.commands.default.general.html
index 7b50e08232..8687c37fbb 100644
--- a/docs/1.0-dev/api/evennia.commands.default.general.html
+++ b/docs/1.0-dev/api/evennia.commands.default.general.html
@@ -263,7 +263,7 @@ inv
@@ -294,7 +294,7 @@ inv
-
-
search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}¶
+search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.commands.default.tests.html b/docs/1.0-dev/api/evennia.commands.default.tests.html
index 2b2da83dba..9503d337a4 100644
--- a/docs/1.0-dev/api/evennia.commands.default.tests.html
+++ b/docs/1.0-dev/api/evennia.commands.default.tests.html
@@ -736,7 +736,7 @@ main test suite started with
Test the batch processor.
+red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmp6itegnsw/fb0766a76c1a3447983d119e1b5354b3ffa62c23/evennia/contrib/tutorials/red_button/red_button.py'>¶
diff --git a/docs/1.0-dev/api/evennia.commands.default.unloggedin.html b/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
index 648029b893..f63a01af4a 100644
--- a/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
+++ b/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
@@ -62,7 +62,7 @@ connect “account name” “pass word”
@@ -97,7 +97,7 @@ there is no object yet before the account has logged in)
-
-
search_index_entry = {'aliases': 'conn co con', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn co con', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}¶
+search_index_entry = {'aliases': 'co conn con', 'category': 'general', 'key': 'connect', 'no_prefix': ' co conn con', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}¶
@@ -226,7 +226,7 @@ All it does is display the connect screen.
@@ -252,7 +252,7 @@ All it does is display the connect screen.
-
-
search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
+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 '}¶
@@ -275,7 +275,7 @@ for simplicity. It shows a pane of info.
@@ -301,7 +301,7 @@ for simplicity. It shows a pane of info.
-
-
search_index_entry = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}¶
+search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html b/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
index ad498cab65..cf641c2c90 100644
--- a/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
+++ b/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
@@ -78,7 +78,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.
@@ -108,7 +108,7 @@ there is no object yet before the account has logged in)
-
-
search_index_entry = {'aliases': 'conn co con', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn co con', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}¶
+search_index_entry = {'aliases': 'co conn con', 'category': 'general', 'key': 'connect', 'no_prefix': ' co conn con', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}¶
@@ -230,7 +230,7 @@ All it does is display the connect screen.
@@ -256,7 +256,7 @@ All it does is display the connect screen.
-
-
search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
+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 '}¶
@@ -274,7 +274,7 @@ for simplicity. It shows a pane of info.
@@ -300,7 +300,7 @@ for simplicity. It shows a pane of info.
-
-
search_index_entry = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}¶
+search_index_entry = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html b/docs/1.0-dev/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html
index 074a63de01..ad36fb4026 100644
--- a/docs/1.0-dev/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html
+++ b/docs/1.0-dev/api/evennia.contrib.base_systems.mux_comms_cmds.mux_comms_cmds.html
@@ -99,7 +99,7 @@ aliases to an already joined channel.
@@ -130,7 +130,7 @@ aliases to an already joined channel.
-
-
search_index_entry = {'aliases': 'aliaschan chanalias', 'category': 'comms', 'key': 'addcom', 'no_prefix': ' aliaschan chanalias', 'tags': '', 'text': '\n Add a channel alias and/or subscribe to a channel\n\n Usage:\n addcom [alias=] <channel>\n\n Joins a given channel. If alias is given, this will allow you to\n refer to the channel by this alias rather than the full channel\n name. Subsequent calls of this command can be used to add multiple\n aliases to an already joined channel.\n '}¶
+search_index_entry = {'aliases': 'chanalias aliaschan', 'category': 'comms', 'key': 'addcom', 'no_prefix': ' chanalias aliaschan', 'tags': '', 'text': '\n Add a channel alias and/or subscribe to a channel\n\n Usage:\n addcom [alias=] <channel>\n\n Joins a given channel. If alias is given, this will allow you to\n refer to the channel by this alias rather than the full channel\n name. Subsequent calls of this command can be used to add multiple\n aliases to an already joined channel.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html b/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
index 64d620e0e0..d6f5d466e3 100644
--- a/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
+++ b/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
@@ -150,7 +150,7 @@ the operation will be general or on the room.
@@ -174,7 +174,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'q chicken out abort quit', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' q chicken out abort quit', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶
+search_index_entry = {'aliases': 'chicken out q quit abort', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' chicken out q quit abort', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶
@@ -310,7 +310,7 @@ shout
@@ -339,7 +339,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': '; shout whisper', 'category': 'general', 'key': 'say', 'no_prefix': ' ; shout whisper', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}¶
+search_index_entry = {'aliases': 'shout ; whisper', 'category': 'general', 'key': 'say', 'no_prefix': ' shout ; whisper', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}¶
@@ -367,7 +367,7 @@ emote /me points to /box and /lever.
@@ -406,7 +406,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': ': pose', 'category': 'general', 'key': 'emote', 'no_prefix': ' : pose', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}¶
+search_index_entry = {'aliases': 'pose :', 'category': 'general', 'key': 'emote', 'no_prefix': ' pose :', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}¶
@@ -429,7 +429,7 @@ looks and what actions is available.
@@ -458,7 +458,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'unfocus examine ex e', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' unfocus examine ex e', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶
+search_index_entry = {'aliases': 'examine unfocus ex e', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' examine unfocus ex e', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶
@@ -520,7 +520,7 @@ set in self.parse())
@@ -544,7 +544,7 @@ set in self.parse())
-
-
search_index_entry = {'aliases': 'inv i give inventory', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' inv i give inventory', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}¶
+search_index_entry = {'aliases': 'inventory i give inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' inventory i give inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.clothing.clothing.html b/docs/1.0-dev/api/evennia.contrib.game_systems.clothing.clothing.html
index 2a05b13542..1699b8634e 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.clothing.clothing.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.clothing.clothing.html
@@ -631,7 +631,7 @@ inv
@@ -662,7 +662,7 @@ inv
-
-
search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}¶
+search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
index 88597c208d..5a64acfdba 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
@@ -611,7 +611,7 @@ if there are still any actions you can take.
@@ -637,7 +637,7 @@ if there are still any actions you can take.
-
-
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 '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', '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 '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
index 92487c6825..8175f4678a 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
@@ -506,7 +506,7 @@ if there are still any actions you can take.
@@ -526,7 +526,7 @@ if there are still any actions you can take.
-
-
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 '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', '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 '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
index 691998f985..7897b5860a 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
@@ -629,7 +629,7 @@ if there are still any actions you can take.
@@ -649,7 +649,7 @@ if there are still any actions you can take.
-
-
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 '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', '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 '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
index 7fed227a6f..8742a1d9b8 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
@@ -408,7 +408,7 @@ if there are still any actions you can take.
@@ -428,7 +428,7 @@ if there are still any actions you can take.
-
-
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 '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', '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 '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
index 9afe7eb48a..7dda2eff22 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
@@ -868,7 +868,7 @@ if there are still any actions you can take.
@@ -888,7 +888,7 @@ if there are still any actions you can take.
-
-
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 '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', '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 '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html b/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
index 4789101ad1..fb84c39fe7 100644
--- a/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
+++ b/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
@@ -234,7 +234,7 @@ everyone but the person rolling.
@@ -260,7 +260,7 @@ everyone but the person rolling.
-
-
search_index_entry = {'aliases': '@dice roll', 'category': 'general', 'key': 'dice', 'no_prefix': ' dice roll', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶
+search_index_entry = {'aliases': 'roll @dice', 'category': 'general', 'key': 'dice', 'no_prefix': ' roll dice', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html b/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
index 68bc38e26d..b5b76a2381 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
@@ -183,7 +183,7 @@ check if the lid is open or closed.
+aliases = ['break lid', 'smash', 'smash lid']¶
@@ -210,7 +210,7 @@ break.
+search_index_entry = {'aliases': 'break lid smash smash lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash smash lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}¶
@@ -437,7 +437,7 @@ be mutually exclusive.
+aliases = ['examine', 'listen', 'feel', 'l', 'ex', 'get']¶
@@ -463,7 +463,7 @@ be mutually exclusive.
+search_index_entry = {'aliases': 'examine listen feel l ex get', 'category': 'general', 'key': 'look', 'no_prefix': ' examine listen feel l ex get', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
index d3f9c34ddb..7f1205be77 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
@@ -364,7 +364,7 @@ of the object. We overload it with our own version.
@@ -391,7 +391,7 @@ to sit on a “lightable” object, we operate only on self.obj.
-
-
search_index_entry = {'aliases': 'light burn', 'category': 'tutorialworld', 'key': 'on', 'no_prefix': ' light burn', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}¶
+search_index_entry = {'aliases': 'burn light', 'category': 'tutorialworld', 'key': 'on', 'no_prefix': ' burn light', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}¶
@@ -495,7 +495,7 @@ shift green root up/down
@@ -531,7 +531,7 @@ yellow/green - horizontal roots
-
-
search_index_entry = {'aliases': 'move push shiftroot pull', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' move push shiftroot pull', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}¶
+search_index_entry = {'aliases': 'move shiftroot pull push', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' move shiftroot pull push', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}¶
@@ -718,7 +718,7 @@ parry - forgoes your attack but will make you harder to hit on next
-
-
aliases = ['hit', 'thrust', 'parry', 'stab', 'bash', 'kill', 'defend', 'slash', 'pierce', 'chop', 'fight']¶
+aliases = ['chop', 'stab', 'kill', 'pierce', 'hit', 'bash', 'slash', 'defend', 'thrust', 'fight', 'parry']¶
@@ -744,7 +744,7 @@ parry - forgoes your attack but will make you harder to hit on next
-
-
search_index_entry = {'aliases': 'hit thrust parry stab bash kill defend slash pierce chop fight', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' hit thrust parry stab bash kill defend slash pierce chop fight', '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': 'chop stab kill pierce hit bash slash defend thrust fight parry', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' chop stab kill pierce hit bash slash defend thrust fight parry', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
index 5ee33a41cd..a4f29f309e 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
@@ -755,7 +755,7 @@ if they fall off the bridge.
@@ -781,7 +781,7 @@ if they fall off the bridge.
-
-
search_index_entry = {'aliases': 'h ?', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}¶
+search_index_entry = {'aliases': '? h', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}¶
@@ -907,7 +907,7 @@ to find something.
-
-
aliases = ['feel', 'feel around', 'search', 'l', 'fiddle']¶
+aliases = ['feel', 'l', 'feel around', 'search', 'fiddle']¶
@@ -935,7 +935,7 @@ random chance of eventually finding a light source.
-
-
search_index_entry = {'aliases': 'feel feel around search l fiddle', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' feel feel around search l fiddle', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶
+search_index_entry = {'aliases': 'feel l feel around search fiddle', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' feel l feel around search fiddle', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.utils.eveditor.html b/docs/1.0-dev/api/evennia.utils.eveditor.html
index 81ed9174cf..213248a8fc 100644
--- a/docs/1.0-dev/api/evennia.utils.eveditor.html
+++ b/docs/1.0-dev/api/evennia.utils.eveditor.html
@@ -277,7 +277,7 @@ indentation.
-
-
aliases = [':u', ':fi', ':i', ':wq', ':<', ':y', ':s', ':q!', ':uu', ':I', ':UU', ':S', ':echo', ':q', ':x', ':dw', ':::', ':r', ':', ':fd', ':DD', ':w', ':A', ':h', ':p', ':dd', ':f', ':=', '::', ':!', ':>', ':j']¶
+aliases = [':y', ':h', ':u', ':S', ':UU', ':x', ':j', ':dw', ':', ':DD', ':I', ':w', ':q', ':q!', ':fd', ':A', ':f', ':::', ':fi', ':echo', ':wq', ':r', ':i', ':>', ':=', ':p', ':uu', ':!', '::', ':s', ':<', ':dd']¶
@@ -305,7 +305,7 @@ efficient presentation.
-
-
search_index_entry = {'aliases': ':u :fi :i :wq :< :y :s :q! :uu :I :UU :S :echo :q :x :dw ::: :r : :fd :DD :w :A :h :p :dd :f := :: :! :> :j', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :u :fi :i :wq :< :y :s :q! :uu :I :UU :S :echo :q :x :dw ::: :r : :fd :DD :w :A :h :p :dd :f := :: :! :> :j', 'tags': '', 'text': '\n Commands for the editor\n '}¶
+search_index_entry = {'aliases': ':y :h :u :S :UU :x :j :dw : :DD :I :w :q :q! :fd :A :f ::: :fi :echo :wq :r :i :> := :p :uu :! :: :s :< :dd', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :y :h :u :S :UU :x :j :dw : :DD :I :w :q :q! :fd :A :f ::: :fi :echo :wq :r :i :> := :p :uu :! :: :s :< :dd', 'tags': '', 'text': '\n Commands for the editor\n '}¶
diff --git a/docs/1.0-dev/api/evennia.utils.evmenu.html b/docs/1.0-dev/api/evennia.utils.evmenu.html
index 3f7cad67c7..dbf6455c55 100644
--- a/docs/1.0-dev/api/evennia.utils.evmenu.html
+++ b/docs/1.0-dev/api/evennia.utils.evmenu.html
@@ -947,7 +947,7 @@ single question.
+aliases = ['yes', 'no', 'n', '__nomatch_command', 'a', 'abort', 'y']¶
@@ -973,7 +973,7 @@ single question.
+search_index_entry = {'aliases': 'yes no n __nomatch_command a abort y', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' yes no n __nomatch_command a abort y', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.utils.evmore.html b/docs/1.0-dev/api/evennia.utils.evmore.html
index acf9ad18bd..2ae96815d0 100644
--- a/docs/1.0-dev/api/evennia.utils.evmore.html
+++ b/docs/1.0-dev/api/evennia.utils.evmore.html
@@ -78,7 +78,7 @@ the caller.msg() construct every time the page is updated.
-
-
aliases = ['p', 'previous', 'quit', 'e', 'next', 't', 'a', 'top', 'abort', 'n', 'q', 'end']¶
+aliases = ['q', 'quit', 'e', 'top', 'n', 'previous', 'next', 'end', 'p', 't', 'a', 'abort']¶
@@ -104,7 +104,7 @@ the caller.msg() construct every time the page is updated.
-
-
search_index_entry = {'aliases': 'p previous quit e next t a top abort n q end', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' p previous quit e next t a top abort n q end', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶
+search_index_entry = {'aliases': 'q quit e top n previous next end p t a abort', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' q quit e top n previous next end p t a abort', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶
diff --git a/docs/1.0-dev/objects.inv b/docs/1.0-dev/objects.inv
index 7268a94dadb0043998a65333fb96d6a1e66a0690..f4b272dcac019aae6a24706014a61d892c489f0a 100644
GIT binary patch
delta 47767
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
oDX#>5`q&Wd9{S1g_`@qb64g~=C+)e
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