Updated HTML docs

This commit is contained in:
Griatch 2021-06-13 22:53:10 +02:00
parent 60b2cee62e
commit 86fb09d6bf
105 changed files with 548 additions and 1105 deletions

View file

@ -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: 9766e9d6cd1b1ac3e7e89e787dd3b60f
config: 309a848b9229079210e6ddb568dd313d
tags: 645f666f9bcd5a90fca523b33c5a78b7

View file

@ -133,8 +133,7 @@ Django parlance). You can specify such places in your settings (see the <code cl
<p>When you enter the address <code class="docutils literal notranslate"><span class="pre">http://localhost:4001/story</span></code> in your web browser, Django will parse that
field to figure out which page you want to go to. You tell it which patterns are relevant in the
file
[mygame/web/urls.py](https://github.com/evennia/evennia/blob/master/evennia/game_template/web/urls.p
y).
<a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/game_template/web/urls.py">mygame/web/urls.py</a>.
Open it now.</p>
<p>Django looks for the variable <code class="docutils literal notranslate"><span class="pre">urlpatterns</span></code> in this file. You want to add your new pattern to the
<code class="docutils literal notranslate"><span class="pre">custom_patterns</span></code> list we have prepared - that is then merged with the default <code class="docutils literal notranslate"><span class="pre">urlpatterns</span></code>. Heres

View file

@ -156,16 +156,16 @@ errback.</p></li>
<span class="k">class</span> <span class="nc">CmdAsync</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
<span class="n">key</span> <span class="o">=</span> <span class="s2">&quot;asynccommand&quot;</span>
<span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">long_running_function</span><span class="p">():</span>
<span class="c1">#[... lots of time-consuming code ...]</span>
<span class="k">return</span> <span class="n">final_value</span>
<span class="k">def</span> <span class="nf">at_return_function</span><span class="p">(</span><span class="n">r</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">&quot;The final value is </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">r</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">at_err_function</span><span class="p">(</span><span class="n">e</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">&quot;There was an error: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">e</span><span class="p">)</span>
@ -210,8 +210,7 @@ the <a class="reference internal" href="Command-Duration.html"><span class="doc"
</section>
<section id="the-interactive-decorator">
<h2>The &#64;interactive decorator<a class="headerlink" href="#the-interactive-decorator" title="Permalink to this headline"></a></h2>
<p>As of Evennia 0.9, the <code class="docutils literal notranslate"><span class="pre">&#64;interactive</span></code> [decorator](https://realpython.com/primer-on-python-
decorators/)
<p>As of Evennia 0.9, the <code class="docutils literal notranslate"><span class="pre">&#64;interactive</span></code> <a class="reference external" href="https://realpython.com/primer-on-python-decorators/">decorator</a>
is available. This makes any function or method possible to pause and/or await player input
in an interactive way.</p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
@ -231,7 +230,7 @@ in an interactive way.</p>
<span class="nd">@interactive</span>
<span class="k">def</span> <span class="nf">myfunc</span><span class="p">(</span><span class="n">caller</span><span class="p">):</span>
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
<span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">&quot;Getting ready to wait ...&quot;</span><span class="p">)</span>
<span class="k">yield</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>

View file

@ -289,8 +289,7 @@ entities you can loop over in a for-loop. Attribute-saving supports the followin
<li><p><a class="reference external" href="https://docs.python.org/2/tutorial/datastructures.html#more-on-lists">Lists</a>, like <code class="docutils literal notranslate"><span class="pre">[1,2,&quot;test&quot;,</span> <span class="pre">&lt;dbobj&gt;]</span></code>.</p></li>
<li><p><a class="reference external" href="https://docs.python.org/2/tutorial/datastructures.html#dictionaries">Dicts</a>, like <code class="docutils literal notranslate"><span class="pre">{1:2,</span> <span class="pre">&quot;test&quot;:&lt;dbobj&gt;]</span></code>.</p></li>
<li><p><a class="reference external" href="https://docs.python.org/2/tutorial/datastructures.html#sets">Sets</a>, like <code class="docutils literal notranslate"><span class="pre">{1,2,&quot;test&quot;,&lt;dbobj&gt;}</span></code>.</p></li>
<li><p>[collections.OrderedDict](https://docs.python.org/2/library/collections.html#collections.OrderedDi
ct), like <code class="docutils literal notranslate"><span class="pre">OrderedDict((1,2),</span> <span class="pre">(&quot;test&quot;,</span> <span class="pre">&lt;dbobj&gt;))</span></code>.</p></li>
<li><p><a class="reference external" href="https://docs.python.org/2/library/collections.html#collections.OrderedDict">collections.OrderedDict</a>, like <code class="docutils literal notranslate"><span class="pre">OrderedDict((1,2),</span> <span class="pre">(&quot;test&quot;,</span> <span class="pre">&lt;dbobj&gt;))</span></code>.</p></li>
<li><p><a class="reference external" href="https://docs.python.org/2/library/collections.html#collections.deque">collections.Deque</a>, like
<code class="docutils literal notranslate"><span class="pre">deque((1,2,&quot;test&quot;,&lt;dbobj&gt;))</span></code>.</p></li>
<li><p><em>Nestings</em> of any combinations of the above, like lists in dicts or an OrderedDict of tuples, each

View file

@ -143,8 +143,7 @@ docs</a></p>
<section id="more-bootstrap">
<h2>More Bootstrap<a class="headerlink" href="#more-bootstrap" title="Permalink to this headline"></a></h2>
<p>Bootstrap also provides a huge amount of utilities, as well as styling and content elements. To
learn more about them, please [read the Bootstrap docs](https://getbootstrap.com/docs/4.0/getting-
started/introduction/) or read one of our other web tutorials.</p>
learn more about them, please <a class="reference external" href="https://getbootstrap.com/docs/4.0/getting-started/introduction/">read the Bootstrap docs</a> or read one of our other web tutorials.</p>
</section>
</section>

View file

@ -153,7 +153,7 @@ properties to easily access and update coordinates. This is a Pythonic approach
<span class="sd"> See examples/object.py for a list of</span>
<span class="sd"> properties and methods available on all Objects.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">x</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return the X coordinate or None.&quot;&quot;&quot;</span>
@ -174,7 +174,7 @@ properties to easily access and update coordinates. This is a Pythonic approach
<span class="sd">&quot;&quot;&quot;Return the Y coordinate or None.&quot;&quot;&quot;</span>
<span class="n">y</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tags</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">category</span><span class="o">=</span><span class="s2">&quot;coordy&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span>
<span class="nd">@y</span><span class="o">.</span><span class="n">setter</span>
<span class="k">def</span> <span class="nf">y</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Change the Y coordinate.&quot;&quot;&quot;</span>
@ -189,7 +189,7 @@ properties to easily access and update coordinates. This is a Pythonic approach
<span class="sd">&quot;&quot;&quot;Return the Z coordinate or None.&quot;&quot;&quot;</span>
<span class="n">z</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tags</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">category</span><span class="o">=</span><span class="s2">&quot;coordz&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">z</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span>
<span class="nd">@z</span><span class="o">.</span><span class="n">setter</span>
<span class="k">def</span> <span class="nf">z</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">z</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Change the Z coordinate.&quot;&quot;&quot;</span>
@ -201,8 +201,7 @@ properties to easily access and update coordinates. This is a Pythonic approach
</pre></div>
</td></tr></table></div>
<p>If you arent familiar with the concept of properties in Python, I encourage you to read a good
tutorial on the subject. [This article on Python properties](https://www.programiz.com/python-
programming/property)
tutorial on the subject. <a class="reference external" href="https://www.programiz.com/python-programming/property">This article on Python properties</a>
is well-explained and should help you understand the idea.</p>
<p>Lets look at our properties for <code class="docutils literal notranslate"><span class="pre">x</span></code>. First of all is the read property.</p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>

View file

@ -703,8 +703,7 @@ integrates all switches and does ever some extra checking, but its also very
close from the code Ive provided here. Notice, however, that this resource is
external to Evennia and not maintained by anyone but the original author of
this article.</p>
<p>[Read the full example on Github](https://github.com/vincent-
lg/avenew/blob/master/commands/comms.py)</p>
<p><a class="reference external" href="https://github.com/vincent-lg/avenew/blob/master/commands/comms.py">Read the full example on Github</a></p>
</section>
</section>

View file

@ -49,8 +49,7 @@ information about how commands work can be found in the documentation for <a cla
<section id="a-z">
<h2>A-Z<a class="headerlink" href="#a-z" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>[<code class="docutils literal notranslate"><span class="pre">__unloggedin_look_command</span></code>](https://github.com/evennia/evennia/wiki/Default-Command-
Help#wiki-<code class="docutils literal notranslate"><span class="pre">--unloggedin-look-command</span></code>-cmdunconnectedlook) - look when in unlogged-in state</p></li>
<li><p><a class="reference external" href="https://github.com/evennia/evennia/wiki/Default-Command-Help#wiki-%60--unloggedin-look-command%60-cmdunconnectedlook"><code class="docutils literal notranslate"><span class="pre">__unloggedin_look_command</span></code></a> - look when in unlogged-in state</p></li>
<li><p><a class="reference external" href="Default-Command-Help.html#wiki-about-cmdabout">about</a> - show Evennia info</p></li>
<li><p><a class="reference external" href="Default-Command-Help.html#wiki-access-cmdaccess">access</a> - show your current game access</p></li>
<li><p><a class="reference external" href="Default-Command-Help.html#wiki-addcom-cmdaddcom">addcom</a> - add a channel alias and/or subscribe to a
@ -180,8 +179,7 @@ another</p></li>
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/">evennia/commands/default/</a></p>
<section id="account-py">
<h3><code class="docutils literal notranslate"><span class="pre">account.py</span></code><a class="headerlink" href="#account-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">View account.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">View account.py source</a></p>
<section id="charcreate-cmdcharcreate">
<h4>charcreate (CmdCharCreate)<a class="headerlink" href="#charcreate-cmdcharcreate" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">create</span> <span class="n">a</span> <span class="n">new</span> <span class="n">character</span>
@ -202,8 +200,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCharCreate</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="chardelete-cmdchardelete">
@ -223,8 +220,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCharDelete</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="color-cmdcolortest">
@ -248,8 +244,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdColorTest</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="ic-cmdic">
@ -277,8 +272,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdIC</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="look-cmdooclook">
@ -298,8 +292,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdOOCLook</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="ooc-cmdooc">
@ -321,8 +314,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdOOC</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="option-cmdoption">
@ -348,8 +340,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdOption</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="password-cmdpassword">
@ -369,8 +360,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdPassword</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="quell-cmdquell">
@ -443,8 +433,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSessions</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultSession</em> of class <code class="docutils literal notranslate"><span class="pre">SessionCmdSet</span></code> in [cmdset_session.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py).</p></li>
Belongs to command set <em>DefaultSession</em> of class <code class="docutils literal notranslate"><span class="pre">SessionCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py">cmdset_session.py</a>.</p></li>
</ul>
</section>
<section id="style-cmdstyle">
@ -466,8 +455,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdStyle</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="who-cmdwho">
@ -489,15 +477,13 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdWho</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py">account.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
</section>
<section id="admin-py">
<h3><code class="docutils literal notranslate"><span class="pre">admin.py</span></code><a class="headerlink" href="#admin-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">View admin.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">View admin.py source</a></p>
<section id="ban-cmdban">
<h4>ban (CmdBan)<a class="headerlink" href="#ban-cmdban" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">ban</span> <span class="n">an</span> <span class="n">account</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">server</span>
@ -538,8 +524,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBan</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="boot-cmdboot">
@ -564,8 +549,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBoot</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="emit-cmdemit">
@ -596,8 +580,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdEmit</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="force-cmdforce">
@ -618,8 +601,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdForce</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="perm-cmdperm">
@ -645,8 +627,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdPerm</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="unban-cmdunban">
@ -669,8 +650,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnban</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="userpassword-cmdnewpassword">
@ -690,8 +670,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdNewPassword</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="wall-cmdwall">
@ -712,15 +691,13 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Admin”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdWall</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py">admin.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
<section id="batchprocess-py">
<h3><code class="docutils literal notranslate"><span class="pre">batchprocess.py</span></code><a class="headerlink" href="#batchprocess-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py">View batchprocess.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py">View batchprocess.py source</a></p>
<section id="batchcode-cmdbatchcode">
<h4>batchcode (CmdBatchCode)<a class="headerlink" href="#batchcode-cmdbatchcode" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">build</span> <span class="kn">from</span> <span class="nn">batch</span><span class="o">-</span><span class="n">code</span> <span class="n">file</span>
@ -745,10 +722,8 @@ source</a></p>
<li><p><strong>aliases:</strong> <em>batchcodes</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:superuser()”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBatchCode</span></code> in [batchprocess.py](https://github.com/evennia/evennia/tree/mast
er/evennia/commands/default/batchprocess.py).
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBatchCode</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py">batchprocess.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="batchcommands-cmdbatchcommands">
@ -771,17 +746,14 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong>aliases:</strong> <em>batchcmd</em>, <em>batchcommand</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:perm(batchcommands) or perm(Developer)”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBatchCommands</span></code> in [batchprocess.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/batchprocess.py).
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdBatchCommands</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py">batchprocess.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
<section id="building-py">
<h3><code class="docutils literal notranslate"><span class="pre">building.py</span></code><a class="headerlink" href="#building-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">View building.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">View building.py source</a></p>
<section id="alias-cmdsetobjalias">
<h4>alias (CmdSetObjAlias)<a class="headerlink" href="#alias-cmdsetobjalias" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> adding permanent aliases for object
@ -812,8 +784,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSetObjAlias</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="cmdsets-cmdlistcmdsets">
@ -834,8 +805,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdListCmdSets</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="command-objmanipcommand">
@ -893,8 +863,7 @@ Belongs to command set <em><Unknown></em> of class <code class="docutils l
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCopy</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="cpattr-cmdcpattr">
@ -927,8 +896,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCpAttr</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="create-cmdcreate">
@ -961,8 +929,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCreate</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="desc-cmddesc">
@ -986,8 +953,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdDesc</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="destroy-cmddestroy">
@ -1019,8 +985,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdDestroy</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="dig-cmddig">
@ -1054,8 +1019,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdDig</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="examine-cmdexamine">
@ -1084,8 +1048,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdExamine</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="find-cmdfind">
@ -1118,8 +1081,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdFind</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="link-cmdlink">
@ -1150,8 +1112,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdLink</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="lock-cmdlock">
@ -1193,8 +1154,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdLock</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="mvattr-cmdmvattr">
@ -1221,8 +1181,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdMvAttr</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="name-cmdname">
@ -1243,8 +1202,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdName</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="open-cmdopen">
@ -1252,8 +1210,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="nb">open</span> <span class="n">a</span> <span class="n">new</span> <span class="n">exit</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">current</span> <span class="n">room</span>
<span class="n">Usage</span><span class="p">:</span>
<span class="nb">open</span> <span class="o">&lt;</span><span class="n">new</span> <span class="n">exit</span><span class="o">&gt;</span><span class="p">[;</span><span class="n">alias</span><span class="p">;</span><span class="n">alias</span><span class="o">..</span><span class="p">][:</span><span class="n">typeclass</span><span class="p">]</span> <span class="p">[,</span><span class="o">&lt;</span><span class="k">return</span> <span class="n">exit</span><span class="o">&gt;</span><span class="p">[;</span><span class="n">alias</span><span class="p">;</span><span class="o">..</span><span class="p">][:</span><span class="n">typeclass</span><span class="p">]]]</span> <span class="o">=</span>
<span class="o">&lt;</span><span class="n">destination</span><span class="o">&gt;</span>
<span class="nb">open</span> <span class="o">&lt;</span><span class="n">new</span> <span class="n">exit</span><span class="o">&gt;</span><span class="p">[;</span><span class="n">alias</span><span class="p">;</span><span class="n">alias</span><span class="o">..</span><span class="p">][:</span><span class="n">typeclass</span><span class="p">]</span> <span class="p">[,</span><span class="o">&lt;</span><span class="k">return</span> <span class="n">exit</span><span class="o">&gt;</span><span class="p">[;</span><span class="n">alias</span><span class="p">;</span><span class="o">..</span><span class="p">][:</span><span class="n">typeclass</span><span class="p">]]]</span> <span class="o">=</span> <span class="o">&lt;</span><span class="n">destination</span><span class="o">&gt;</span>
<span class="n">Handles</span> <span class="n">the</span> <span class="n">creation</span> <span class="n">of</span> <span class="n">exits</span><span class="o">.</span> <span class="n">If</span> <span class="n">a</span> <span class="n">destination</span> <span class="ow">is</span> <span class="n">given</span><span class="p">,</span> <span class="n">the</span> <span class="n">exit</span>
<span class="n">will</span> <span class="n">point</span> <span class="n">there</span><span class="o">.</span> <span class="n">The</span> <span class="o">&lt;</span><span class="k">return</span> <span class="n">exit</span><span class="o">&gt;</span> <span class="n">argument</span> <span class="n">sets</span> <span class="n">up</span> <span class="n">an</span> <span class="n">exit</span> <span class="n">at</span> <span class="n">the</span>
@ -1269,8 +1226,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdOpen</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="script-cmdscript">
@ -1300,8 +1256,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdScript</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="set-cmdsetattribute">
@ -1351,8 +1306,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSetAttribute</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="sethome-cmdsethome">
@ -1378,8 +1332,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSetHome</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="spawn-cmdspawn">
@ -1452,8 +1405,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSpawn</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="tag-cmdtag">
@ -1485,8 +1437,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdTag</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="tel-cmdteleport">
@ -1524,8 +1475,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdTeleport</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="tunnel-cmdtunnel">
@ -1562,8 +1512,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdTunnel</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="typeclass-cmdtypeclass">
@ -1621,8 +1570,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdTypeclass</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="unlink-cmdunlink">
@ -1643,8 +1591,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnLink</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="wipe-cmdwipe">
@ -1669,15 +1616,13 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdWipe</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py">building.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
<section id="comms-py">
<h3><code class="docutils literal notranslate"><span class="pre">comms.py</span></code><a class="headerlink" href="#comms-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">View comms.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">View comms.py source</a></p>
<section id="addcom-cmdaddcom">
<h4>addcom (CmdAddCom)<a class="headerlink" href="#addcom-cmdaddcom" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">add</span> <span class="n">a</span> <span class="n">channel</span> <span class="n">alias</span> <span class="ow">and</span><span class="o">/</span><span class="ow">or</span> <span class="n">subscribe</span> <span class="n">to</span> <span class="n">a</span> <span class="n">channel</span>
@ -1698,8 +1643,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdAddCom</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="allcom-cmdallcom">
@ -1723,8 +1667,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdAllCom</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="cboot-cmdcboot">
@ -1747,8 +1690,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCBoot</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="ccreate-cmdchannelcreate">
@ -1768,8 +1710,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdChannelCreate</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="cdesc-cmdcdesc">
@ -1790,8 +1731,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCdesc</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="cdestroy-cmdcdestroy">
@ -1811,8 +1751,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCdestroy</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="cemit-cmdcemit">
@ -1838,8 +1777,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCemit</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="channels-cmdchannels">
@ -1863,8 +1801,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdChannels</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="clock-cmdclock">
@ -1885,8 +1822,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdClock</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="cwho-cmdcwho">
@ -1906,8 +1842,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdCWho</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="delcom-cmddelcom">
@ -1931,8 +1866,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdDelCom</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="irc2chan-cmdirc2chan">
@ -1973,8 +1907,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdIRC2Chan</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="page-cmdpage">
@ -2001,8 +1934,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdPage</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="rss2chan-cmdrss2chan">
@ -2037,15 +1969,13 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Comms”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdRSS2Chan</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py">comms.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
</section>
<section id="general-py">
<h3><code class="docutils literal notranslate"><span class="pre">general.py</span></code><a class="headerlink" href="#general-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">View general.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">View general.py source</a></p>
<section id="access-cmdaccess">
<h4>access (CmdAccess)<a class="headerlink" href="#access-cmdaccess" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">show</span> <span class="n">your</span> <span class="n">current</span> <span class="n">game</span> <span class="n">access</span>
@ -2086,8 +2016,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdDrop</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="get-cmdget">
@ -2108,8 +2037,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdGet</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="give-cmdgive">
@ -2130,8 +2058,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdGive</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="home-cmdhome">
@ -2151,8 +2078,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdHome</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="inventory-cmdinventory">
@ -2173,8 +2099,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdInventory</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="look-cmdlook">
@ -2196,8 +2121,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdLook</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="nick-cmdnick">
@ -2249,8 +2173,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdNick</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="pose-cmdpose">
@ -2277,8 +2200,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdPose</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="say-cmdsay">
@ -2298,8 +2220,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSay</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="setdesc-cmdsetdesc">
@ -2321,8 +2242,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSetDesc</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="whisper-cmdwhisper">
@ -2344,8 +2264,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdWhisper</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py">general.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
@ -2373,8 +2292,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdHelp</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/help.py">help.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="sethelp-cmdsethelp">
@ -2410,15 +2328,13 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“Building”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdSetHelp</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/help.py">help.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
<section id="system-py">
<h3><code class="docutils literal notranslate"><span class="pre">system.py</span></code><a class="headerlink" href="#system-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">View system.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">View system.py source</a></p>
<section id="about-cmdabout">
<h4>about (CmdAbout)<a class="headerlink" href="#about-cmdabout" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">show</span> <span class="n">Evennia</span> <span class="n">info</span>
@ -2436,8 +2352,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdAbout</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="objects-cmdobjects">
@ -2459,8 +2374,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdObjects</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="py-cmdpy">
@ -2517,8 +2431,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdPy</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="reload-cmdreload">
@ -2540,8 +2453,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdReload</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="reset-cmdreset">
@ -2571,8 +2483,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdReset</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="scripts-cmdscripts">
@ -2604,8 +2515,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdScripts</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="server-cmdserverload">
@ -2651,8 +2561,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdServerLoad</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="service-cmdservice">
@ -2682,8 +2591,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdService</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
<section id="shutdown-cmdshutdown">
@ -2703,8 +2611,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdShutdown</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).</p></li>
Belongs to command set <em>DefaultAccount</em> of class <code class="docutils literal notranslate"><span class="pre">AccountCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py">cmdset_account.py</a>.</p></li>
</ul>
</section>
<section id="time-cmdtime">
@ -2725,15 +2632,13 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“System”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdTime</span></code> in
<a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py">system.py</a>.
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).</p></li>
Belongs to command set <em>DefaultCharacter</em> of class <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py">cmdset_character.py</a>.</p></li>
</ul>
</section>
</section>
<section id="unloggedin-py">
<h3><code class="docutils literal notranslate"><span class="pre">unloggedin.py</span></code><a class="headerlink" href="#unloggedin-py" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">View unloggedin.py
source</a></p>
<p><a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">View unloggedin.py source</a></p>
<section id="unloggedin-look-command-cmdunconnectedlook">
<h4>__unloggedin_look_command (CmdUnconnectedLook)<a class="headerlink" href="#unloggedin-look-command-cmdunconnectedlook" title="Permalink to this headline"></a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">look</span> <span class="n">when</span> <span class="ow">in</span> <span class="n">unlogged</span><span class="o">-</span><span class="ow">in</span> <span class="n">state</span>
@ -2754,8 +2659,7 @@ source</a></p>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedLook</span></code> in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).</p></li>
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py">cmdset_unloggedin.py</a>.</p></li>
</ul>
<p><em>OBS: This is a [[System Command|Commands]]. System commands have fixed keys and are called by the
server in specific situations.</em></p>
@ -2778,10 +2682,8 @@ server in specific situations.</em></p>
<li><p><strong>aliases:</strong> <em>con</em>, <em>conn</em>, <em>co</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:all()”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedConnect</span></code> in [unloggedin.py](https://github.com/evennia/evennia/tr
ee/master/evennia/commands/default/unloggedin.py).
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedConnect</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">unloggedin.py</a>.
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py">cmdset_unloggedin.py</a>.</p></li>
</ul>
</section>
<section id="create-cmdunconnectedcreate">
@ -2802,10 +2704,8 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
<li><p><strong>aliases:</strong> <em>cre</em>, <em>cr</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:all()”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedCreate</span></code> in [unloggedin.py](https://github.com/evennia/evennia/tre
e/master/evennia/commands/default/unloggedin.py).
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedCreate</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">unloggedin.py</a>.
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py">cmdset_unloggedin.py</a>.</p></li>
</ul>
</section>
<section id="help-cmdunconnectedhelp">
@ -2824,10 +2724,8 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
<li><p><strong>aliases:</strong> <em>?</em>, <em>h</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:all()”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedHelp</span></code> in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedHelp</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">unloggedin.py</a>.
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py">cmdset_unloggedin.py</a>.</p></li>
</ul>
</section>
<section id="quit-cmdunconnectedquit">
@ -2847,10 +2745,8 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
<li><p><strong>aliases:</strong> <em>qu</em>, <em>q</em></p></li>
<li><p><strong><a class="reference internal" href="Locks.html"><span class="doc">locks</span></a>:</strong> <em>“cmd:all()”</em></p></li>
<li><p><strong><a class="reference internal" href="Help-System.html"><span class="doc">help_category</span></a>:</strong> <em>“General”</em></p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedQuit</span></code> in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).</p></li>
<li><p><strong>Source:</strong> class <code class="docutils literal notranslate"><span class="pre">CmdUnconnectedQuit</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py">unloggedin.py</a>.
Belongs to command set <em>DefaultUnloggedin</em> of class <code class="docutils literal notranslate"><span class="pre">UnloggedinCmdSet</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py">cmdset_unloggedin.py</a>.</p></li>
</ul>
</section>
</section>

View file

@ -275,8 +275,7 @@ another.</p></li>
<li><p><strong>Q:</strong> can I have two characters answering to the same dialogue in exactly the same way?</p></li>
<li><p><strong>A:</strong> Its possible but not so easy to do. Usually, event grouping is set in code, and depends
on different games. However, if it is for some infrequent occurrences, its easy to do using
[chained events](https://github.com/evennia/evennia/blob/master/evennia/contrib/ingame_python/README
.md#chained-events).</p></li>
<a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/contrib/ingame_python/README.md#chained-events">chained events</a>.</p></li>
<li><p><strong>Q:</strong> is it possible to deploy callbacks on all characters sharing the same prototype?</p></li>
<li><p><strong>A:</strong> not out of the box. This depends on individual settings in code. One can imagine that all
characters of some type would share some events, but this is game-specific. Rooms of the same zone

View file

@ -126,8 +126,8 @@ put on each new Orc (like the “warrior” set or “shaman” set) . Such sets
another which is again somewhat remniscent at least of the <em>effect</em> of <code class="docutils literal notranslate"><span class="pre">&#64;parent</span></code> and the object-
based inheritance of MUSH.</p>
<p>There are other differences for sure, but that should give some feel for things. Enough with the
theory. Lets get down to more practical matters next. To install, see the <a class="reference internal" href="Getting-Started.html"><span class="doc">Getting Started
instructions</span></a>.</p>
theory. Lets get down to more practical matters next. To install, see the
<a class="reference internal" href="Getting-Started.html"><span class="doc">Getting Started instructions</span></a>.</p>
</section>
<section id="a-first-step-making-things-more-familiar">
<h2>A first step making things more familiar<a class="headerlink" href="#a-first-step-making-things-more-familiar" title="Permalink to this headline"></a></h2>
@ -192,8 +192,7 @@ commands) are available to the player from moment to moment depending on circums
</td></tr></table></div>
<p>Note that Python cares about indentation, so make sure to indent with the same number of spaces as
shown above!</p>
<p>So what happens above? We [import the module](http://www.linuxtopia.org/online_books/programming_boo
ks/python_programming/python_ch28s03.html) <code class="docutils literal notranslate"><span class="pre">evennia/contrib/multidescer.py</span></code> at the top. Once
<p>So what happens above? We <a class="reference external" href="http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch28s03.html">import the module</a> <code class="docutils literal notranslate"><span class="pre">evennia/contrib/multidescer.py</span></code> at the top. Once
imported we can access stuff inside that module using full stop (<code class="docutils literal notranslate"><span class="pre">.</span></code>). The multidescer is defined as
a class <code class="docutils literal notranslate"><span class="pre">CmdMultiDesc</span></code> (we could find this out by opening said module in a text editor). At the
bottom we create a new instance of this class and add it to the <code class="docutils literal notranslate"><span class="pre">CharacterCmdSet</span></code> class. For the
@ -255,17 +254,14 @@ developer changing the underlying Python code.</p>
<p>If you are a <em>Developer</em> and are interested in making a more MUSH-like Evennia game, a good start is
to look into the Evennia <a class="reference internal" href="Tutorial-for-basic-MUSH-like-game.html"><span class="doc">Tutorial for a first MUSH-like game</span></a>.
That steps through building a simple little game from scratch and helps to acquaint you with the
various corners of Evennia. There is also the [Tutorial for running roleplaying sessions](Evennia-
for-roleplaying-sessions) that can be of interest.</p>
various corners of Evennia. There is also the <a class="reference internal" href="Evennia-for-roleplaying-sessions.html"><span class="doc">Tutorial for running roleplaying sessions</span></a> that can be of interest.</p>
<p>An important aspect of making things more familiar for <em>Players</em> is adding new and tweaking existing
commands. How this is done is covered by the [Tutorial on adding new commands](Adding-Command-
Tutorial). You may also find it useful to shop through the <code class="docutils literal notranslate"><span class="pre">evennia/contrib/</span></code> folder. The <a class="reference internal" href="Tutorial-World-Introduction.html"><span class="doc">Tutorial
commands. How this is done is covered by the <a class="reference internal" href="Adding-Command-Tutorial.html"><span class="doc">Tutorial on adding new commands</span></a>. You may also find it useful to shop through the <code class="docutils literal notranslate"><span class="pre">evennia/contrib/</span></code> folder. The <a class="reference internal" href="Tutorial-World-Introduction.html"><span class="doc">Tutorial
world</span></a> is a small single-player quest you can try (its not very MUSH-
like but it does show many Evennia concepts in action). Beyond that there are <a class="reference internal" href="Tutorials.html"><span class="doc">many more
tutorials</span></a> to try out. If you feel you want a more visual overview you can also look at
<a class="reference external" href="https://evennia.blogspot.se/2016/05/evennia-in-pictures.html">Evennia in pictures</a>.</p>
<p>… And of course, if you need further help you can always drop into the [Evennia chatroom](http://web
chat.freenode.net/?channels=evennia&amp;uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb) or post a
<p>… And of course, if you need further help you can always drop into the <a class="reference external" href="http://webchat.freenode.net/?channels=evennia&amp;uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">Evennia chatroom</a> or post a
question in our <a class="reference external" href="https://groups.google.com/forum/#%21forum/evennia">forum/mailing list</a>!</p>
</section>
</section>

View file

@ -51,10 +51,7 @@
<p>So you have Evennia up and running. You have a great game idea in mind. Now its time to start
cracking! But where to start? Here are some ideas for a workflow. Note that the suggestions on this
page are just that - suggestions. Also, they are primarily aimed at a lone hobby designer or a small
team developing a game in their free time. There is an article in the Imaginary Realities e-zine
which was written by the Evennia lead dev. It focuses more on you finding out your motivations for
making a game - you can [read the article here](http://journal.imaginary-
realities.com/volume-07/issue-03/where-do-i-begin/index.html).</p>
team developing a game in their free time.</p>
<p>Below are some minimal steps for getting the first version of a new game world going with players.
Its worth to at least make the attempt to do these steps in order even if you are itching to jump
ahead in the development cycle. On the other hand, you should also make sure to keep your work fun

View file

@ -237,8 +237,7 @@ infrastructure. Git itself is a separate project.</p>
</section>
<section id="object">
<h2><em>object</em><a class="headerlink" href="#object" title="Permalink to this headline"></a></h2>
<p>In general Python (and other [object-oriented languages](https://en.wikipedia.org/wiki/Object-
oriented_programming)), an <code class="docutils literal notranslate"><span class="pre">object</span></code> is what we call the instance of a <em>class</em>. But one of Evennias
<p>In general Python (and other <a class="reference external" href="https://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented languages</a>), an <code class="docutils literal notranslate"><span class="pre">object</span></code> is what we call the instance of a <em>class</em>. But one of Evennias
core <a class="reference external" href="Glossary.html#typeclasss">typeclasses</a> is also called “Object”. To separate these in the docs we
try to use <code class="docutils literal notranslate"><span class="pre">object</span></code> to refer to the general term and capitalized <code class="docutils literal notranslate"><span class="pre">Object</span></code> when we refer to the
typeclass.</p>
@ -277,8 +276,7 @@ not have to be.</p>
<section id="property">
<h2><em>property</em><a class="headerlink" href="#property" title="Permalink to this headline"></a></h2>
<p>A <em>property</em> is a general term used for properties on any Python object. The term also sometimes
refers to the <code class="docutils literal notranslate"><span class="pre">property</span></code> built-in function of Python ([read more here](https://www.python-
course.eu/python3_properties.php)). Note the distinction between properties,
refers to the <code class="docutils literal notranslate"><span class="pre">property</span></code> built-in function of Python (<a class="reference external" href="https://www.python-course.eu/python3_properties.php">read more here</a>). Note the distinction between properties,
<a class="reference external" href="Glossary.html#field">fields</a> and <a class="reference external" href="Glossary.html#attribute">Attributes</a>.</p>
</section>
<section id="repository">

View file

@ -48,9 +48,7 @@
<section id="help-system-tutorial">
<h1>Help System Tutorial<a class="headerlink" href="#help-system-tutorial" title="Permalink to this headline"></a></h1>
<p><strong>Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](Web-
Tutorial).</strong> Reading the three first parts of the <a class="reference external" href="https://docs.djangoproject.com/en/2.2/">Django
tutorial</a> might help as well.</p>
<p><strong>Before doing this tutorial you will probably want to read the intro in <a class="reference internal" href="Web-Tutorial.html"><span class="doc">Basic Web tutorial</span></a>.</strong> Reading the three first parts of the <a class="reference external" href="https://docs.djangoproject.com/en/2.2/">Django tutorial</a> might help as well.</p>
<p>This tutorial will show you how to access the help system through your website. Both help commands
and regular help entries will be visible, depending on the logged-in user or an anonymous character.</p>
<p>This tutorial will show you how to:</p>

View file

@ -44,18 +44,18 @@
<p>If you cannot find what you are looking for in the <a class="reference internal" href="index.html"><span class="doc">online documentation</span></a>, heres what to do:</p>
<ul class="simple">
<li><p>If you think the documentation is not clear enough and are short on time, fill in our quick little
<a class="reference external" href="https://docs.google.com/spreadsheet/viewform?hl=en_US&amp;formkey=dGN0VlJXMWpCT3VHaHpscDEzY1RoZG">online form</a> and let us know - no login required. Maybe the docs need to be improved or a new
<a class="reference external" href="https://docs.google.com/spreadsheet/viewform?hl=en_US&amp;formkey=dGN0VlJXMWpCT3VHaHpscDEzY1RoZGc6MQ#gid=0">online form</a> and let us know - no login required. Maybe the docs need to be improved or a new
tutorial added! Note that while this form is useful as a suggestion box we cannot answer questions
or reply to you. Use the discussion group or chat (linked below) if you want feedback.</p></li>
<li><p>If you have trouble with a missing feature or a problem you think is a bug, go to the
[issue tracker][issues] and search to see if has been reported/suggested already. If you cant find an
<a class="reference external" href="https://github.com/evennia/evennia/issues">issue tracker</a> and search to see if has been reported/suggested already. If you cant find an
existing entry create a new one.</p></li>
<li><p>If you need help, want to start a discussion or get some input on something you are working on,
make a post to the [discussions group][group] This is technically a mailing list, but you dont
make a post to the <a class="reference external" href="http://groups.google.com/group/evennia/">discussions group</a> This is technically a mailing list, but you dont
need to use e-mail; you can post and read all messages just as easily from your browser via the
online interface.</p></li>
<li><p>If you want more direct discussions with developers and other users, consider dropping into our
IRC chat channel [#evennia][chat] on the <em>Freenode</em> network. Please note however that you have to be
IRC chat channel <a class="reference external" href="http://webchat.freenode.net/?channels=evennia">#evennia</a> on the <em>Freenode</em> network. Please note however that you have to be
patient if you dont get any response immediately; we are all in very different time zones and many
have busy personal lives. So you might have to hang around for a while - youll get noticed
eventually!</p></li>
@ -65,9 +65,9 @@ eventually!</p></li>
<h2>How to <em>give</em> Help<a class="headerlink" href="#how-to-give-help" title="Permalink to this headline"></a></h2>
<p>Evennia is a completely non-funded project. It relies on the time donated by its users and
developers in order to progress.</p>
<p>The first and easiest way you as a user can help us out is by taking part in [community
discussions][group] and by giving feedback on what is good or bad. Report bugs you find and features
you lack to our [issue tracker][issues]. Just the simple act of letting developers know you are out
<p>The first and easiest way you as a user can help us out is by taking part in
<a class="reference external" href="http://groups.google.com/group/evennia/">community discussions</a> and by giving feedback on what is good or bad. Report bugs you find and features
you lack to our <a class="reference external" href="https://github.com/evennia/evennia/issues">issue tracker</a>. Just the simple act of letting developers know you are out
there using their program is worth a lot. Generally mentioning and reviewing Evennia elsewhere is
also a nice way to spread the word.</p>
<p>If youd like to help develop Evennia more hands-on, here are some ways to get going:</p>
@ -75,10 +75,10 @@ also a nice way to spread the word.</p>
<li><p>Look through our <a class="reference internal" href="index.html"><span class="doc">online documentation wiki</span></a> and see if you
can help improve or expand the documentation (even small things like fixing typos!). You dont need
any particular permissions to edit the wiki.</p></li>
<li><p>Send a message to our [discussion group][group] and/or our [IRC chat][chat] asking about what
<li><p>Send a message to our <a class="reference external" href="http://groups.google.com/group/evennia/">discussion group</a> and/or our <a class="reference external" href="http://webchat.freenode.net/?channels=evennia">IRC chat</a> asking about what
needs doing, along with what your interests and skills are.</p></li>
<li><p>Take a look at our [issue tracker][issues] and see if theres something you feel like taking on.
[here are bugs][issues-master] that need fixes. At any given time there may also be some
<li><p>Take a look at our <a class="reference external" href="https://github.com/evennia/evennia/issues">issue tracker</a> and see if theres something you feel like taking on.
<a class="reference external" href="https://github.com/evennia/evennia/issues?utf8=%E2%9C%93&amp;q=is%3Aissue%20is%3Aopen%20label%3Abug%20label%3Amaster-branch">here are bugs</a> that need fixes. At any given time there may also be some
[bounties][issues-bounties] open - these are issues members of the community has put up money to see
fixed (if you want to put up a bounty yourself you can do so via our page on
[bountysource][bountysource]).</p></li>
@ -86,24 +86,14 @@ fixed (if you want to put up a bounty yourself you can do so via our page on
github.</p></li>
</ul>
<p>… And finally, if you want to help motivate and support development you can also drop some coins
in the developers cup. You can [make a donation via PayPal][paypal] or, even better, [become an
Evennia patron on Patreon][patreon]! This is a great way to tip your hat and show that you
in the developers cup. You can <a class="reference external" href="https://www.paypal.com/se/cgi-bin/webscr?cmd=_flow&amp;SESSION=Z-VlOvfGjYq2qvCDOUGpb6C8Due7skT0qOklQEy5EbaD1f0eyEQaYlmCc8O&amp;dispatch=5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9">make a donation via PayPal</a> or, even better,
[become an Evennia patron on Patreon][patreon]! This is a great way to tip your hat and show that you
appreciate the work done with the server! Finally, if you want to encourage the community to resolve
a particular</p>
<p>c6MQ#gid=0
[group]: http://groups.google.com/group/evennia/
[issues]: https://github.com/evennia/evennia/issues
[issues-master]: https://github.com/evennia/evennia/issues?utf8=%E2%9C%93&amp;q=is%3Aissue%20is%3Aopen%2
0label%3Abug%20label%3Amaster-branch
[chat]: http://webchat.freenode.net/?channels=evennia
[paypal]: https://www.paypal.com/se/cgi-bin/webscr?cmd=<em>flow&amp;SESSION=Z-VlOvfGjYq2qvCDOUGpb6C8Due7skT
0qOklQEy5EbaD1f0eyEQaYlmCc8O&amp;dispatch=5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9
b2
[donate-img]: http://images-focus-opensocial.googleusercontent.com/gadgets/proxy?url=https://www.pay
palobjects.com/en%255fUS/SE/i/btn/btn%255fdonateCC%255fLG.gif&amp;container=focus&amp;gadget=a&amp;rewriteMime=i
mage/*
<p>b2
[donate-img]: http://images-focus-opensocial.googleusercontent.com/gadgets/proxy?url=https://www.paypalobjects.com/en%255fUS/SE/i/btn/btn%255fdonateCC%255fLG.gif&amp;container=focus&amp;gadget=a&amp;rewriteMime=image/*
[patreon]: https://www.patreon.com/griatch
[patreon-img]: http://www.evennia.com/</em>/rsrc/1424724909023/home/evennia_patreon_100x100.png
[patreon-img]: http://www.evennia.com/_/rsrc/1424724909023/home/evennia_patreon_100x100.png
[issues-bounties]: https://github.com/evennia/evennia/labels/bounty
[bountysource]: https://www.bountysource.com/teams/evennia</p>
</section>

View file

@ -45,8 +45,7 @@
<ul class="simple">
<li><p><a class="reference external" href="http://www.evennia.com">evennia.com</a> - Main Evennia portal page. Links to all corners of Evennia.</p></li>
<li><p><a class="reference external" href="https://github.com/evennia/evennia">Evennia github page</a> - Download code and read documentation.</p></li>
<li><p>[Evennia official chat channel](http://webchat.freenode.net/?channels=evennia&amp;uio=MT1mYWxzZSY5PXRy
dWUmMTE9MTk1JjEyPXRydWUbb) - Our official IRC chat #evennia at irc.freenode.net:6667.</p></li>
<li><p><a class="reference external" href="http://webchat.freenode.net/?channels=evennia&amp;uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">Evennia official chat channel</a> - Our official IRC chat #evennia at irc.freenode.net:6667.</p></li>
<li><p><a class="reference external" href="http://groups.google.com/group/evennia">Evennia forums/mailing list</a> - Web interface to our
google group.</p></li>
<li><p><a class="reference external" href="http://evennia.blogspot.se/">Evennia development blog</a> - Musings from the lead developer.</p></li>
@ -154,8 +153,7 @@ Influential mailing list active 1996-2004. Advanced game design discussions.</p>
<li><p><a class="reference external" href="http://mud-dev.wikidot.com/">Mud-dev wiki</a> - A (very) slowly growing resource on MUD creation.</p></li>
<li><p><a class="reference external" href="http://cryosphere.net/mud-protocol.html">Mud Client/Server Interaction</a> - A page on classic MUD
telnet protocols.</p></li>
<li><p>[Mud Techs fun/cool but …](http://gc-taylor.com/blog/2013/01/08/mud-tech-funcool-dont-forget-
ship-damned-thing/) - Greg Taylor gives good advice on mud design.</p></li>
<li><p><a class="reference external" href="http://gc-taylor.com/blog/2013/01/08/mud-tech-funcool-dont-forget-ship-damned-thing/">Mud Techs fun/cool but …</a> - Greg Taylor gives good advice on mud design.</p></li>
<li><p><a class="reference external" href="http://www.hayseed.net/MOO/">Lost Library of MOO</a> - Archive of scientific articles on mudding (in
particular moo).</p></li>
<li><p><a class="reference external" href="http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=5959">Nick Gammons hints thread</a> -
@ -166,16 +164,14 @@ articles (not MUD-specific)</p></li>
<li><p><a class="reference external" href="http://thealexandrian.net/">The Alexandrian</a> - A blog about tabletop roleplaying and board games,
but with lots of general discussion about rule systems and game balance that could be applicable
also for MUDs.</p></li>
<li><p>[Raph Kosters laws of game design](https://www.raphkoster.com/games/laws-of-online-world-
design/the-laws-of-online-world-design/) - thought-provoking guidelines and things to think about
<li><p><a class="reference external" href="https://www.raphkoster.com/games/laws-of-online-world-design/the-laws-of-online-world-design/">Raph Kosters laws of game design</a> - thought-provoking guidelines and things to think about
when designing a virtual multiplayer world (Raph is known for <em>Ultima Online</em> among other things).</p></li>
</ul>
</section>
<section id="literature">
<h2>Literature<a class="headerlink" href="#literature" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Richard Bartle <em>Designing Virtual Worlds</em> ([amazon page](http://www.amazon.com/Designing-Virtual-
Worlds-Richard-Bartle/dp/0131018167)) - Essential reading for the design of any persistent game
<li><p>Richard Bartle <em>Designing Virtual Worlds</em> (<a class="reference external" href="http://www.amazon.com/Designing-Virtual-Worlds-Richard-Bartle/dp/0131018167">amazon page</a>) - Essential reading for the design of any persistent game
world, written by the co-creator of the original game <em>MUD</em>. Published in 2003 but its still as
relevant now as when it came out. Covers everything you need to know and then some.</p></li>
<li><p>Zed A. Shaw <em>Learn Python the Hard way</em> (<a class="reference external" href="https://learnpythonthehardway.org/">homepage</a>) - Despite

View file

@ -333,8 +333,7 @@ certificate, use it and maintain it with your website.</p></li>
<p>Also, on Freenode visit the #letsencrypt channel for assistance from the community. For an
additional resource, Lets Encrypt has a very active <a class="reference external" href="https://community.letsencrypt.org/">community
forum</a>.</p>
<p>[A blog where someone sets up Lets Encrypt](https://www.digitalocean.com/community/tutorials/how-
to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04)</p>
<p><a class="reference external" href="https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04">A blog where someone sets up Lets Encrypt</a></p>
<p>The only process missing from all of the above documentation is how to pass verification. This is
how Lets Encrypt verifies that you have control over your domain (not necessarily ownership, its
Domain Validation (DV)). This can be done either with configuring a certain path on your web server

View file

@ -53,8 +53,7 @@ inside the game or from the command line as described <a class="reference intern
<p>If you are new to the concept, the main purpose of separating the two is to have accounts connect to
the Portal but keep the MUD running on the Server. This way one can restart/reload the game (the
Server part) without Accounts getting disconnected.</p>
<p>![portal and server layout](https://474a3b9f-a-62cb3a1a-s-
sites.googlegroups.com/site/evenniaserver/file-cabinet/evennia_server_portal.png)</p>
<p><img alt="portal and server layout" src="https://474a3b9f-a-62cb3a1a-s-sites.googlegroups.com/site/evenniaserver/file-cabinet/evennia_server_portal.png" /></p>
<p>The Server and Portal are glued together via an AMP (Asynchronous Messaging Protocol) connection.
This allows the two programs to communicate seamlessly.</p>
</section>

View file

@ -39,101 +39,7 @@
<section id="python-3">
<h1>Python 3<a class="headerlink" href="#python-3" title="Permalink to this headline"></a></h1>
<blockquote>
<div><p><em>Note: Evennia only supports Python 2.7+ at this time. This page gathers various development
information relevant to server developers.</em></p>
</div></blockquote>
<p>Django can work with Python 2 and 3 already, though changes may be required to how the Evennia code
uses it. Twisted has much Python 3 compatibility, but not all modules within it have been ported
yet. The
<a class="reference external" href="https://twistedmatrix.com/documents/current/api/twisted.python.dist3.html">twisted.python.dist3</a>
module gives some information about whats ported, and Im compiling a list of missing modules with
related bug reports which can be found below. The list is based on a search for import statements in
the Evennia source code, please add anything thats missing.</p>
<p>Part of this process is expected to be writing more tests for Evennia. One encouraging recent port
to Python 3 in Twisted is its Trial test framework, which may need to be used by Evennia to ensure
it still works correctly with Twisted on Python 3.</p>
</section>
<section id="strings">
<h1>“Strings”<a class="headerlink" href="#strings" title="Permalink to this headline"></a></h1>
<p>Broadly (and perhaps over-simplified):</p>
<ul class="simple">
<li><p>Twisted [expects bytes](http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#WhydontTwisted
snetworkmethodssupportUnicodeobjectsaswellasstrings)</p></li>
<li><p>Django [expects “” to be unicode](https://docs.djangoproject.com/en/1.8/topics/python3/#unicode-
literals)</p></li>
</ul>
<p>I think we should use (roughly speaking) “” for unicode and b”” for bytes everywhere, but I need to
look at the impacts of this more closely.</p>
</section>
<section id="links">
<h1>Links<a class="headerlink" href="#links" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><p>http://twistedmatrix.com/documents/current/core/howto/python3.html</p></li>
<li><p>https://twistedmatrix.com/trac/wiki/Plan/Python3</p></li>
<li><p>[Twisted Python3 bugs](https://twistedmatrix.com/trac/query?status=assigned&amp;status=new&amp;status=reop
ened&amp;group=status&amp;milestone=Python-3.x)</p></li>
</ul>
</section>
<section id="twisted-module-status">
<h1>Twisted module status<a class="headerlink" href="#twisted-module-status" title="Permalink to this headline"></a></h1>
<p>x = not ported to Python 3
/ = ported to Python 3</p>
<ul class="simple">
<li><p>twisted.application.internet /</p></li>
<li><p>twisted.application.service /</p></li>
<li><p>twisted.conch x (not used directly)</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/5102~ /</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/4993~ /</p></li>
<li><p>twisted.conch.insults.insults x</p></li>
<li><p>twisted.conch.interfaces x</p></li>
<li><p>twisted.conch.manhole x</p></li>
<li><p>twisted.conch.manhole_ssh x</p></li>
<li><p>twisted.conch.ssh.common x</p></li>
<li><p>twisted.conch.ssh.keys x</p>
<ul>
<li><p>~https://twistedmatrix.com/trac/ticket/7998~ /</p></li>
<li><p>“twisted.conch.ssh.keys should be ported to Python 3”</p></li>
</ul>
</li>
<li><p>twisted.conch.ssh.userauth x</p></li>
<li><p>twisted.conch.telnet x</p></li>
<li><p>twisted.cred.checkers /</p></li>
<li><p>twisted.cred.portal /</p></li>
<li><p>twisted.internet.defer /</p></li>
<li><p>twisted.internet.interfaces /</p></li>
<li><p>twisted.internet.protocol /</p></li>
<li><p>twisted.internet.reactor /</p></li>
<li><p>twisted.internet.ssl /</p></li>
<li><p>twisted.internet.task /</p></li>
<li><p>twisted.internet.threads /</p></li>
<li><p>twisted.protocols.amp x</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/6833~ /</p></li>
<li><p>“Port twisted.protocols.amp to Python 3”</p></li>
<li><p>twisted.protocols.policies /</p></li>
<li><p>twisted.python.components /</p></li>
<li><p>twisted.python.log /</p></li>
<li><p>twisted.python.threadpool /</p></li>
<li><p>twisted.web.http (x)</p></li>
<li><p>Partial support. Sufficient?</p></li>
<li><p>twisted.web.resource /</p></li>
<li><p>twisted.web.server (x)</p></li>
<li><p>Partial support. Sufficient?</p></li>
<li><p>twisted.web.static /</p></li>
<li><p>twisted.web.proxy /</p></li>
<li><p>twisted.web.wsgi x</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/7993~ /</p>
<ul>
<li><p>twisted.web.wsgi should be ported to Python 3”</p></li>
<li><p>Seems to be making good progress</p></li>
</ul>
</li>
<li><p>twisted.words.protocols.irc x</p></li>
<li><p>https://twistedmatrix.com/trac/ticket/6320</p></li>
<li><p>“Python 3 support for twisted.words.protocols.irc”</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/6564~</p></li>
<li><p>“Replace usage of builtin reduce in twisted.words”</p></li>
</ul>
<p>Evennia supports Python 3+ since v0.8. This page is deprecated.</p>
</section>
@ -156,14 +62,6 @@ ened&amp;group=status&amp;milestone=Python-3.x)</p></li>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<p><h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Python 3</a></li>
<li><a class="reference internal" href="#strings">“Strings”</a></li>
<li><a class="reference internal" href="#links">Links</a></li>
<li><a class="reference internal" href="#twisted-module-status">Twisted module status</a></li>
</ul>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">

View file

@ -225,8 +225,7 @@ your life a lot easier.</p></li>
This is a <a class="reference external" href="https://docs.python.org/2.5/ref/keywords.html">reserved Python keyword</a>; try not to use
these words anywhere else.</p></li>
<li><p>A function name can not have spaces but otherwise we could have called it almost anything. We call
it <code class="docutils literal notranslate"><span class="pre">hello_world</span></code>. Evennia follows [Pythons standard naming
style](https://github.com/evennia/evennia/blob/master/CODING_STYLE.md#a-quick-list-of-code-style-
it <code class="docutils literal notranslate"><span class="pre">hello_world</span></code>. Evennia follows [Pythons standard naming style](https://github.com/evennia/evennia/blob/master/CODING_STYLE.md#a-quick-list-of-code-style-
points) with lowercase letters and underscores. Use this style for now.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">who</span></code> is what we call the <em>argument</em> to our function. Arguments are variables we pass to the
function. We could have named it anything and we could also have multiple arguments separated by

View file

@ -103,8 +103,7 @@ dont expect <code class="docutils literal notranslate"><span class="pre">me</
if class is<code class="docutils literal notranslate"><span class="pre">Dog</span></code>, an instance of <code class="docutils literal notranslate"><span class="pre">Dog</span></code> might be <code class="docutils literal notranslate"><span class="pre">fido</span></code>. Our in-game persona is of a class
<code class="docutils literal notranslate"><span class="pre">Character</span></code>. The superuser <code class="docutils literal notranslate"><span class="pre">christine</span></code> is an <em>instance</em> of the <code class="docutils literal notranslate"><span class="pre">Character</span></code> class (an instance is
also often referred to as an <em>object</em>). This is an important concept in <em>object oriented
programming</em>. You are wise to [familiarize yourself with it](https://en.wikipedia.org/wiki/Class-
based_programming) a little.</p>
programming</em>. You are wise to <a class="reference external" href="https://en.wikipedia.org/wiki/Class-based_programming">familiarize yourself with it</a> a little.</p>
<blockquote>
<div><p>In other terms:</p>
<ul class="simple">
@ -216,8 +215,7 @@ library <a class="reference external" href="Directory-Overview.html#evennia-libr
also explore it <a class="reference external" href="https://github.com/evennia/evennia/tree/master/evennia">online on github</a>.</p>
<p>The structure of the library directly reflects how you import from it.</p>
<ul class="simple">
<li><p>To, for example, import <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/utils/utils.py#L201">the text justify
function</a> from
<li><p>To, for example, import <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/utils/utils.py#L201">the text justify function</a> from
<code class="docutils literal notranslate"><span class="pre">evennia/utils/utils.py</span></code> you would do <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">evennia.utils.utils</span> <span class="pre">import</span> <span class="pre">justify</span></code>. In your code you
could then just call <code class="docutils literal notranslate"><span class="pre">justify(...)</span></code> to access its functionality.</p></li>
<li><p>You could also do <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">evennia.utils</span> <span class="pre">import</span> <span class="pre">utils</span></code>. In code you would then have to write
@ -231,14 +229,12 @@ import in Python.</p></li>
</ul>
<p>Now, remember that our <code class="docutils literal notranslate"><span class="pre">characters.py</span></code> module did <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">evennia</span> <span class="pre">import</span> <span class="pre">DefaultCharacter</span></code>. But if we
look at the contents of the <code class="docutils literal notranslate"><span class="pre">evennia</span></code> folder, there is no <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> anywhere! This is
because Evennia gives a large number of optional “shortcuts”, known as [the “flat” API](Evennia-
API). The intention is to make it easier to remember where to find stuff. The flat API is defined in
because Evennia gives a large number of optional “shortcuts”, known as <a class="reference internal" href="Evennia-API.html"><span class="doc">the “flat” API</span></a>. The intention is to make it easier to remember where to find stuff. The flat API is defined in
that weirdly named <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code> file. This file just basically imports useful things from all over
Evennia so you can more easily find them in one place.</p>
<p>We could <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia#typeclasses">just look at the documenation</a> to find out where we can look
at our <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> parent. But for practice, lets figure it out. Here is where
<code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/__init__.py#L188">is imported
from</a> inside <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code>:</p>
<code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/__init__.py#L188">is imported from</a> inside <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code>:</p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">.objects.objects</span> <span class="kn">import</span> <span class="n">DefaultCharacter</span>
</pre></div>
</td></tr></table></div>
@ -263,8 +259,7 @@ See <a class="reference internal" href="Evennia-API.html"><span class="doc">more
<h2>Tweaking our Character class<a class="headerlink" href="#tweaking-our-character-class" title="Permalink to this headline"></a></h2>
<p>In the previous section we traced the parent of our <code class="docutils literal notranslate"><span class="pre">Character</span></code> class to be
<code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> in
[evennia/objects/objects.py](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.
py).
<a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py">evennia/objects/objects.py</a>.
Open that file and locate the <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> class. Its quite a bit down
in this module so you might want to search using your editors (or browsers)
search function. Once you find it, youll find that the class starts like this:</p>
@ -339,8 +334,7 @@ search function. Once you find it, youll find that the class starts like this
<span class="c1"># ...</span>
</pre></div>
</td></tr></table></div>
<p>… And so on (you can see the full <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L1915">class online
here</a>). Here we
<p>… And so on (you can see the full <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L1915">class online here</a>). Here we
have functional code! These methods may not be directly visible in <code class="docutils literal notranslate"><span class="pre">Character</span></code> back in our game dir,
but they are still available since <code class="docutils literal notranslate"><span class="pre">Character</span></code> is a child of <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> above. Here is a
brief summary of the methods we find in <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> (follow in the code to see if you can see
@ -371,8 +365,7 @@ Character.</p></li>
</td></tr></table></div>
<p>This means that <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code> is in <em>itself</em> a child of something called <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code>! Lets
see what this parent class provides. Its in the same module as <code class="docutils literal notranslate"><span class="pre">DefaultCharacter</span></code>, you just need to
<a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L193">scroll up near the
top</a>:</p>
<a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L193">scroll up near the top</a>:</p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">DefaultObject</span><span class="p">(</span><span class="n">with_metaclass</span><span class="p">(</span><span class="n">TypeclassBase</span><span class="p">,</span> <span class="n">ObjectDB</span><span class="p">)):</span>
<span class="c1"># ...</span>
@ -389,11 +382,9 @@ the doc string of <code class="docutils literal notranslate"><span class="pre">m
<blockquote>
<div><p>As seen, <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code> actually has multiple parents. In one of those the basic <code class="docutils literal notranslate"><span class="pre">key</span></code> property
is defined, but we wont travel further up the inheritance tree in this tutorial. If you are
interested to see them, you can find <code class="docutils literal notranslate"><span class="pre">TypeclassBase</span></code> in [evennia/typeclasses/models.py](https://gith
ub.com/evennia/evennia/blob/master/evennia/typeclasses/models.py#L93) and <code class="docutils literal notranslate"><span class="pre">ObjectDB</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/models.py#L121">evennia/obj
interested to see them, you can find <code class="docutils literal notranslate"><span class="pre">TypeclassBase</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/typeclasses/models.py#L93">evennia/typeclasses/models.py</a> and <code class="docutils literal notranslate"><span class="pre">ObjectDB</span></code> in <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/objects/models.py#L121">evennia/obj
ects/models.py</a>. We
will also not go into the details of <a class="reference external" href="https://docs.python.org/2/tutorial/classes.html#multiple-inheritance">Multiple
Inheritance</a> or
will also not go into the details of <a class="reference external" href="https://docs.python.org/2/tutorial/classes.html#multiple-inheritance">Multiple Inheritance</a> or
<a class="reference external" href="http://www.onlamp.com/pub/a/python/2003/04/17/metaclasses.html">Metaclasses</a> here. The general rule
is that if you realize that you need these features, you already know enough to use them.</p>
</div></blockquote>
@ -444,8 +435,7 @@ for us. In this case, <code class="docutils literal notranslate"><span class="pr
<code class="docutils literal notranslate"><span class="pre">return</span></code>s it just the way it was (the <code class="docutils literal notranslate"><span class="pre">return</span></code> is another reserved Python word).</p>
<blockquote>
<div><p>We wont go into <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code> here, but it (and its sibling <code class="docutils literal notranslate"><span class="pre">*args</span></code>) is also important to
understand, extra reading is <a class="reference external" href="https://stackoverflow.com/questions/1769403/understanding-kwargs-in-python">here for
<code class="docutils literal notranslate"><span class="pre">**kwargs</span></code></a>.</p>
understand, extra reading is <a class="reference external" href="https://stackoverflow.com/questions/1769403/understanding-kwargs-in-python">here for <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code></a>.</p>
</div></blockquote>
<p>Now, open your game folder and edit <code class="docutils literal notranslate"><span class="pre">mygame/typeclasses/characters.py</span></code>. Locate your <code class="docutils literal notranslate"><span class="pre">Character</span></code>
class and modify it as such:</p>
@ -470,8 +460,7 @@ through the method.</p>
<p>Note that <code class="docutils literal notranslate"><span class="pre">f</span></code> in front of the string, it means we turned the string into a formatted string. We
can now easily inject stuff directly into the string by wrapping them in curly brackets <code class="docutils literal notranslate"><span class="pre">{</span> <span class="pre">}</span></code>. In
this example, we put the incoming <code class="docutils literal notranslate"><span class="pre">message</span></code> into the string, followed by an ellipsis. This is only
one way to format a string. Python has very powerful <a class="reference external" href="https://docs.python.org/2/library/string.html#format-specification-mini-language">string
formatting</a> and
one way to format a string. Python has very powerful <a class="reference external" href="https://docs.python.org/2/library/string.html#format-specification-mini-language">string formatting</a> and
you are wise to learn it well, considering your game will be mainly text-based.</p>
<blockquote>
<div><p>You could also copy &amp; paste the relevant method from <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code> here to get the full doc
@ -516,11 +505,9 @@ automatically.</p>
program.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">IPython</span> <span class="o">...</span>
<span class="o">...</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
</pre></div>
</div>
<p>IPython has some very nice ways to explore what Evennia has to offer.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&gt;</span> <span class="kn">import</span> <span class="nn">evennia</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">1</span><span class="p">]:</span> <span class="n">IPython</span> <span class="n">has</span> <span class="n">some</span> <span class="n">very</span> <span class="n">nice</span> <span class="n">ways</span> <span class="n">to</span> <span class="n">explore</span> <span class="n">what</span> <span class="n">Evennia</span> <span class="n">has</span> <span class="n">to</span> <span class="n">offer</span><span class="o">.</span>
<span class="o">&gt;</span> <span class="kn">import</span> <span class="nn">evennia</span>
<span class="o">&gt;</span> <span class="n">evennia</span><span class="o">.&lt;</span><span class="n">TAB</span><span class="o">&gt;</span>
</pre></div>
</div>
@ -551,15 +538,14 @@ and resources <a class="reference internal" href="Links.html"><span class="doc">
<p>We have touched upon many of the concepts here but to use Evennia and to be able to follow along in
the code, you will need basic understanding of Python
<a class="reference external" href="http://docs.python.org/2/tutorial/modules.html">modules</a>,
<a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional
statements</a>,
<a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional statements</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#for-statements">loops</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>, <a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists,
dictionaries, list comprehensions</a> and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string
formatting</a>. You should also have a basic
understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented
programming</a> and what Python
<a class="reference external" href="http://docs.python.org/tutorial/classes.html">Classes</a> are.</p>
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>,
<a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists, dictionaries, list comprehensions</a>
and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string formatting</a>. You should also have a basic
understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a>
and what Python <a class="reference external" href="http://docs.python.org/tutorial/classes.html">Classes</a> are.</p>
<p>Once you have familiarized yourself, or if you prefer to pick Python up as you go, continue to one
of the beginning-level <a class="reference internal" href="Tutorials.html"><span class="doc">Evennia tutorials</span></a> to gradually build up your understanding.</p>
<p>Good luck!</p>

View file

@ -39,8 +39,7 @@
<section id="screenshot">
<h1>Screenshot<a class="headerlink" href="#screenshot" title="Permalink to this headline"></a></h1>
<p>![evennia_screenshot2017](https://user-
images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png)
<p><img alt="evennia_screenshot2017" src="https://user-images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png" />
<em>(right-click and choose your browsers equivalent of “view image” to see it full size)</em></p>
<p>This screenshot shows a vanilla <a class="reference internal" href="Getting-Started.html"><span class="doc">install</span></a> of the just started Evennia MUD server.
In the bottom window we can see the log messages from the running server.</p>

View file

@ -55,8 +55,8 @@ ways to customize the server and expand it with your own plugins.</p>
<p>The “Settings” file referenced throughout the documentation is the file
<code class="docutils literal notranslate"><span class="pre">mygame/server/conf/settings.py</span></code>. This is automatically created on the first run of <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">--init</span></code>
(see the <a class="reference internal" href="Getting-Started.html"><span class="doc">Getting Started</span></a> page).</p>
<p>Your new <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> is relatively bare out of the box. Evennias core settings file is actually [
evennia/settings_default.py](https://github.com/evennia/evennia/blob/master/evennia/settings_default
<p>Your new <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> is relatively bare out of the box. Evennias core settings file is actually
[evennia/settings_default.py](https://github.com/evennia/evennia/blob/master/evennia/settings_default
.py) and is considerably more extensive (it is also heavily documented so you should refer to this
file directly for the available settings).</p>
<p>Since <code class="docutils literal notranslate"><span class="pre">mygame/server/conf/settings.py</span></code> is a normal Python module, it simply imports

View file

@ -62,8 +62,7 @@ geometries impossible in the real world.</p>
sanity of their players. And when they do, the game becomes possible to map. This tutorial will give
an example of a simple but flexible in-game map system to further help players to navigate. We will</p>
<p>To simplify development and error-checking well break down the work into bite-size chunks, each
building on what came before. For this well make extensive use of the [Batch code processor](Batch-
Code-Processor), so you may want to familiarize yourself with that.</p>
building on what came before. For this well make extensive use of the <a class="reference internal" href="Batch-Code-Processor.html"><span class="doc">Batch code processor</span></a>, so you may want to familiarize yourself with that.</p>
<ol>
<li><p><strong>Planning the map</strong> - Here well come up with a small example map to use for the rest of the
tutorial.</p></li>
@ -90,9 +89,7 @@ dont show in the documentation wiki.</p>
</section>
<section id="planning-the-map">
<h2>Planning the Map<a class="headerlink" href="#planning-the-map" title="Permalink to this headline"></a></h2>
<p>Lets begin with the fun part! Maps in MUDs come in many different [shapes and
sizes](http://journal.imaginary-realities.com/volume-05/issue-01/modern-interface-modern-
mud/index.html). Some appear as just boxes connected by lines. Others have complex graphics that are
<p>Lets begin with the fun part! Maps in MUDs come in many different <a class="reference external" href="http://journal.imaginary-realities.com/volume-05/issue-01/modern-interface-modern-mud/index.html">shapes and sizes</a>. Some appear as just boxes connected by lines. Others have complex graphics that are
external to the game itself.</p>
<p>Our map will be in-game text but that doesnt mean were restricted to the normal alphabet! If
youve ever selected the <a class="reference external" href="https://en.wikipedia.org/wiki/Wingdings">Wingdings font</a> in Microsoft Word
@ -440,12 +437,12 @@ of characters allowing us to pick out the characters we need.</p>
<span class="sd"> This function returns the whole map</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nb">map</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="c1">#For each row in our map, add it to map</span>
<span class="k">for</span> <span class="n">valuey</span> <span class="ow">in</span> <span class="n">world_map</span><span class="p">:</span>
<span class="nb">map</span> <span class="o">+=</span> <span class="n">valuey</span>
<span class="nb">map</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">return</span> <span class="nb">map</span>
<span class="k">def</span> <span class="nf">return_minimap</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">radius</span> <span class="o">=</span> <span class="mi">2</span><span class="p">):</span>
@ -454,12 +451,12 @@ of characters allowing us to pick out the characters we need.</p>
<span class="sd"> Returning all chars in a 2 char radius from (x,y)</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nb">map</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="c1">#For each row we need, add the characters we need.</span>
<span class="k">for</span> <span class="n">valuey</span> <span class="ow">in</span> <span class="n">world_map</span><span class="p">[</span><span class="n">y</span><span class="o">-</span><span class="n">radius</span><span class="p">:</span><span class="n">y</span><span class="o">+</span><span class="n">radius</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span> <span class="k">for</span> <span class="n">valuex</span> <span class="ow">in</span> <span class="n">valuey</span><span class="p">[</span><span class="n">x</span><span class="o">-</span><span class="n">radius</span><span class="p">:</span><span class="n">x</span><span class="o">+</span><span class="n">radius</span><span class="o">+</span><span class="mi">1</span><span class="p">]:</span>
<span class="nb">map</span> <span class="o">+=</span> <span class="n">valuex</span>
<span class="nb">map</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">return</span> <span class="nb">map</span>
</pre></div>
</td></tr></table></div>
@ -638,9 +635,8 @@ Prompt use <code class="docutils literal notranslate"><span class="pre">evennia<
<p>You should now have a mapped little world and a basic understanding of batchcode, EvTable and how
easily new game defining features can be added to Evennia.</p>
<p>You can easily build from this tutorial by expanding the map and creating more rooms to explore. Why
not add more features to your game by trying other tutorials: [Add weather to your world](Weather-
Tutorial), <a class="reference internal" href="Tutorial-Aggressive-NPCs.html"><span class="doc">fill your world with NPCs</span></a> or <a class="reference internal" href="Turn-based-Combat-System.html"><span class="doc">implement a combat
system</span></a>.</p>
not add more features to your game by trying other tutorials: <a class="reference internal" href="Weather-Tutorial.html"><span class="doc">Add weather to your world</span></a>,
<a class="reference internal" href="Tutorial-Aggressive-NPCs.html"><span class="doc">fill your world with NPCs</span></a> or <a class="reference internal" href="Turn-based-Combat-System.html"><span class="doc">implement a combat system</span></a>.</p>
</section>
</section>

View file

@ -49,8 +49,7 @@
<section id="turn-based-combat-system">
<h1>Turn based Combat System<a class="headerlink" href="#turn-based-combat-system" title="Permalink to this headline"></a></h1>
<p>This tutorial gives an example of a full, if simplified, combat system for Evennia. It was inspired
by the discussions held on the <a class="reference external" href="https://groups.google.com/forum/#%21msg/evennia/wnJNM2sXSfs/-dbLRrgWnYMJ">mailing
list</a>.</p>
by the discussions held on the <a class="reference external" href="https://groups.google.com/forum/#%21msg/evennia/wnJNM2sXSfs/-dbLRrgWnYMJ">mailing list</a>.</p>
<section id="overview-of-combat-system-concepts">
<h2>Overview of combat system concepts<a class="headerlink" href="#overview-of-combat-system-concepts" title="Permalink to this headline"></a></h2>
<p>Most MUDs will use some sort of combat system. There are several main variations:</p>
@ -94,8 +93,7 @@ free.</p></li>
<li><p>The commands are (in our example) simple; they can either <code class="docutils literal notranslate"><span class="pre">hit</span> <span class="pre">&lt;target&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">feint</span> <span class="pre">&lt;target&gt;</span></code> or
<code class="docutils literal notranslate"><span class="pre">parry</span> <span class="pre">&lt;target&gt;</span></code>. They can also <code class="docutils literal notranslate"><span class="pre">defend</span></code>, a generic passive defense. Finally they may choose to
<code class="docutils literal notranslate"><span class="pre">disengage/flee</span></code>.</p></li>
<li><p>When attacking we use a classic [rock-paper-scissors](https://en.wikipedia.org/wiki/Rock-paper-
scissors) mechanic to determine success: <code class="docutils literal notranslate"><span class="pre">hit</span></code> defeats <code class="docutils literal notranslate"><span class="pre">feint</span></code>, which defeats <code class="docutils literal notranslate"><span class="pre">parry</span></code> which defeats
<li><p>When attacking we use a classic <a class="reference external" href="https://en.wikipedia.org/wiki/Rock-paper-scissors">rock-paper-scissors</a> mechanic to determine success: <code class="docutils literal notranslate"><span class="pre">hit</span></code> defeats <code class="docutils literal notranslate"><span class="pre">feint</span></code>, which defeats <code class="docutils literal notranslate"><span class="pre">parry</span></code> which defeats
<code class="docutils literal notranslate"><span class="pre">hit</span></code>. <code class="docutils literal notranslate"><span class="pre">defend</span></code> is a general passive action that has a percentage chance to win against <code class="docutils literal notranslate"><span class="pre">hit</span></code>
(only).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">disengage/flee</span></code> must be entered two times in a row and will only succeed if there is no <code class="docutils literal notranslate"><span class="pre">hit</span></code>
@ -112,8 +110,7 @@ characters and handles all the combat information. Since Scripts are database en
that the combat will not be affected by a server reload.</p></li>
<li><p>A combat <a class="reference internal" href="Command-Sets.html"><span class="doc">command set</span></a> with the relevant commands needed for combat, such as the
various attack/defend options and the <code class="docutils literal notranslate"><span class="pre">flee/disengage</span></code> command to leave the combat mode.</p></li>
<li><p>A rule resolution system. The basics of making such a module is described in the <a class="reference internal" href="Implementing-a-game-rule-system.html"><span class="doc">rule system
tutorial</span></a>. We will only sketch such a module here for our end-turn
<li><p>A rule resolution system. The basics of making such a module is described in the <a class="reference internal" href="Implementing-a-game-rule-system.html"><span class="doc">rule system tutorial</span></a>. We will only sketch such a module here for our end-turn
combat resolution.</p></li>
<li><p>An <code class="docutils literal notranslate"><span class="pre">attack</span></code> <a class="reference internal" href="Commands.html"><span class="doc">command</span></a> for initiating the combat mode. This is added to the default
command set. It will create the combat handler and add the character(s) to it. It will also assign
@ -369,7 +366,7 @@ Whereas the TickerHandler is easy to use, a Script offers more power in this cas
<span class="sd"> commands). We know this by checking the existence of the</span>
<span class="sd"> `normal_turn_end` NAttribute, set just before calling</span>
<span class="sd"> force_repeat.</span>
<span class="sd"> </span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndb</span><span class="o">.</span><span class="n">normal_turn_end</span><span class="p">:</span>
<span class="c1"># we get here because the turn ended normally</span>
@ -391,7 +388,7 @@ Whereas the TickerHandler is easy to use, a Script offers more power in this cas
<span class="p">(</span><span class="s2">&quot;defend&quot;</span><span class="p">,</span> <span class="n">character</span><span class="p">,</span> <span class="kc">None</span><span class="p">)]</span>
<span class="c1"># set up back-reference</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_init_character</span><span class="p">(</span><span class="n">character</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">remove_character</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">character</span><span class="p">):</span>
<span class="s2">&quot;Remove combatant from handler&quot;</span>
<span class="k">if</span> <span class="n">character</span><span class="o">.</span><span class="n">id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">characters</span><span class="p">:</span>
@ -542,7 +539,7 @@ weapon(s) held by the player or by which skills they know.</p>
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">&quot;You add &#39;hit&#39; to the combat queue&quot;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">&quot;You can only queue two actions per turn!&quot;</span><span class="p">)</span>
<span class="c1"># tell the handler to check if turn is over</span>
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">ndb</span><span class="o">.</span><span class="n">combat_handler</span><span class="o">.</span><span class="n">check_end_turn</span><span class="p">()</span>
</pre></div>
@ -595,8 +592,7 @@ do.</p>
</section>
<section id="rules-module">
<h2>Rules module<a class="headerlink" href="#rules-module" title="Permalink to this headline"></a></h2>
<p>A general way to implement a rule module is found in the [rule system tutorial](Implementing-a-game-
rule-system). Proper resolution would likely require us to change our Characters to store things
<p>A general way to implement a rule module is found in the <a class="reference internal" href="Implementing-a-game-rule-system.html"><span class="doc">rule system tutorial</span></a>. Proper resolution would likely require us to change our Characters to store things
like strength, weapon skills and so on. So for this example we will settle for a very simplistic
rock-paper-scissors kind of setup with some randomness thrown in. We will not deal with damage here
but just announce the results of each turn. In a real system the Character objects would hold stats

View file

@ -101,13 +101,7 @@ will automatically be unquelled.</p>
</section>
<section id="gameplay">
<h2>Gameplay<a class="headerlink" href="#gameplay" title="Permalink to this headline"></a></h2>
<p>![the castle off the moor](https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/22916c25-6299-4
53d-a221-446ec839f567/da2pmzu-46d63c6d-9cdc-41dd-87d6-1106db5a5e1a.jpg/v1/fill/w_600,h_849,q_75,strp
/the_castle_off_the_moor_by_griatch_art_da2pmzu-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1N
iJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3siaGVpZ2h0IjoiPD04NDkiLCJwYXRoIjoiXC9m
XC8yMjkxNmMyNS02Mjk5LTQ1M2QtYTIyMS00NDZlYzgzOWY1NjdcL2RhMnBtenUtNDZkNjNjNmQtOWNkYy00MWRkLTg3ZDYtMTEw
NmRiNWE1ZTFhLmpwZyIsIndpZHRoIjoiPD02MDAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.o
muS3D1RmFiZCy9OSXiIita-HxVGrBok3_7asq0rflw)</p>
<p><img alt="the castle off the moor" src="https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/22916c25-6299-453d-a221-446ec839f567/da2pmzu-46d63c6d-9cdc-41dd-87d6-1106db5a5e1a.jpg/v1/fill/w_600,h_849,q_75,strp/the_castle_off_the_moor_by_griatch_art_da2pmzu-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3siaGVpZ2h0IjoiPD04NDkiLCJwYXRoIjoiXC9mXC8yMjkxNmMyNS02Mjk5LTQ1M2QtYTIyMS00NDZlYzgzOWY1NjdcL2RhMnBtenUtNDZkNjNjNmQtOWNkYy00MWRkLTg3ZDYtMTEwNmRiNWE1ZTFhLmpwZyIsIndpZHRoIjoiPD02MDAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.omuS3D1RmFiZCy9OSXiIita-HxVGrBok3_7asq0rflw" /></p>
<p><em>To get into the mood of this miniature quest, imagine you are an adventurer out to find fame and
fortune. You have heard rumours of an old castle ruin by the coast. In its depth a warrior princess
was buried together with her powerful magical weapon - a valuable prize, if its true. Of course

View file

@ -48,8 +48,8 @@
<section id="tutorials">
<h1>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this headline"></a></h1>
<p>Before continuing to read these tutorials (and especially before you start to code or build your
game in earnest) its strongly recommended that you read the [Evennia coding introduction](Coding-
Introduction) as well as the <a class="reference internal" href="Game-Planning.html"><span class="doc">Planning your own game</span></a> pages first.</p>
game in earnest) its strongly recommended that you read the
<a class="reference internal" href="Coding-Introduction.html"><span class="doc">Evennia coding introduction</span></a> as well as the <a class="reference internal" href="Game-Planning.html"><span class="doc">Planning your own game</span></a> pages first.</p>
<p>Please note that its not within the scope of our tutorials to teach you basic Python. If you are
new to the language, expect to have to look up concepts you are unfamiliar with. Usually a quick
internet search will give you all info you need. Furthermore, our tutorials tend to focus on
@ -77,22 +77,17 @@ and transitions into writing code.</p></li>
<p><em>General code practices for newbie game developers.</em></p>
<p>To use Evennia, you will need basic understanding of Python
<a class="reference external" href="http://docs.python.org/3.7/tutorial/modules.html">modules</a>,
<a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional
statements</a>,
<a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional statements</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#for-statements">loops</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>, <a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists,
dictionaries, list comprehensions</a> and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string
formatting</a>. You should also have a basic
understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented
programming</a> and what Python
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>, <a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists, dictionaries, list comprehensions</a> and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string formatting</a>. You should also have a basic
understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a> and what Python
<a class="reference external" href="http://docs.python.org/tutorial/classes.html">Classes</a> are.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">Python tutorials for beginners</a> -
external link with tutorials for those not familiar with coding in general or Python in particular.</p></li>
<li><p><a class="reference internal" href="Version-Control.html"><span class="doc">Tutorial: Version Control</span></a> - use GIT to organize your code both for your own
game project and for contributing to Evennia.</p></li>
<li><p>MIT offers free courses in many subjects. Their [Introduction to Computer Science and
Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-
<li><p>MIT offers free courses in many subjects. Their [Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-
introduction-to-computer-science-and-programming-spring-2011/) uses Python as its language of
choice. Longer path, but more in-depth. Definitely worth a look.</p></li>
</ul>
@ -159,8 +154,7 @@ Evennia.</p></li>
<li><p><a class="reference internal" href="Gametime-Tutorial.html"><span class="doc">Tutorial: Handling virtual time in your game</span></a></p></li>
<li><p><a class="reference internal" href="Coordinates.html"><span class="doc">Tutorial: Setting up a coordinate system for rooms</span></a></p></li>
<li><p><a class="reference internal" href="Customize-channels.html"><span class="doc">Tutorial: customize the way channels and channel commands work in your game</span></a></p></li>
<li><p>[Tutorial: Adding unit tests to your game project](./Unit-Testing#testing-for-game-development-mini-
tutorial)</p></li>
<li><p>[Tutorial: Adding unit tests to your game project](./Unit-Testing#testing-for-game-development-mini- tutorial)</p></li>
</ul>
</section>
<section id="contrib">

View file

@ -98,8 +98,7 @@ forces Evennia to use this settings file over the default one.</p>
<p>Evennias test suite makes use of Django unit test system, which in turn relies on Pythons
<em>unittest</em> module.</p>
<blockquote>
<div><p>If you want to help out writing unittests for Evennia, take a look at Evennias <a class="reference external" href="https://coveralls.io/github/evennia/evennia">coveralls.io
page</a>. There you see which modules have any form of
<div><p>If you want to help out writing unittests for Evennia, take a look at Evennias <a class="reference external" href="https://coveralls.io/github/evennia/evennia">coveralls.io page</a>. There you see which modules have any form of
test coverage and which does not.</p>
</div></blockquote>
<p>To make the test runner find the tests, they must be put in a module named <code class="docutils literal notranslate"><span class="pre">test*.py</span></code> (so <code class="docutils literal notranslate"><span class="pre">test.py</span></code>,
@ -134,13 +133,13 @@ can optionally do cleanup after each test.</p>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="kn">import</span> <span class="nn">unittest</span>
<span class="c1"># the function we want to test</span>
<span class="kn">from</span> <span class="nn">mypath</span> <span class="kn">import</span> <span class="n">myfunc</span>
<span class="k">class</span> <span class="nc">TestObj</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
<span class="s2">&quot;This tests a function myfunc.&quot;</span>
<span class="k">def</span> <span class="nf">test_return_value</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="s2">&quot;test method. Makes sure return value is as expected.&quot;</span>
<span class="n">expected_return</span> <span class="o">=</span> <span class="s2">&quot;This is me being nice.&quot;</span>
@ -155,8 +154,7 @@ can optionally do cleanup after each test.</p>
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">expected_return</span><span class="p">,</span> <span class="n">actual_return</span><span class="p">)</span>
</pre></div>
</td></tr></table></div>
<p>You might also want to read the <a class="reference external" href="http://docs.python.org/library/unittest.html">documentation for the unittest
module</a>.</p>
<p>You might also want to read the <a class="reference external" href="http://docs.python.org/library/unittest.html">documentation for the unittest module</a>.</p>
<section id="using-the-evenniatest-class">
<h3>Using the EvenniaTest class<a class="headerlink" href="#using-the-evenniatest-class" title="Permalink to this headline"></a></h3>
<p>Evennia offers a custom TestCase, the <code class="docutils literal notranslate"><span class="pre">evennia.utils.test_resources.EvenniaTest</span></code> class. This class
@ -164,8 +162,7 @@ initiates a range of useful properties on themselves for testing Evennia systems
<code class="docutils literal notranslate"><span class="pre">.account</span></code> and <code class="docutils literal notranslate"><span class="pre">.session</span></code> representing a mock connected Account and its Session and <code class="docutils literal notranslate"><span class="pre">.char1</span></code> and
<code class="docutils literal notranslate"><span class="pre">.char2</span></code> representing Characters complete with a location in the test database. These are all useful
when testing Evennia system requiring any of the default Evennia typeclasses as inputs. See the full
definition of the <code class="docutils literal notranslate"><span class="pre">EvenniaTest</span></code> class in [evennia/utils/test_resources.py](https://github.com/evenni
a/evennia/blob/master/evennia/utils/test_resources.py).</p>
definition of the <code class="docutils literal notranslate"><span class="pre">EvenniaTest</span></code> class in <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/utils/test_resources.py">evennia/utils/test_resources.py</a>.</p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
@ -235,9 +232,7 @@ of the Evennia distribution and its unit tests should be run with all other Even
<p>The way to do this is to only temporarily add your models to the <code class="docutils literal notranslate"><span class="pre">INSTALLED_APPS</span></code> directory when the
test runs. here is an example of how to do it.</p>
<blockquote>
<div><p>Note that this solution, derived from this [stackexchange
answer](http://stackoverflow.com/questions/502916/django-how-to-create-a-model-dynamically-just-for-
testing#503435) is currently untested! Please report your findings.</p>
<div><p>Note that this solution, derived from this <a class="reference external" href="http://stackoverflow.com/questions/502916/django-how-to-create-a-model-dynamically-just-for-testing#503435">stackexchange answer</a> is currently untested! Please report your findings.</p>
</div></blockquote>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
@ -312,7 +307,7 @@ testing#503435) is currently untested! Please report your findings.</p>
<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="kn">import</span> <span class="n">loading</span>
<span class="n">loading</span><span class="o">.</span><span class="n">cache</span><span class="o">.</span><span class="n">loaded</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">call_command</span><span class="p">(</span><span class="s1">&#39;syncdb&#39;</span><span class="p">,</span> <span class="n">verbosity</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">settings</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="o">**</span><span class="n">OLD_DEFAULT_SETTINGS</span><span class="p">)</span>
<span class="n">django</span><span class="o">.</span><span class="n">setup</span><span class="p">()</span>
@ -409,11 +404,11 @@ just to show how unit testing works:</p>
<span class="normal">11</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="c1"># mygame/commands/tests.py</span>
<span class="kn">import</span> <span class="nn">unittest</span>
<span class="k">class</span> <span class="nc">TestString</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Unittest for strings (just a basic example).&quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">test_upper</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Test the upper() str method.&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="s1">&#39;FOO&#39;</span><span class="p">)</span>
@ -448,8 +443,8 @@ to see how it looks when it fails.</p>
</section>
<section id="testing-commands">
<h3>Testing commands<a class="headerlink" href="#testing-commands" title="Permalink to this headline"></a></h3>
<p>This section will test the proper execution of the abilities command, as described in the <a class="reference internal" href="First-Steps-Coding.html"><span class="doc">First
Steps Coding</span></a> page. Follow this tutorial to create the abilities command, we
<p>This section will test the proper execution of the abilities command, as described in the
<a class="reference internal" href="First-Steps-Coding.html"><span class="doc">First Steps Coding</span></a> page. Follow this tutorial to create the abilities command, we
will need it to test it.</p>
<p>Testing commands in Evennia is a bit more complex than the simple testing example we have seen.
Luckily, Evennia supplies a special test class to do just that … we just need to inherit from it
@ -473,14 +468,14 @@ already have in <code class="docutils literal notranslate"><span class="pre">com
<span class="normal">13</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="c1"># bottom of mygame/commands/tests.py</span>
<span class="kn">from</span> <span class="nn">evennia.commands.default.tests</span> <span class="kn">import</span> <span class="n">CommandTest</span>
<span class="kn">from</span> <span class="nn">commands.command</span> <span class="kn">import</span> <span class="n">CmdAbilities</span>
<span class="kn">from</span> <span class="nn">typeclasses.characters</span> <span class="kn">import</span> <span class="n">Character</span>
<span class="k">class</span> <span class="nc">TestAbilities</span><span class="p">(</span><span class="n">CommandTest</span><span class="p">):</span>
<span class="n">character_typeclass</span> <span class="o">=</span> <span class="n">Character</span>
<span class="k">def</span> <span class="nf">test_simple</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">CmdAbilities</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;STR: 5, AGI: 4, MAG: 2&quot;</span><span class="p">)</span>
</pre></div>
@ -530,8 +525,8 @@ the code expects static unchanging numbers. While very good for learning it is u
will have nothing but static output to test. Here we are going to learn how to test against dynamic
output.<br></p>
<p>This tutorial assumes you have a basic understanding of what regular expressions are. If you do not
I recommend reading the <code class="docutils literal notranslate"><span class="pre">Introduction</span></code> and <code class="docutils literal notranslate"><span class="pre">Simple</span> <span class="pre">Pattern</span></code> sections at <a class="reference external" href="https://docs.python.org/3/howto/regex.html">Python regular expressions
tutorial</a>. If you do plan on making a complete Evennia
I recommend reading the <code class="docutils literal notranslate"><span class="pre">Introduction</span></code> and <code class="docutils literal notranslate"><span class="pre">Simple</span> <span class="pre">Pattern</span></code> sections at
<a class="reference external" href="https://docs.python.org/3/howto/regex.html">Python regular expressions tutorial</a>. If you do plan on making a complete Evennia
project learning regular expressions will save a great deal of time.<br></p>
<p>Append the code below to your <code class="docutils literal notranslate"><span class="pre">tests.py</span></code> file.<br></p>
<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
@ -543,11 +538,11 @@ project learning regular expressions will save a great deal of time.<br></p>
<span class="normal">7</span>
<span class="normal">8</span>
<span class="normal">9</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="c1"># bottom of mygame/commands/tests.py</span>
<span class="k">class</span> <span class="nc">TestDynamicAbilities</span><span class="p">(</span><span class="n">CommandTest</span><span class="p">):</span>
<span class="n">character_typeclass</span> <span class="o">=</span> <span class="n">Character</span>
<span class="k">def</span> <span class="nf">test_simple</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">cmd_abil_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">CmdAbilities</span><span class="p">(),</span> <span class="s2">&quot;&quot;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">assertRegex</span><span class="p">(</span><span class="n">cmd_abil_result</span><span class="p">,</span> <span class="s2">&quot;STR: \d+, AGI: \d+, MAG: \d+&quot;</span><span class="p">)</span>

View file

@ -60,8 +60,7 @@ permissions to transfer to their web-created characters.</p>
selection screen when you log into the game later). Other modes can be used with some adaptation to
auto-puppet the new Character.</p>
<p>You should have some familiarity with how Django sets up its Model Template View framework. You need
to understand what is happening in the basic [Web Character View tutorial](Web-Character-View-
Tutorial). If you dont understand the listed tutorial or have a grasp of Django basics, please look
to understand what is happening in the basic <a class="reference internal" href="Web-Character-View-Tutorial.html"><span class="doc">Web Character View tutorial</span></a>. If you dont understand the listed tutorial or have a grasp of Django basics, please look
at the <a class="reference external" href="https://docs.djangoproject.com/en/1.8/intro/">Django tutorial</a> to get a taste of what Django
does, before throwing Evennia into the mix (Evennia shares its API and attributes with the website
interface). This guide will outline the format of the models, views, urls, and html templates
@ -72,26 +71,22 @@ needed.</p>
<p>Here are some screenshots of the simple app we will be making.</p>
<p>Index page, with no character application yet done:</p>
<hr class="docutils" />
<p>![Index page, with no character application yet done.](https://lh3.googleusercontent.com/-57KuSWHXQ_
M/VWcULN152tI/AAAAAAAAEZg/kINTmVlHf6M/w425-h189-no/webchargen_index2.gif)</p>
<p><img alt="Index page, with no character application yet done." src="https://lh3.googleusercontent.com/-57KuSWHXQ_M/VWcULN152tI/AAAAAAAAEZg/kINTmVlHf6M/w425-h189-no/webchargen_index2.gif" /></p>
<hr class="docutils" />
<p>Having clicked the “create” link you get to create your character (here we will only have name and
background, you can add whatever is needed to fit your game):</p>
<hr class="docutils" />
<p>![Character creation.](https://lh3.googleusercontent.com/-ORiOEM2R_yQ/VWcUKgy84rI/AAAAAAAAEZY/B3CBh3
FHii4/w607-h60-no/webchargen_creation.gif)</p>
<p><img alt="Character creation." src="https://lh3.googleusercontent.com/-ORiOEM2R_yQ/VWcUKgy84rI/AAAAAAAAEZY/B3CBh3FHii4/w607-h60-no/webchargen_creation.gif" /></p>
<hr class="docutils" />
<p>Back to the index page. Having entered our character application (we called our character “TestApp”)
you see it listed:</p>
<hr class="docutils" />
<p>![Having entered an application.](https://lh6.googleusercontent.com/-HlxvkvAimj4/VWcUKjFxEiI/AAAAAAA
AEZo/gLppebr05JI/w321-h194-no/webchargen_index1.gif)</p>
<p><img alt="Having entered an application." src="https://lh6.googleusercontent.com/-HlxvkvAimj4/VWcUKjFxEiI/AAAAAAAAEZo/gLppebr05JI/w321-h194-no/webchargen_index1.gif" /></p>
<hr class="docutils" />
<p>We can also view an already written character application by clicking on it - this brings us to the
<em>detail</em> page:</p>
<hr class="docutils" />
<p>![Detail view of character application.](https://lh6.googleusercontent.com/-2m1UhSE7s_k/VWcUKfLRfII/
AAAAAAAAEZc/UFmBOqVya4k/w267-h175-no/webchargen_detail.gif)</p>
<p><img alt="Detail view of character application." src="https://lh6.googleusercontent.com/-2m1UhSE7s_k/VWcUKfLRfII/AAAAAAAAEZc/UFmBOqVya4k/w267-h175-no/webchargen_detail.gif" /></p>
</section>
<hr class="docutils" />
<section id="installing-an-app">
@ -450,7 +445,7 @@ setting custom attributes is as easy as doing it in the meat of your Evennia gam
<span class="normal">61</span>
<span class="normal">62</span>
<span class="normal">63</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c1"># file mygame/web/chargen/views.py</span>
<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="kn">import</span> <span class="n">render</span>
<span class="kn">from</span> <span class="nn">web.chargen.models</span> <span class="kn">import</span> <span class="n">CharApp</span>
<span class="kn">from</span> <span class="nn">web.chargen.forms</span> <span class="kn">import</span> <span class="n">AppForm</span>
@ -789,8 +784,7 @@ created character object. Thankfully, the Evennia API makes this easy.</p>
<h2>Adding a no CAPCHA reCAPCHA on your character generation<a class="headerlink" href="#adding-a-no-capcha-recapcha-on-your-character-generation" title="Permalink to this headline"></a></h2>
<p>As sad as it is, if your server is open to the web, bots might come to visit and take advantage of
your open form to create hundreds, thousands, millions of characters if you give them the
opportunity. This section shows you how to use the <a class="reference external" href="https://www.google.com/recaptcha/intro/invisible.html">No CAPCHA
reCAPCHA</a> designed by Google. Not only is it
opportunity. This section shows you how to use the <a class="reference external" href="https://www.google.com/recaptcha/intro/invisible.html">No CAPCHA reCAPCHA</a> designed by Google. Not only is it
easy to use, it is user-friendly… for humans. A simple checkbox to check, except if Google has
some suspicion, in which case you will have a more difficult test with an image and the usual text
inside. Its worth pointing out that, as long as Google doesnt suspect you of being a robot, this

View file

@ -48,8 +48,7 @@
<section id="web-character-view-tutorial">
<h1>Web Character View Tutorial<a class="headerlink" href="#web-character-view-tutorial" title="Permalink to this headline"></a></h1>
<p><strong>Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](Web-
Tutorial).</strong></p>
<p><strong>Before doing this tutorial you will probably want to read the intro in <a class="reference internal" href="Web-Tutorial.html"><span class="doc">Basic Web tutorial</span></a>.</strong></p>
<p>In this tutorial we will create a web page that displays the stats of a game character. For this,
and all other pages we want to make specific to our game, well need to create our own Django “app”</p>
<p>Well call our app <code class="docutils literal notranslate"><span class="pre">character</span></code>, since it will be dealing with character information. From your game

View file

@ -79,7 +79,8 @@ files are things like images, CSS files and Javascript.</p>
<code class="docutils literal notranslate"><span class="pre">static</span></code>, <code class="docutils literal notranslate"><span class="pre">templates</span></code>, <code class="docutils literal notranslate"><span class="pre">static_overrides</span></code> and <code class="docutils literal notranslate"><span class="pre">templates_overrides</span></code>. The first two of those are
populated automatically by Django and used to serve the website. You should not edit anything in
them - the change will be lost. To customize the website youll need to copy the file you want to
change from the <code class="docutils literal notranslate"><span class="pre">web/website/template/</span></code> or <code class="docutils literal notranslate"><span class="pre">web/website/static/</span> <span class="pre">path</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">corresponding</span> <span class="pre">place</span> <span class="pre">under</span> <span class="pre">one</span> <span class="pre">of</span> </code>_overrides` directories.</p>
change from the <code class="docutils literal notranslate"><span class="pre">web/website/template/</span></code> or <code class="docutils literal notranslate"><span class="pre">web/website/static/</span></code> path to the corresponding place
under one of <code class="docutils literal notranslate"><span class="pre">_overrides</span></code> directories.</p>
<p>Example: To override or modify <code class="docutils literal notranslate"><span class="pre">evennia/web/website/template/website/index.html</span></code> you need to
add/modify <code class="docutils literal notranslate"><span class="pre">mygame/web/template_overrides/website/index.html</span></code>.</p>
<p>The detailed description on how to customize the website is best described in tutorial form. See the
@ -140,8 +141,7 @@ the root of the website. It will now our own function <code class="docutils lite
<code class="docutils literal notranslate"><span class="pre">mygame.com</span></code> in the address bar. If we had wanted to add a view for <code class="docutils literal notranslate"><span class="pre">http://mygame.com/awesome</span></code>, the
regular expression would have been <code class="docutils literal notranslate"><span class="pre">^/awesome</span></code>.</p>
</div></blockquote>
<p>Look at [evennia/web/website/views.py](https://github.com/evennia/evennia/blob/master/evennia/web/we
bsite/views.py#L82) to see the inputs and outputs you must have to define a view. Easiest may be to
<p>Look at <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/web/website/views.py#L82">evennia/web/website/views.py</a> to see the inputs and outputs you must have to define a view. Easiest may be to
copy the default file to <code class="docutils literal notranslate"><span class="pre">mygame/web</span></code> to have something to modify and expand on.</p>
<p>Restart the server and reload the page in the browser - the website will now use your custom view.
If there are errors, consider turning on <code class="docutils literal notranslate"><span class="pre">settings.DEBUG</span></code> to see the full tracebacks - in debug mode

View file

@ -69,14 +69,13 @@ If you'd rather not take advantage of Evennia's base styles, you can do somethin
</html>
```
### The URL
When you enter the address `http://localhost:4001/story` in your web browser, Django will parse that
field to figure out which page you want to go to. You tell it which patterns are relevant in the
file
[mygame/web/urls.py](https://github.com/evennia/evennia/blob/master/evennia/game_template/web/urls.p
y).
[mygame/web/urls.py](https://github.com/evennia/evennia/blob/master/evennia/game_template/web/urls.py).
Open it now.
Django looks for the variable `urlpatterns` in this file. You want to add your new pattern to the

View file

@ -98,16 +98,16 @@ An example of making an asynchronous call from inside a [Command](./Commands) de
class CmdAsync(Command):
key = "asynccommand"
def func(self):
def long_running_function():
#[... lots of time-consuming code ...]
return final_value
def at_return_function(r):
self.caller.msg("The final value is %s" % r)
def at_err_function(e):
self.caller.msg("There was an error: %s" % e)
@ -150,8 +150,7 @@ Wait 10 seconds and 'Test!' should be echoed back to you.
## The @interactive decorator
As of Evennia 0.9, the `@interactive` [decorator](https://realpython.com/primer-on-python-
decorators/)
As of Evennia 0.9, the `@interactive` [decorator](https://realpython.com/primer-on-python-decorators/)
is available. This makes any function or method possible to 'pause' and/or await player input
in an interactive way.
@ -160,7 +159,7 @@ in an interactive way.
@interactive
def myfunc(caller):
while True:
caller.msg("Getting ready to wait ...")
yield(5)

View file

@ -237,8 +237,7 @@ entities you can loop over in a for-loop. Attribute-saving supports the followin
* [Dicts](https://docs.python.org/2/tutorial/datastructures.html#dictionaries), like `{1:2,
"test":<dbobj>]`.
* [Sets](https://docs.python.org/2/tutorial/datastructures.html#sets), like `{1,2,"test",<dbobj>}`.
* [collections.OrderedDict](https://docs.python.org/2/library/collections.html#collections.OrderedDi
ct), like `OrderedDict((1,2), ("test", <dbobj>))`.
* [collections.OrderedDict](https://docs.python.org/2/library/collections.html#collections.OrderedDict), like `OrderedDict((1,2), ("test", <dbobj>))`.
* [collections.Deque](https://docs.python.org/2/library/collections.html#collections.deque), like
`deque((1,2,"test",<dbobj>))`.
* *Nestings* of any combinations of the above, like lists in dicts or an OrderedDict of tuples, each

View file

@ -97,5 +97,4 @@ docs](https://getbootstrap.com/docs/4.0/layout/grid/)
## More Bootstrap
Bootstrap also provides a huge amount of utilities, as well as styling and content elements. To
learn more about them, please [read the Bootstrap docs](https://getbootstrap.com/docs/4.0/getting-
started/introduction/) or read one of our other web tutorials.
learn more about them, please [read the Bootstrap docs](https://getbootstrap.com/docs/4.0/getting-started/introduction/) or read one of our other web tutorials.

View file

@ -51,7 +51,7 @@ class Room(DefaultRoom):
See examples/object.py for a list of
properties and methods available on all Objects.
"""
@property
def x(self):
"""Return the X coordinate or None."""
@ -72,7 +72,7 @@ class Room(DefaultRoom):
"""Return the Y coordinate or None."""
y = self.tags.get(category="coordy")
return int(y) if isinstance(y, str) else None
@y.setter
def y(self, y):
"""Change the Y coordinate."""
@ -87,7 +87,7 @@ class Room(DefaultRoom):
"""Return the Z coordinate or None."""
z = self.tags.get(category="coordz")
return int(z) if isinstance(z, str) else None
@z.setter
def z(self, z):
"""Change the Z coordinate."""
@ -99,8 +99,7 @@ class Room(DefaultRoom):
```
If you aren't familiar with the concept of properties in Python, I encourage you to read a good
tutorial on the subject. [This article on Python properties](https://www.programiz.com/python-
programming/property)
tutorial on the subject. [This article on Python properties](https://www.programiz.com/python-programming/property)
is well-explained and should help you understand the idea.
Let's look at our properties for `x`. First of all is the read property.

View file

@ -480,5 +480,4 @@ close from the code I've provided here. Notice, however, that this resource is
external to Evennia and not maintained by anyone but the original author of
this article.
[Read the full example on Github](https://github.com/vincent-
lg/avenew/blob/master/commands/comms.py)
[Read the full example on Github](https://github.com/vincent-lg/avenew/blob/master/commands/comms.py)

View file

@ -12,8 +12,7 @@ information about how commands work can be found in the documentation for [Comma
## A-Z
- [`__unloggedin_look_command`](https://github.com/evennia/evennia/wiki/Default-Command-
Help#wiki-`--unloggedin-look-command`-cmdunconnectedlook) - look when in unlogged-in state
- [`__unloggedin_look_command`](https://github.com/evennia/evennia/wiki/Default-Command-Help#wiki-`--unloggedin-look-command`-cmdunconnectedlook) - look when in unlogged-in state
- [about](./Default-Command-Help#wiki-about-cmdabout) - show Evennia info
- [access](./Default-Command-Help#wiki-access-cmdaccess) - show your current game access
- [addcom](./Default-Command-Help#wiki-addcom-cmdaddcom) - add a channel alias and/or subscribe to a
@ -137,14 +136,12 @@ another
## Command details
These are generated from the auto-documentation and are ordered by their source file location in
[evennia/commands/default/](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
)
[evennia/commands/default/](https://github.com/evennia/evennia/tree/master/evennia/commands/default/)
### `account.py`
[View account.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py)
[View account.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py)
#### charcreate (CmdCharCreate)
@ -165,8 +162,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdCharCreate` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### chardelete (CmdCharDelete)
@ -184,8 +180,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdCharDelete` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### color (CmdColorTest)
@ -207,8 +202,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdColorTest` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### ic (CmdIC)
@ -234,8 +228,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdIC` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### look (CmdOOCLook)
@ -253,8 +246,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdOOCLook` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### ooc (CmdOOC)
@ -274,8 +266,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdOOC` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### option (CmdOption)
@ -299,8 +290,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdOption` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### password (CmdPassword)
@ -318,8 +308,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdPassword` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### quell (CmdQuell)
@ -386,8 +375,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdSessions` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultSession'* of class `SessionCmdSet` in [cmdset_session.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py).
Belongs to command set *'DefaultSession'* of class `SessionCmdSet` in [cmdset_session.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py).
#### style (CmdStyle)
@ -407,8 +395,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_session.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdStyle` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### who (CmdWho)
@ -428,14 +415,12 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdWho` in
[account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
### `admin.py`
[View admin.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py)
[View admin.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py)
#### ban (CmdBan)
@ -476,8 +461,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdBan` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### boot (CmdBoot)
@ -500,8 +484,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdBoot` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### emit (CmdEmit)
@ -530,8 +513,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdEmit` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### force (CmdForce)
@ -550,8 +532,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdForce` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### perm (CmdPerm)
@ -575,8 +556,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdPerm` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### unban (CmdUnban)
@ -597,8 +577,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdUnban` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### userpassword (CmdNewPassword)
@ -616,8 +595,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdNewPassword` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### wall (CmdWall)
@ -636,14 +614,12 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Admin"*
- **Source:** class `CmdWall` in
[admin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/admin.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `batchprocess.py`
[View batchprocess.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py)
[View batchprocess.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py)
#### batchcode (CmdBatchCode)
@ -668,10 +644,8 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **aliases:** *batchcodes*
- **[locks](./Locks):** *"cmd:superuser()"*
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdBatchCode` in [batchprocess.py](https://github.com/evennia/evennia/tree/mast
er/evennia/commands/default/batchprocess.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
- **Source:** class `CmdBatchCode` in [batchprocess.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### batchcommands (CmdBatchCommands)
@ -692,16 +666,13 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **aliases:** *batchcmd*, *batchcommand*
- **[locks](./Locks):** *"cmd:perm(batchcommands) or perm(Developer)"*
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdBatchCommands` in [batchprocess.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/batchprocess.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
- **Source:** class `CmdBatchCommands` in [batchprocess.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/batchprocess.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `building.py`
[View building.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py)
[View building.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py)
#### alias (CmdSetObjAlias)
@ -732,8 +703,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdSetObjAlias` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### cmdsets (CmdListCmdSets)
@ -752,8 +722,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdListCmdSets` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### command (ObjManipCommand)
@ -807,8 +776,7 @@ Belongs to command set *'<Unknown>'* of class `<Unknown>` in
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdCopy` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### cpattr (CmdCpAttr)
@ -839,8 +807,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdCpAttr` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### create (CmdCreate)
@ -871,8 +838,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdCreate` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### desc (CmdDesc)
@ -894,8 +860,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdDesc` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### destroy (CmdDestroy)
@ -925,8 +890,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdDestroy` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### dig (CmdDig)
@ -958,8 +922,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdDig` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### examine (CmdExamine)
@ -986,8 +949,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdExamine` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### find (CmdFind)
@ -1018,8 +980,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdFind` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### link (CmdLink)
@ -1048,8 +1009,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdLink` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### lock (CmdLock)
@ -1089,8 +1049,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdLock` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### mvattr (CmdMvAttr)
@ -1115,8 +1074,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdMvAttr` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### name (CmdName)
@ -1135,8 +1093,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdName` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### open (CmdOpen)
@ -1144,8 +1101,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
open a new exit from the current room
Usage:
open <new exit>[;alias;alias..][:typeclass] [,<return exit>[;alias;..][:typeclass]]] =
<destination>
open <new exit>[;alias;alias..][:typeclass] [,<return exit>[;alias;..][:typeclass]]] = <destination>
Handles the creation of exits. If a destination is given, the exit
will point there. The <return exit> argument sets up an exit at the
@ -1159,8 +1115,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdOpen` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### script (CmdScript)
@ -1188,8 +1143,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdScript` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### set (CmdSetAttribute)
@ -1237,8 +1191,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdSetAttribute` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### sethome (CmdSetHome)
@ -1262,8 +1215,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdSetHome` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### spawn (CmdSpawn)
@ -1334,8 +1286,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdSpawn` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### tag (CmdTag)
@ -1365,8 +1316,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdTag` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### tel (CmdTeleport)
@ -1402,8 +1352,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdTeleport` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### tunnel (CmdTunnel)
@ -1438,8 +1387,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdTunnel` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### typeclass (CmdTypeclass)
@ -1495,8 +1443,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdTypeclass` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### unlink (CmdUnLink)
@ -1515,8 +1462,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdUnLink` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### wipe (CmdWipe)
@ -1539,14 +1485,12 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdWipe` in
[building.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/building.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `comms.py`
[View comms.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py)
[View comms.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py)
#### addcom (CmdAddCom)
@ -1567,8 +1511,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdAddCom` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### allcom (CmdAllCom)
@ -1590,8 +1533,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdAllCom` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### cboot (CmdCBoot)
@ -1612,8 +1554,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdCBoot` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### ccreate (CmdChannelCreate)
@ -1631,8 +1572,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdChannelCreate` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### cdesc (CmdCdesc)
@ -1651,8 +1591,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdCdesc` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### cdestroy (CmdCdestroy)
@ -1670,8 +1609,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdCdestroy` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### cemit (CmdCemit)
@ -1695,8 +1633,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdCemit` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### channels (CmdChannels)
@ -1718,8 +1655,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdChannels` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### clock (CmdClock)
@ -1738,8 +1674,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdClock` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### cwho (CmdCWho)
@ -1757,8 +1692,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdCWho` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### delcom (CmdDelCom)
@ -1780,8 +1714,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdDelCom` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### irc2chan (CmdIRC2Chan)
@ -1820,8 +1753,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdIRC2Chan` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### page (CmdPage)
@ -1846,8 +1778,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdPage` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### rss2chan (CmdRSS2Chan)
@ -1880,14 +1811,12 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Comms"*
- **Source:** class `CmdRSS2Chan` in
[comms.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/comms.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
### `general.py`
[View general.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py)
[View general.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py)
#### access (CmdAccess)
@ -1926,8 +1855,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdDrop` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### get (CmdGet)
@ -1946,8 +1874,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdGet` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### give (CmdGive)
@ -1966,8 +1893,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdGive` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### home (CmdHome)
@ -1985,8 +1911,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdHome` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### inventory (CmdInventory)
@ -2005,8 +1930,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdInventory` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### look (CmdLook)
@ -2026,8 +1950,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdLook` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### nick (CmdNick)
@ -2077,8 +2000,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdNick` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### pose (CmdPose)
@ -2103,8 +2025,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdPose` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### say (CmdSay)
@ -2122,8 +2043,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdSay` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### setdesc (CmdSetDesc)
@ -2143,8 +2063,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdSetDesc` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### whisper (CmdWhisper)
@ -2164,8 +2083,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdWhisper` in
[general.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/general.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `help.py`
@ -2192,8 +2110,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdHelp` in
[help.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/help.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### sethelp (CmdSetHelp)
@ -2227,14 +2144,12 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"Building"*
- **Source:** class `CmdSetHelp` in
[help.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/help.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `system.py`
[View system.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py)
[View system.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py)
#### about (CmdAbout)
@ -2252,8 +2167,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdAbout` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### objects (CmdObjects)
@ -2273,8 +2187,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdObjects` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### py (CmdPy)
@ -2329,8 +2242,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdPy` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### reload (CmdReload)
@ -2350,8 +2262,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdReload` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### reset (CmdReset)
@ -2379,8 +2290,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdReset` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### scripts (CmdScripts)
@ -2410,8 +2320,7 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdScripts` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### server (CmdServerLoad)
@ -2455,8 +2364,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdServerLoad` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### service (CmdService)
@ -2484,8 +2392,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdService` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
#### shutdown (CmdShutdown)
@ -2503,8 +2410,7 @@ s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_chara
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdShutdown` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://gi
thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
Belongs to command set *'DefaultAccount'* of class `AccountCmdSet` in [cmdset_account.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py).
#### time (CmdTime)
@ -2523,14 +2429,12 @@ thub.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_account.py)
- **[`help_category`](./Help-System):** *"System"*
- **Source:** class `CmdTime` in
[system.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/system.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](http
s://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
Belongs to command set *'DefaultCharacter'* of class `CharacterCmdSet` in [cmdset_character.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_character.py).
### `unloggedin.py`
[View unloggedin.py
source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py)
[View unloggedin.py source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py)
#### __unloggedin_look_command (CmdUnconnectedLook)
@ -2551,8 +2455,7 @@ source](https://github.com/evennia/evennia/tree/master/evennia/commands/default/
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdUnconnectedLook` in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
*OBS: This is a [[System Command|Commands]]. System commands have fixed keys and are called by the
server in specific situations.*
@ -2573,10 +2476,8 @@ server in specific situations.*
- **aliases:** *con*, *conn*, *co*
- **[locks](./Locks):** *"cmd:all()"*
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdUnconnectedConnect` in [unloggedin.py](https://github.com/evennia/evennia/tr
ee/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
- **Source:** class `CmdUnconnectedConnect` in [unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
#### create (CmdUnconnectedCreate)
@ -2595,10 +2496,8 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
- **aliases:** *cre*, *cr*
- **[locks](./Locks):** *"cmd:all()"*
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdUnconnectedCreate` in [unloggedin.py](https://github.com/evennia/evennia/tre
e/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
- **Source:** class `CmdUnconnectedCreate` in [unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
#### help (CmdUnconnectedHelp)
@ -2615,10 +2514,8 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
- **aliases:** *?*, *h*
- **[locks](./Locks):** *"cmd:all()"*
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdUnconnectedHelp` in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
- **Source:** class `CmdUnconnectedHelp` in [unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
#### quit (CmdUnconnectedQuit)
@ -2636,8 +2533,6 @@ ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_un
- **aliases:** *qu*, *q*
- **[locks](./Locks):** *"cmd:all()"*
- **[`help_category`](./Help-System):** *"General"*
- **Source:** class `CmdUnconnectedQuit` in [unloggedin.py](https://github.com/evennia/evennia/tree/
master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](h
ttps://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).
- **Source:** class `CmdUnconnectedQuit` in [unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/unloggedin.py).
Belongs to command set *'DefaultUnloggedin'* of class `UnloggedinCmdSet` in [cmdset_unloggedin.py](https://github.com/evennia/evennia/tree/master/evennia/commands/default/cmdset_unloggedin.py).

View file

@ -236,8 +236,7 @@ another.
- **Q:** can I have two characters answering to the same dialogue in exactly the same way?
- **A:** It's possible but not so easy to do. Usually, event grouping is set in code, and depends
on different games. However, if it is for some infrequent occurrences, it's easy to do using
[chained events](https://github.com/evennia/evennia/blob/master/evennia/contrib/ingame_python/README
.md#chained-events).
[chained events](https://github.com/evennia/evennia/blob/master/evennia/contrib/ingame_python/README.md#chained-events).
- **Q:** is it possible to deploy callbacks on all characters sharing the same prototype?
- **A:** not out of the box. This depends on individual settings in code. One can imagine that all
characters of some type would share some events, but this is game-specific. Rooms of the same zone

View file

@ -88,8 +88,8 @@ another which is again somewhat remniscent at least of the *effect* of `@parent
based inheritance of MUSH.
There are other differences for sure, but that should give some feel for things. Enough with the
theory. Let's get down to more practical matters next. To install, see the [Getting Started
instructions](Getting-Started).
theory. Let's get down to more practical matters next. To install, see the
[Getting Started instructions](./Getting-Started).
## A first step making things more familiar
@ -138,8 +138,7 @@ class CharacterCmdSet(default_cmds.CharacterCmdSet):
Note that Python cares about indentation, so make sure to indent with the same number of spaces as
shown above!
So what happens above? We [import the module](http://www.linuxtopia.org/online_books/programming_boo
ks/python_programming/python_ch28s03.html) `evennia/contrib/multidescer.py` at the top. Once
So what happens above? We [import the module](http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch28s03.html) `evennia/contrib/multidescer.py` at the top. Once
imported we can access stuff inside that module using full stop (`.`). The multidescer is defined as
a class `CmdMultiDesc` (we could find this out by opening said module in a text editor). At the
bottom we create a new instance of this class and add it to the `CharacterCmdSet` class. For the
@ -206,17 +205,14 @@ developer changing the underlying Python code.
If you are a *Developer* and are interested in making a more MUSH-like Evennia game, a good start is
to look into the Evennia [Tutorial for a first MUSH-like game](./Tutorial-for-basic-MUSH-like-game).
That steps through building a simple little game from scratch and helps to acquaint you with the
various corners of Evennia. There is also the [Tutorial for running roleplaying sessions](Evennia-
for-roleplaying-sessions) that can be of interest.
various corners of Evennia. There is also the [Tutorial for running roleplaying sessions](./Evennia-for-roleplaying-sessions) that can be of interest.
An important aspect of making things more familiar for *Players* is adding new and tweaking existing
commands. How this is done is covered by the [Tutorial on adding new commands](Adding-Command-
Tutorial). You may also find it useful to shop through the `evennia/contrib/` folder. The [Tutorial
commands. How this is done is covered by the [Tutorial on adding new commands](./Adding-Command-Tutorial). You may also find it useful to shop through the `evennia/contrib/` folder. The [Tutorial
world](Tutorial-World-Introduction) is a small single-player quest you can try (its not very MUSH-
like but it does show many Evennia concepts in action). Beyond that there are [many more
tutorials](Tutorials) to try out. If you feel you want a more visual overview you can also look at
[Evennia in pictures](https://evennia.blogspot.se/2016/05/evennia-in-pictures.html).
… And of course, if you need further help you can always drop into the [Evennia chatroom](http://web
chat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb) or post a
… And of course, if you need further help you can always drop into the [Evennia chatroom](http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb) or post a
question in our [forum/mailing list](https://groups.google.com/forum/#%21forum/evennia)!

View file

@ -4,11 +4,7 @@
So you have Evennia up and running. You have a great game idea in mind. Now it's time to start
cracking! But where to start? Here are some ideas for a workflow. Note that the suggestions on this
page are just that - suggestions. Also, they are primarily aimed at a lone hobby designer or a small
team developing a game in their free time. There is an article in the Imaginary Realities e-zine
which was written by the Evennia lead dev. It focuses more on you finding out your motivations for
making a game - you can [read the article here](http://journal.imaginary-
realities.com/volume-07/issue-03/where-do-i-begin/index.html).
team developing a game in their free time.
Below are some minimal steps for getting the first version of a new game world going with players.
It's worth to at least make the attempt to do these steps in order even if you are itching to jump

View file

@ -90,7 +90,7 @@ monsters and other NPCs. You can [read more about it here](./Objects#subclasses-
similar to Rails for the Ruby language. It is one of Evennia's central library dependencies (the
other one is [Twisted](./Glossary#twisted)). Evennia uses Django for two main things - to map all
database operations to Python and for structuring our web site.
Through Django, we can work with any supported database (SQlite3, Postgres, MySQL ...) using generic
Python instead of database-specific SQL: A database table is represented in Django as a Python class
(called a *model*). An Python instance of such a class represents a row in that table.
@ -204,8 +204,7 @@ infrastructure. Git itself is a separate project.
### _object_
In general Python (and other [object-oriented languages](https://en.wikipedia.org/wiki/Object-
oriented_programming)), an `object` is what we call the instance of a *class*. But one of Evennia's
In general Python (and other [object-oriented languages](https://en.wikipedia.org/wiki/Object-oriented_programming)), an `object` is what we call the instance of a *class*. But one of Evennia's
core [typeclasses](./Glossary#typeclasss) is also called "Object". To separate these in the docs we
try to use `object` to refer to the general term and capitalized `Object` when we refer to the
typeclass.
@ -246,8 +245,7 @@ not have to be.
### _property_
A _property_ is a general term used for properties on any Python object. The term also sometimes
refers to the `property` built-in function of Python ([read more here](https://www.python-
course.eu/python3_properties.php)). Note the distinction between properties,
refers to the `property` built-in function of Python ([read more here](https://www.python-course.eu/python3_properties.php)). Note the distinction between properties,
[fields](./Glossary#field) and [Attributes](./Glossary#attribute).
### _repository_

View file

@ -1,9 +1,7 @@
# Help System Tutorial
**Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](Web-
Tutorial).** Reading the three first parts of the [Django
tutorial](https://docs.djangoproject.com/en/2.2/) might help as well.
**Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](./Web-Tutorial).** Reading the three first parts of the [Django tutorial](https://docs.djangoproject.com/en/2.2/) might help as well.
This tutorial will show you how to access the help system through your website. Both help commands
and regular help entries will be visible, depending on the logged-in user or an anonymous character.

View file

@ -4,12 +4,12 @@
### How to *get* Help
If you cannot find what you are looking for in the [online documentation](./index), here's what to do:
- If you think the documentation is not clear enough and are short on time, fill in our quick little
[online form][form] and let us know - no login required. Maybe the docs need to be improved or a new
tutorial added! Note that while this form is useful as a suggestion box we cannot answer questions
or reply to you. Use the discussion group or chat (linked below) if you want feedback.
- If you have trouble with a missing feature or a problem you think is a bug, go to the
- If you have trouble with a missing feature or a problem you think is a bug, go to the
[issue tracker][issues] and search to see if has been reported/suggested already. If you can't find an
existing entry create a new one.
- If you need help, want to start a discussion or get some input on something you are working on,
@ -28,8 +28,8 @@ eventually!
Evennia is a completely non-funded project. It relies on the time donated by its users and
developers in order to progress.
The first and easiest way you as a user can help us out is by taking part in [community
discussions][group] and by giving feedback on what is good or bad. Report bugs you find and features
The first and easiest way you as a user can help us out is by taking part in
[community discussions][group] and by giving feedback on what is good or bad. Report bugs you find and features
you lack to our [issue tracker][issues]. Just the simple act of letting developers know you are out
there using their program is worth a lot. Generally mentioning and reviewing Evennia elsewhere is
also a nice way to spread the word.
@ -50,24 +50,19 @@ fixed (if you want to put up a bounty yourself you can do so via our page on
github.
... And finally, if you want to help motivate and support development you can also drop some coins
in the developer's cup. You can [make a donation via PayPal][paypal] or, even better, [become an
Evennia patron on Patreon][patreon]! This is a great way to tip your hat and show that you
in the developer's cup. You can [make a donation via PayPal][paypal] or, even better,
[become an Evennia patron on Patreon][patreon]! This is a great way to tip your hat and show that you
appreciate the work done with the server! Finally, if you want to encourage the community to resolve
a particular
[form]: https://docs.google.com/spreadsheet/viewform?hl=en_US&formkey=dGN0VlJXMWpCT3VHaHpscDEzY1RoZG
c6MQ#gid=0
[form]: https://docs.google.com/spreadsheet/viewform?hl=en_US&formkey=dGN0VlJXMWpCT3VHaHpscDEzY1RoZGc6MQ#gid=0
[group]: http://groups.google.com/group/evennia/
[issues]: https://github.com/evennia/evennia/issues
[issues-master]: https://github.com/evennia/evennia/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%2
0label%3Abug%20label%3Amaster-branch
[issues-master]: https://github.com/evennia/evennia/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Abug%20label%3Amaster-branch
[chat]: http://webchat.freenode.net/?channels=evennia
[paypal]: https://www.paypal.com/se/cgi-bin/webscr?cmd=_flow&SESSION=Z-VlOvfGjYq2qvCDOUGpb6C8Due7skT
0qOklQEy5EbaD1f0eyEQaYlmCc8O&dispatch=5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9
[paypal]: https://www.paypal.com/se/cgi-bin/webscr?cmd=_flow&SESSION=Z-VlOvfGjYq2qvCDOUGpb6C8Due7skT0qOklQEy5EbaD1f0eyEQaYlmCc8O&dispatch=5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9
b2
[donate-img]: http://images-focus-opensocial.googleusercontent.com/gadgets/proxy?url=https://www.pay
palobjects.com/en%255fUS/SE/i/btn/btn%255fdonateCC%255fLG.gif&container=focus&gadget=a&rewriteMime=i
mage/*
[donate-img]: http://images-focus-opensocial.googleusercontent.com/gadgets/proxy?url=https://www.paypalobjects.com/en%255fUS/SE/i/btn/btn%255fdonateCC%255fLG.gif&container=focus&gadget=a&rewriteMime=image/*
[patreon]: https://www.patreon.com/griatch
[patreon-img]: http://www.evennia.com/_/rsrc/1424724909023/home/evennia_patreon_100x100.png
[issues-bounties]: https://github.com/evennia/evennia/labels/bounty

View file

@ -6,8 +6,7 @@
- [evennia.com](http://www.evennia.com) - Main Evennia portal page. Links to all corners of Evennia.
- [Evennia github page](https://github.com/evennia/evennia) - Download code and read documentation.
- [Evennia official chat channel](http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRy
dWUmMTE9MTk1JjEyPXRydWUbb) - Our official IRC chat #evennia at irc.freenode.net:6667.
- [Evennia official chat channel](http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb) - Our official IRC chat #evennia at irc.freenode.net:6667.
- [Evennia forums/mailing list](http://groups.google.com/group/evennia) - Web interface to our
google group.
- [Evennia development blog](http://evennia.blogspot.se/) - Musings from the lead developer.
@ -106,8 +105,7 @@ Influential mailing list active 1996-2004. Advanced game design discussions.
- [Mud-dev wiki](http://mud-dev.wikidot.com/) - A (very) slowly growing resource on MUD creation.
- [Mud Client/Server Interaction](http://cryosphere.net/mud-protocol.html) - A page on classic MUD
telnet protocols.
- [Mud Tech's fun/cool but ...](http://gc-taylor.com/blog/2013/01/08/mud-tech-funcool-dont-forget-
ship-damned-thing/) - Greg Taylor gives good advice on mud design.
- [Mud Tech's fun/cool but ...](http://gc-taylor.com/blog/2013/01/08/mud-tech-funcool-dont-forget-ship-damned-thing/) - Greg Taylor gives good advice on mud design.
- [Lost Library of MOO](http://www.hayseed.net/MOO/) - Archive of scientific articles on mudding (in
particular moo).
- [Nick Gammon's hints thread](http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=5959) -
@ -118,14 +116,12 @@ articles (not MUD-specific)
- [The Alexandrian](http://thealexandrian.net/) - A blog about tabletop roleplaying and board games,
but with lots of general discussion about rule systems and game balance that could be applicable
also for MUDs.
- [Raph Koster's laws of game design](https://www.raphkoster.com/games/laws-of-online-world-
design/the-laws-of-online-world-design/) - thought-provoking guidelines and things to think about
- [Raph Koster's laws of game design](https://www.raphkoster.com/games/laws-of-online-world-design/the-laws-of-online-world-design/) - thought-provoking guidelines and things to think about
when designing a virtual multiplayer world (Raph is known for *Ultima Online* among other things).
### Literature
- Richard Bartle *Designing Virtual Worlds* ([amazon page](http://www.amazon.com/Designing-Virtual-
Worlds-Richard-Bartle/dp/0131018167)) - Essential reading for the design of any persistent game
- Richard Bartle *Designing Virtual Worlds* ([amazon page](http://www.amazon.com/Designing-Virtual-Worlds-Richard-Bartle/dp/0131018167)) - Essential reading for the design of any persistent game
world, written by the co-creator of the original game *MUD*. Published in 2003 but it's still as
relevant now as when it came out. Covers everything you need to know and then some.
- Zed A. Shaw *Learn Python the Hard way* ([homepage](https://learnpythonthehardway.org/)) - Despite
@ -161,7 +157,7 @@ economic system.
- [GIT](http://git-scm.com/)
- [Documentation](http://git-scm.com/documentation)
- [Learn GIT in 15 minutes](http://try.github.io/levels/1/challenges/1) (interactive tutorial)
### Python Info
- [Python Website](http://www.python.org/)
@ -177,4 +173,4 @@ programming curriculum for different skill levels
- Wiki [Home](./index) Icons made by [Freepik](http://www.freepik.com"-title="Freepik">Freepik) from
[flaticon.com](http://www.flaticon.com), licensed under [Creative Commons BY
3.0](http://creativecommons.org/licenses/by/3.0).
3.0](http://creativecommons.org/licenses/by/3.0).

View file

@ -238,8 +238,7 @@ Also, on Freenode visit the #letsencrypt channel for assistance from the communi
additional resource, Let's Encrypt has a very active [community
forum](https://community.letsencrypt.org/).
[A blog where someone sets up Let's Encrypt](https://www.digitalocean.com/community/tutorials/how-
to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04)
[A blog where someone sets up Let's Encrypt](https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04)
The only process missing from all of the above documentation is how to pass verification. This is
how Let's Encrypt verifies that you have control over your domain (not necessarily ownership, it's
@ -415,7 +414,7 @@ Evennia users:
| `Linode`_ | Cloud | $5/month / | Multiple regions. Smallest option provides 1GB RAM |
| | | on-demand | |
+------------------------+----------------+----------------+----------------------------------------------------------+
| `Genesis MUD hosting`_ | Shell account | $8/month | Dedicated MUD host with very limited memory offerings. |
| `Genesis MUD hosting`_ | Shell account | $8/month | Dedicated MUD host with very limited memory offerings. |
| | | | When last investigated (2017) ran a 13 years old Python |
| | | | version (2.4) (convince them to update or compile). |
| | | | Note that Evennia needs *at least* the "Deluxe" package |

View file

@ -8,8 +8,7 @@ If you are new to the concept, the main purpose of separating the two is to have
the Portal but keep the MUD running on the Server. This way one can restart/reload the game (the
Server part) without Accounts getting disconnected.
![portal and server layout](https://474a3b9f-a-62cb3a1a-s-
sites.googlegroups.com/site/evenniaserver/file-cabinet/evennia_server_portal.png)
![portal and server layout](https://474a3b9f-a-62cb3a1a-s-sites.googlegroups.com/site/evenniaserver/file-cabinet/evennia_server_portal.png)
The Server and Portal are glued together via an AMP (Asynchronous Messaging Protocol) connection.
This allows the two programs to communicate seamlessly.

View file

@ -1,87 +1,4 @@
# Python 3
> *Note: Evennia only supports Python 2.7+ at this time. This page gathers various development
information relevant to server developers.*
Evennia supports Python 3+ since v0.8. This page is deprecated.
Django can work with Python 2 and 3 already, though changes may be required to how the Evennia code
uses it. Twisted has much Python 3 compatibility, but not all modules within it have been ported
yet. The
[twisted.python.dist3](https://twistedmatrix.com/documents/current/api/twisted.python.dist3.html)
module gives some information about what's ported, and I'm compiling a list of missing modules with
related bug reports which can be found below. The list is based on a search for import statements in
the Evennia source code, please add anything that's missing.
Part of this process is expected to be writing more tests for Evennia. One encouraging recent port
to Python 3 in Twisted is its Trial test framework, which may need to be used by Evennia to ensure
it still works correctly with Twisted on Python 3.
# "Strings"
Broadly (and perhaps over-simplified):
* Twisted [expects bytes](http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#WhydontTwisted
snetworkmethodssupportUnicodeobjectsaswellasstrings)
* Django [expects "" to be unicode](https://docs.djangoproject.com/en/1.8/topics/python3/#unicode-
literals)
I think we should use (roughly speaking) "" for unicode and b"" for bytes everywhere, but I need to
look at the impacts of this more closely.
# Links
* http://twistedmatrix.com/documents/current/core/howto/python3.html
* https://twistedmatrix.com/trac/wiki/Plan/Python3
* [Twisted Python3 bugs](https://twistedmatrix.com/trac/query?status=assigned&status=new&status=reop
ened&group=status&milestone=Python-3.x)
# Twisted module status
x = not ported to Python 3
/ = ported to Python 3
* twisted.application.internet /
* twisted.application.service /
* twisted.conch x (not used directly)
* ~https://twistedmatrix.com/trac/ticket/5102~ /
* ~https://twistedmatrix.com/trac/ticket/4993~ /
* twisted.conch.insults.insults x
* twisted.conch.interfaces x
* twisted.conch.manhole x
* twisted.conch.manhole_ssh x
* twisted.conch.ssh.common x
* twisted.conch.ssh.keys x
* ~https://twistedmatrix.com/trac/ticket/7998~ /
* "twisted.conch.ssh.keys should be ported to Python 3"
* twisted.conch.ssh.userauth x
* twisted.conch.telnet x
* twisted.cred.checkers /
* twisted.cred.portal /
* twisted.internet.defer /
* twisted.internet.interfaces /
* twisted.internet.protocol /
* twisted.internet.reactor /
* twisted.internet.ssl /
* twisted.internet.task /
* twisted.internet.threads /
* twisted.protocols.amp x
* ~https://twistedmatrix.com/trac/ticket/6833~ /
* "Port twisted.protocols.amp to Python 3"
* twisted.protocols.policies /
* twisted.python.components /
* twisted.python.log /
* twisted.python.threadpool /
* twisted.web.http (x)
* Partial support. Sufficient?
* twisted.web.resource /
* twisted.web.server (x)
* Partial support. Sufficient?
* twisted.web.static /
* twisted.web.proxy /
* twisted.web.wsgi x
* ~https://twistedmatrix.com/trac/ticket/7993~ /
* "'twisted.web.wsgi' should be ported to Python 3"
* Seems to be making good progress
* twisted.words.protocols.irc x
* https://twistedmatrix.com/trac/ticket/6320
* "Python 3 support for twisted.words.protocols.irc"
* ~https://twistedmatrix.com/trac/ticket/6564~
* "Replace usage of builtin reduce in twisted.words"

View file

@ -196,8 +196,7 @@ your life a lot easier.
This is a [reserved Python keyword](https://docs.python.org/2.5/ref/keywords.html); try not to use
these words anywhere else.
- A function name can not have spaces but otherwise we could have called it almost anything. We call
it `hello_world`. Evennia follows [Python's standard naming
style](https://github.com/evennia/evennia/blob/master/CODING_STYLE.md#a-quick-list-of-code-style-
it `hello_world`. Evennia follows [Python's standard naming style](https://github.com/evennia/evennia/blob/master/CODING_STYLE.md#a-quick-list-of-code-style-
points) with lowercase letters and underscores. Use this style for now.
- `who` is what we call the *argument* to our function. Arguments are variables we pass to the
function. We could have named it anything and we could also have multiple arguments separated by

View file

@ -55,8 +55,7 @@ A *class* is like a "factory" or blueprint. From a class you then create individ
if class is`Dog`, an instance of `Dog` might be `fido`. Our in-game persona is of a class
`Character`. The superuser `christine` is an *instance* of the `Character` class (an instance is
also often referred to as an *object*). This is an important concept in *object oriented
programming*. You are wise to [familiarize yourself with it](https://en.wikipedia.org/wiki/Class-
based_programming) a little.
programming*. You are wise to [familiarize yourself with it](https://en.wikipedia.org/wiki/Class-based_programming) a little.
> In other terms:
> * class: A description of a thing, all the methods (code) and data (information)
@ -176,8 +175,7 @@ also explore it [online on github](https://github.com/evennia/evennia/tree/maste
The structure of the library directly reflects how you import from it.
- To, for example, import [the text justify
function](https://github.com/evennia/evennia/blob/master/evennia/utils/utils.py#L201) from
- To, for example, import [the text justify function](https://github.com/evennia/evennia/blob/master/evennia/utils/utils.py#L201) from
`evennia/utils/utils.py` you would do `from evennia.utils.utils import justify`. In your code you
could then just call `justify(...)` to access its functionality.
- You could also do `from evennia.utils import utils`. In code you would then have to write
@ -191,15 +189,13 @@ import in Python.
Now, remember that our `characters.py` module did `from evennia import DefaultCharacter`. But if we
look at the contents of the `evennia` folder, there is no `DefaultCharacter` anywhere! This is
because Evennia gives a large number of optional "shortcuts", known as [the "flat" API](Evennia-
API). The intention is to make it easier to remember where to find stuff. The flat API is defined in
because Evennia gives a large number of optional "shortcuts", known as [the "flat" API](./Evennia-API). The intention is to make it easier to remember where to find stuff. The flat API is defined in
that weirdly named `__init__.py` file. This file just basically imports useful things from all over
Evennia so you can more easily find them in one place.
We could [just look at the documenation](github:evennia#typeclasses) to find out where we can look
at our `DefaultCharacter` parent. But for practice, let's figure it out. Here is where
`DefaultCharacter` [is imported
from](https://github.com/evennia/evennia/blob/master/evennia/__init__.py#L188) inside `__init__.py`:
`DefaultCharacter` [is imported from](https://github.com/evennia/evennia/blob/master/evennia/__init__.py#L188) inside `__init__.py`:
```python
from .objects.objects import DefaultCharacter
@ -231,8 +227,7 @@ is the same thing, just a little easier to remember.
In the previous section we traced the parent of our `Character` class to be
`DefaultCharacter` in
[evennia/objects/objects.py](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.
py).
[evennia/objects/objects.py](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py).
Open that file and locate the `DefaultCharacter` class. It's quite a bit down
in this module so you might want to search using your editor's (or browser's)
search function. Once you find it, you'll find that the class starts like this:
@ -276,8 +271,7 @@ outside
```
... And so on (you can see the full [class online
here](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L1915)). Here we
... And so on (you can see the full [class online here](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L1915)). Here we
have functional code! These methods may not be directly visible in `Character` back in our game dir,
but they are still available since `Character` is a child of `DefaultCharacter` above. Here is a
brief summary of the methods we find in `DefaultCharacter` (follow in the code to see if you can see
@ -309,8 +303,7 @@ class DefaultCharacter(DefaultObject):
This means that `DefaultCharacter` is in *itself* a child of something called `DefaultObject`! Let's
see what this parent class provides. It's in the same module as `DefaultCharacter`, you just need to
[scroll up near the
top](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L193):
[scroll up near the top](https://github.com/evennia/evennia/blob/master/evennia/objects/objects.py#L193):
```python
class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)):
@ -327,11 +320,9 @@ the doc string of `msg`.
> As seen, `DefaultObject` actually has multiple parents. In one of those the basic `key` property
is defined, but we won't travel further up the inheritance tree in this tutorial. If you are
interested to see them, you can find `TypeclassBase` in [evennia/typeclasses/models.py](https://gith
ub.com/evennia/evennia/blob/master/evennia/typeclasses/models.py#L93) and `ObjectDB` in [evennia/obj
interested to see them, you can find `TypeclassBase` in [evennia/typeclasses/models.py](https://github.com/evennia/evennia/blob/master/evennia/typeclasses/models.py#L93) and `ObjectDB` in [evennia/obj
ects/models.py](https://github.com/evennia/evennia/blob/master/evennia/objects/models.py#L121). We
will also not go into the details of [Multiple
Inheritance](https://docs.python.org/2/tutorial/classes.html#multiple-inheritance) or
will also not go into the details of [Multiple Inheritance](https://docs.python.org/2/tutorial/classes.html#multiple-inheritance) or
[Metaclasses](http://www.onlamp.com/pub/a/python/2003/04/17/metaclasses.html) here. The general rule
is that if you realize that you need these features, you already know enough to use them.
@ -384,8 +375,7 @@ By default the `at_before_say` method doesn't do anything. It just takes the `me
`return`s it just the way it was (the `return` is another reserved Python word).
> We won't go into `**kwargs` here, but it (and its sibling `*args`) is also important to
understand, extra reading is [here for
`**kwargs`](https://stackoverflow.com/questions/1769403/understanding-kwargs-in-python).
understand, extra reading is [here for `**kwargs`](https://stackoverflow.com/questions/1769403/understanding-kwargs-in-python).
Now, open your game folder and edit `mygame/typeclasses/characters.py`. Locate your `Character`
class and modify it as such:
@ -407,8 +397,7 @@ through the method.
Note that `f` in front of the string, it means we turned the string into a 'formatted string'. We
can now easily inject stuff directly into the string by wrapping them in curly brackets `{ }`. In
this example, we put the incoming `message` into the string, followed by an ellipsis. This is only
one way to format a string. Python has very powerful [string
formatting](https://docs.python.org/2/library/string.html#format-specification-mini-language) and
one way to format a string. Python has very powerful [string formatting](https://docs.python.org/2/library/string.html#format-specification-mini-language) and
you are wise to learn it well, considering your game will be mainly text-based.
> You could also copy & paste the relevant method from `DefaultObject` here to get the full doc
@ -454,8 +443,7 @@ program.
IPython ...
...
In [1]:
IPython has some very nice ways to explore what Evennia has to offer.
In [1]: IPython has some very nice ways to explore what Evennia has to offer.
> import evennia
> evennia.<TAB>
@ -489,15 +477,14 @@ and resources [on our link page](./Links).
We have touched upon many of the concepts here but to use Evennia and to be able to follow along in
the code, you will need basic understanding of Python
[modules](http://docs.python.org/2/tutorial/modules.html),
[variables](http://www.tutorialspoint.com/python/python_variable_types.htm), [conditional
statements](http://docs.python.org/tutorial/controlflow.html#if-statements),
[variables](http://www.tutorialspoint.com/python/python_variable_types.htm),
[conditional statements](http://docs.python.org/tutorial/controlflow.html#if-statements),
[loops](http://docs.python.org/tutorial/controlflow.html#for-statements),
[functions](http://docs.python.org/tutorial/controlflow.html#defining-functions), [lists,
dictionaries, list comprehensions](http://docs.python.org/tutorial/datastructures.html) and [string
formatting](http://docs.python.org/tutorial/introduction.html#strings). You should also have a basic
understanding of [object-oriented
programming](http://www.tutorialspoint.com/python/python_classes_objects.htm) and what Python
[Classes](http://docs.python.org/tutorial/classes.html) are.
[functions](http://docs.python.org/tutorial/controlflow.html#defining-functions),
[lists, dictionaries, list comprehensions](http://docs.python.org/tutorial/datastructures.html)
and [string formatting](http://docs.python.org/tutorial/introduction.html#strings). You should also have a basic
understanding of [object-oriented programming](http://www.tutorialspoint.com/python/python_classes_objects.htm)
and what Python [Classes](http://docs.python.org/tutorial/classes.html) are.
Once you have familiarized yourself, or if you prefer to pick Python up as you go, continue to one
of the beginning-level [Evennia tutorials](./Tutorials) to gradually build up your understanding.

View file

@ -1,8 +1,7 @@
# Screenshot
![evennia_screenshot2017](https://user-
images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png)
![evennia_screenshot2017](https://user-images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png)
*(right-click and choose your browser's equivalent of "view image" to see it full size)*
This screenshot shows a vanilla [install](./Getting-Started) of the just started Evennia MUD server.

View file

@ -10,8 +10,8 @@ The "Settings" file referenced throughout the documentation is the file
`mygame/server/conf/settings.py`. This is automatically created on the first run of `evennia --init`
(see the [Getting Started](./Getting-Started) page).
Your new `settings.py` is relatively bare out of the box. Evennia's core settings file is actually [
evennia/settings_default.py](https://github.com/evennia/evennia/blob/master/evennia/settings_default
Your new `settings.py` is relatively bare out of the box. Evennia's core settings file is actually
[evennia/settings_default.py](https://github.com/evennia/evennia/blob/master/evennia/settings_default
.py) and is considerably more extensive (it is also heavily documented so you should refer to this
file directly for the available settings).

View file

@ -18,8 +18,7 @@ sanity of their players. And when they do, the game becomes possible to map. Thi
an example of a simple but flexible in-game map system to further help player's to navigate. We will
To simplify development and error-checking we'll break down the work into bite-size chunks, each
building on what came before. For this we'll make extensive use of the [Batch code processor](Batch-
Code-Processor), so you may want to familiarize yourself with that.
building on what came before. For this we'll make extensive use of the [Batch code processor](./Batch-Code-Processor), so you may want to familiarize yourself with that.
1. **Planning the map** - Here we'll come up with a small example map to use for the rest of the
tutorial.
@ -36,7 +35,7 @@ map we designed before.
O─O─O To the south, the glow of a campfire can be seen. To the east lie
≈↑│↑∩ the vast mountains and to the west is heard the waves of the sea.
↑▲O▲↑
Exits: north(#8), east(#9), south(#10), west(#11)
```
@ -46,9 +45,7 @@ don't show in the documentation wiki.
## Planning the Map
Let's begin with the fun part! Maps in MUDs come in many different [shapes and
sizes](http://journal.imaginary-realities.com/volume-05/issue-01/modern-interface-modern-
mud/index.html). Some appear as just boxes connected by lines. Others have complex graphics that are
Let's begin with the fun part! Maps in MUDs come in many different [shapes and sizes](http://journal.imaginary-realities.com/volume-05/issue-01/modern-interface-modern-mud/index.html). Some appear as just boxes connected by lines. Others have complex graphics that are
external to the game itself.
Our map will be in-game text but that doesn't mean we're restricted to the normal alphabet! If
@ -275,12 +272,12 @@ def return_map():
This function returns the whole map
"""
map = ""
#For each row in our map, add it to map
for valuey in world_map:
map += valuey
map += "\n"
return map
def return_minimap(x, y, radius = 2):
@ -289,12 +286,12 @@ def return_minimap(x, y, radius = 2):
Returning all chars in a 2 char radius from (x,y)
"""
map = ""
#For each row we need, add the characters we need.
for valuey in world_map[y-radius:y+radius+1]: for valuex in valuey[x-radius:x+radius+1]:
map += valuex
map += "\n"
return map
```
@ -411,6 +408,5 @@ You should now have a mapped little world and a basic understanding of batchcode
easily new game defining features can be added to Evennia.
You can easily build from this tutorial by expanding the map and creating more rooms to explore. Why
not add more features to your game by trying other tutorials: [Add weather to your world](Weather-
Tutorial), [fill your world with NPC's](./Tutorial-Aggressive-NPCs) or [implement a combat
system](Turn-based-Combat-System).
not add more features to your game by trying other tutorials: [Add weather to your world](./Weather-Tutorial),
[fill your world with NPC's](./Tutorial-Aggressive-NPCs) or [implement a combat system](./Turn-based-Combat-System).

View file

@ -2,8 +2,7 @@
This tutorial gives an example of a full, if simplified, combat system for Evennia. It was inspired
by the discussions held on the [mailing
list](https://groups.google.com/forum/#!msg/evennia/wnJNM2sXSfs/-dbLRrgWnYMJ).
by the discussions held on the [mailing list](https://groups.google.com/forum/#!msg/evennia/wnJNM2sXSfs/-dbLRrgWnYMJ).
## Overview of combat system concepts
@ -49,8 +48,7 @@ free.
- The commands are (in our example) simple; they can either `hit <target>`, `feint <target>` or
`parry <target>`. They can also `defend`, a generic passive defense. Finally they may choose to
`disengage/flee`.
- When attacking we use a classic [rock-paper-scissors](https://en.wikipedia.org/wiki/Rock-paper-
scissors) mechanic to determine success: `hit` defeats `feint`, which defeats `parry` which defeats
- When attacking we use a classic [rock-paper-scissors](https://en.wikipedia.org/wiki/Rock-paper-scissors) mechanic to determine success: `hit` defeats `feint`, which defeats `parry` which defeats
`hit`. `defend` is a general passive action that has a percentage chance to win against `hit`
(only).
- `disengage/flee` must be entered two times in a row and will only succeed if there is no `hit`
@ -67,8 +65,7 @@ characters and handles all the combat information. Since Scripts are database en
that the combat will not be affected by a server reload.
- A combat [command set](./Command-Sets) with the relevant commands needed for combat, such as the
various attack/defend options and the `flee/disengage` command to leave the combat mode.
- A rule resolution system. The basics of making such a module is described in the [rule system
tutorial](Implementing-a-game-rule-system). We will only sketch such a module here for our end-turn
- A rule resolution system. The basics of making such a module is described in the [rule system tutorial](./Implementing-a-game-rule-system). We will only sketch such a module here for our end-turn
combat resolution.
- An `attack` [command](./Commands) for initiating the combat mode. This is added to the default
command set. It will create the combat handler and add the character(s) to it. It will also assign
@ -168,7 +165,7 @@ class CombatHandler(DefaultScript):
commands). We know this by checking the existence of the
`normal_turn_end` NAttribute, set just before calling
force_repeat.
"""
if self.ndb.normal_turn_end:
# we get here because the turn ended normally
@ -190,7 +187,7 @@ class CombatHandler(DefaultScript):
("defend", character, None)]
# set up back-reference
self._init_character(character)
def remove_character(self, character):
"Remove combatant from handler"
if character.id in self.db.characters:
@ -311,7 +308,7 @@ class CmdHit(Command):
self.caller.msg("You add 'hit' to the combat queue")
else:
self.caller.msg("You can only queue two actions per turn!")
# tell the handler to check if turn is over
self.caller.ndb.combat_handler.check_end_turn()
```
@ -347,8 +344,7 @@ class CombatCmdSet(CmdSet):
## Rules module
A general way to implement a rule module is found in the [rule system tutorial](Implementing-a-game-
rule-system). Proper resolution would likely require us to change our Characters to store things
A general way to implement a rule module is found in the [rule system tutorial](./Implementing-a-game-rule-system). Proper resolution would likely require us to change our Characters to store things
like strength, weapon skills and so on. So for this example we will settle for a very simplistic
rock-paper-scissors kind of setup with some randomness thrown in. We will not deal with damage here
but just announce the results of each turn. In a real system the Character objects would hold stats

View file

@ -60,13 +60,7 @@ will automatically be unquelled.
## Gameplay
![the castle off the moor](https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/22916c25-6299-4
53d-a221-446ec839f567/da2pmzu-46d63c6d-9cdc-41dd-87d6-1106db5a5e1a.jpg/v1/fill/w_600,h_849,q_75,strp
/the_castle_off_the_moor_by_griatch_art_da2pmzu-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1N
iJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3siaGVpZ2h0IjoiPD04NDkiLCJwYXRoIjoiXC9m
XC8yMjkxNmMyNS02Mjk5LTQ1M2QtYTIyMS00NDZlYzgzOWY1NjdcL2RhMnBtenUtNDZkNjNjNmQtOWNkYy00MWRkLTg3ZDYtMTEw
NmRiNWE1ZTFhLmpwZyIsIndpZHRoIjoiPD02MDAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.o
muS3D1RmFiZCy9OSXiIita-HxVGrBok3_7asq0rflw)
![the castle off the moor](https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/22916c25-6299-453d-a221-446ec839f567/da2pmzu-46d63c6d-9cdc-41dd-87d6-1106db5a5e1a.jpg/v1/fill/w_600,h_849,q_75,strp/the_castle_off_the_moor_by_griatch_art_da2pmzu-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3siaGVpZ2h0IjoiPD04NDkiLCJwYXRoIjoiXC9mXC8yMjkxNmMyNS02Mjk5LTQ1M2QtYTIyMS00NDZlYzgzOWY1NjdcL2RhMnBtenUtNDZkNjNjNmQtOWNkYy00MWRkLTg3ZDYtMTEwNmRiNWE1ZTFhLmpwZyIsIndpZHRoIjoiPD02MDAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.omuS3D1RmFiZCy9OSXiIita-HxVGrBok3_7asq0rflw)
*To get into the mood of this miniature quest, imagine you are an adventurer out to find fame and
@ -88,7 +82,7 @@ the scenes of the tutorial).
- *defend* will lower the chance to taking damage on your enemy's next attack.
- You *can* run from a fight that feels too deadly. Expect to be chased though.
- Being defeated is a part of the experience ...
## Uninstall
Uninstalling the tutorial world basically means deleting all the rooms and objects it consists of.

View file

@ -2,8 +2,8 @@
Before continuing to read these tutorials (and especially before you start to code or build your
game in earnest) it's strongly recommended that you read the [Evennia coding introduction](Coding-
Introduction) as well as the [Planning your own game](./Game-Planning) pages first.
game in earnest) it's strongly recommended that you read the
[Evennia coding introduction](./Coding-Introduction) as well as the [Planning your own game](./Game-Planning) pages first.
Please note that it's not within the scope of our tutorials to teach you basic Python. If you are
new to the language, expect to have to look up concepts you are unfamiliar with. Usually a quick
@ -34,22 +34,17 @@ _General code practices for newbie game developers._
To use Evennia, you will need basic understanding of Python
[modules](http://docs.python.org/3.7/tutorial/modules.html),
[variables](http://www.tutorialspoint.com/python/python_variable_types.htm), [conditional
statements](http://docs.python.org/tutorial/controlflow.html#if-statements),
[variables](http://www.tutorialspoint.com/python/python_variable_types.htm), [conditional statements](http://docs.python.org/tutorial/controlflow.html#if-statements),
[loops](http://docs.python.org/tutorial/controlflow.html#for-statements),
[functions](http://docs.python.org/tutorial/controlflow.html#defining-functions), [lists,
dictionaries, list comprehensions](http://docs.python.org/tutorial/datastructures.html) and [string
formatting](http://docs.python.org/tutorial/introduction.html#strings). You should also have a basic
understanding of [object-oriented
programming](http://www.tutorialspoint.com/python/python_classes_objects.htm) and what Python
[functions](http://docs.python.org/tutorial/controlflow.html#defining-functions), [lists, dictionaries, list comprehensions](http://docs.python.org/tutorial/datastructures.html) and [string formatting](http://docs.python.org/tutorial/introduction.html#strings). You should also have a basic
understanding of [object-oriented programming](http://www.tutorialspoint.com/python/python_classes_objects.htm) and what Python
[Classes](http://docs.python.org/tutorial/classes.html) are.
- [Python tutorials for beginners](https://wiki.python.org/moin/BeginnersGuide/NonProgrammers) -
external link with tutorials for those not familiar with coding in general or Python in particular.
- [Tutorial: Version Control](./Version-Control) - use GIT to organize your code both for your own
game project and for contributing to Evennia.
- MIT offers free courses in many subjects. Their [Introduction to Computer Science and
Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-
- MIT offers free courses in many subjects. Their [Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-
introduction-to-computer-science-and-programming-spring-2011/) uses Python as its language of
choice. Longer path, but more in-depth. Definitely worth a look.
@ -113,8 +108,7 @@ Evennia.
- [Tutorial: Handling virtual time in your game](./Gametime-Tutorial)
- [Tutorial: Setting up a coordinate system for rooms](./Coordinates)
- [Tutorial: customize the way channels and channel commands work in your game](./Customize-channels)
- [Tutorial: Adding unit tests to your game project](./Unit-Testing#testing-for-game-development-mini-
tutorial)
- [Tutorial: Adding unit tests to your game project](./Unit-Testing#testing-for-game-development-mini- tutorial)
### Contrib

View file

@ -55,8 +55,7 @@ forces Evennia to use this settings file over the default one.
Evennia's test suite makes use of Django unit test system, which in turn relies on Python's
*unittest* module.
> If you want to help out writing unittests for Evennia, take a look at Evennia's [coveralls.io
page](https://coveralls.io/github/evennia/evennia). There you see which modules have any form of
> If you want to help out writing unittests for Evennia, take a look at Evennia's [coveralls.io page](https://coveralls.io/github/evennia/evennia). There you see which modules have any form of
test coverage and which does not.
To make the test runner find the tests, they must be put in a module named `test*.py` (so `test.py`,
@ -74,16 +73,16 @@ To test the results, you use special methods of the `TestCase` class. Many of t
"`assert`", such as `assertEqual` or `assertTrue`.
Example of a `TestCase` class:
```python
import unittest
# the function we want to test
from mypath import myfunc
class TestObj(unittest.TestCase):
"This tests a function myfunc."
def test_return_value(self):
"test method. Makes sure return value is as expected."
expected_return = "This is me being nice."
@ -98,8 +97,7 @@ Example of a `TestCase` class:
self.assertEqual(expected_return, actual_return)
```
You might also want to read the [documentation for the unittest
module](http://docs.python.org/library/unittest.html).
You might also want to read the [documentation for the unittest module](http://docs.python.org/library/unittest.html).
### Using the EvenniaTest class
@ -108,8 +106,7 @@ initiates a range of useful properties on themselves for testing Evennia systems
`.account` and `.session` representing a mock connected Account and its Session and `.char1` and
`.char2` representing Characters complete with a location in the test database. These are all useful
when testing Evennia system requiring any of the default Evennia typeclasses as inputs. See the full
definition of the `EvenniaTest` class in [evennia/utils/test_resources.py](https://github.com/evenni
a/evennia/blob/master/evennia/utils/test_resources.py).
definition of the `EvenniaTest` class in [evennia/utils/test_resources.py](https://github.com/evennia/evennia/blob/master/evennia/utils/test_resources.py).
```python
# in a test module
@ -164,9 +161,7 @@ of the Evennia distribution and its unit tests should be run with all other Even
The way to do this is to only temporarily add your models to the `INSTALLED_APPS` directory when the
test runs. here is an example of how to do it.
> Note that this solution, derived from this [stackexchange
answer](http://stackoverflow.com/questions/502916/django-how-to-create-a-model-dynamically-just-for-
testing#503435) is currently untested! Please report your findings.
> Note that this solution, derived from this [stackexchange answer](http://stackoverflow.com/questions/502916/django-how-to-create-a-model-dynamically-just-for-testing#503435) is currently untested! Please report your findings.
```python
# a file contrib/mycontrib/tests.py
@ -199,7 +194,7 @@ class TestMyModel(EvenniaTest):
from django.db.models import loading
loading.cache.loaded = False
call_command('syncdb', verbosity=0)
def tearDown(self):
settings.configure(**OLD_DEFAULT_SETTINGS)
django.setup()
@ -290,11 +285,11 @@ just to show how unit testing works:
# mygame/commands/tests.py
import unittest
class TestString(unittest.TestCase):
"""Unittest for strings (just a basic example)."""
def test_upper(self):
"""Test the upper() str method."""
self.assertEqual('foo'.upper(), 'FOO')
@ -317,7 +312,7 @@ Let's execute that test to see if it works.
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
Destroying test database for alias 'default'...
@ -330,8 +325,8 @@ to see how it looks when it fails.
### Testing commands
This section will test the proper execution of the 'abilities' command, as described in the [First
Steps Coding](First-Steps-Coding) page. Follow this tutorial to create the 'abilities' command, we
This section will test the proper execution of the 'abilities' command, as described in the
[First Steps Coding](./First-Steps-Coding) page. Follow this tutorial to create the 'abilities' command, we
will need it to test it.
Testing commands in Evennia is a bit more complex than the simple testing example we have seen.
@ -347,14 +342,14 @@ already have in `commands` from before.
# bottom of mygame/commands/tests.py
from evennia.commands.default.tests import CommandTest
from commands.command import CmdAbilities
from typeclasses.characters import Character
class TestAbilities(CommandTest):
character_typeclass = Character
def test_simple(self):
self.call(CmdAbilities(), "", "STR: 5, AGI: 4, MAG: 2")
```
@ -390,7 +385,7 @@ Let's run our new test:
..
----------------------------------------------------------------------
Ran 2 tests in 0.156s
OK
Destroying test database for alias 'default'...
@ -405,19 +400,19 @@ will have nothing but static output to test. Here we are going to learn how to t
output.<br>
This tutorial assumes you have a basic understanding of what regular expressions are. If you do not
I recommend reading the `Introduction` and `Simple Pattern` sections at [Python regular expressions
tutorial](https://docs.python.org/3/howto/regex.html). If you do plan on making a complete Evennia
I recommend reading the `Introduction` and `Simple Pattern` sections at
[Python regular expressions tutorial](https://docs.python.org/3/howto/regex.html). If you do plan on making a complete Evennia
project learning regular expressions will save a great deal of time.<br>
Append the code below to your `tests.py` file.<br>
```python
# bottom of mygame/commands/tests.py
class TestDynamicAbilities(CommandTest):
character_typeclass = Character
def test_simple(self):
cmd_abil_result = self.call(CmdAbilities(), "")
self.assertRegex(cmd_abil_result, "STR: \d+, AGI: \d+, MAG: \d+")

View file

@ -15,8 +15,7 @@ selection screen when you log into the game later). Other modes can be used with
auto-puppet the new Character.
You should have some familiarity with how Django sets up its Model Template View framework. You need
to understand what is happening in the basic [Web Character View tutorial](Web-Character-View-
Tutorial). If you dont understand the listed tutorial or have a grasp of Django basics, please look
to understand what is happening in the basic [Web Character View tutorial](./Web-Character-View-Tutorial). If you dont understand the listed tutorial or have a grasp of Django basics, please look
at the [Django tutorial](https://docs.djangoproject.com/en/1.8/intro/) to get a taste of what Django
does, before throwing Evennia into the mix (Evennia shares its API and attributes with the website
interface). This guide will outline the format of the models, views, urls, and html templates
@ -29,32 +28,28 @@ Here are some screenshots of the simple app we will be making.
Index page, with no character application yet done:
***
![Index page, with no character application yet done.](https://lh3.googleusercontent.com/-57KuSWHXQ_
M/VWcULN152tI/AAAAAAAAEZg/kINTmVlHf6M/w425-h189-no/webchargen_index2.gif)
![Index page, with no character application yet done.](https://lh3.googleusercontent.com/-57KuSWHXQ_M/VWcULN152tI/AAAAAAAAEZg/kINTmVlHf6M/w425-h189-no/webchargen_index2.gif)
***
Having clicked the "create" link you get to create your character (here we will only have name and
background, you can add whatever is needed to fit your game):
***
![Character creation.](https://lh3.googleusercontent.com/-ORiOEM2R_yQ/VWcUKgy84rI/AAAAAAAAEZY/B3CBh3
FHii4/w607-h60-no/webchargen_creation.gif)
![Character creation.](https://lh3.googleusercontent.com/-ORiOEM2R_yQ/VWcUKgy84rI/AAAAAAAAEZY/B3CBh3FHii4/w607-h60-no/webchargen_creation.gif)
***
Back to the index page. Having entered our character application (we called our character "TestApp")
you see it listed:
***
![Having entered an application.](https://lh6.googleusercontent.com/-HlxvkvAimj4/VWcUKjFxEiI/AAAAAAA
AEZo/gLppebr05JI/w321-h194-no/webchargen_index1.gif)
![Having entered an application.](https://lh6.googleusercontent.com/-HlxvkvAimj4/VWcUKjFxEiI/AAAAAAAAEZo/gLppebr05JI/w321-h194-no/webchargen_index1.gif)
***
We can also view an already written character application by clicking on it - this brings us to the
*detail* page:
***
![Detail view of character application.](https://lh6.googleusercontent.com/-2m1UhSE7s_k/VWcUKfLRfII/
AAAAAAAAEZc/UFmBOqVya4k/w267-h175-no/webchargen_detail.gif)
![Detail view of character application.](https://lh6.googleusercontent.com/-2m1UhSE7s_k/VWcUKfLRfII/AAAAAAAAEZc/UFmBOqVya4k/w267-h175-no/webchargen_detail.gif)
***
## Installing an App
@ -281,7 +276,7 @@ After all of this, our `views.py` file should look like something like this:
```python
# file mygame/web/chargen/views.py
from django.shortcuts import render
from web.chargen.models import CharApp
from web.chargen.forms import AppForm
@ -544,8 +539,7 @@ created character object. Thankfully, the Evennia API makes this easy.
As sad as it is, if your server is open to the web, bots might come to visit and take advantage of
your open form to create hundreds, thousands, millions of characters if you give them the
opportunity. This section shows you how to use the [No CAPCHA
reCAPCHA](https://www.google.com/recaptcha/intro/invisible.html) designed by Google. Not only is it
opportunity. This section shows you how to use the [No CAPCHA reCAPCHA](https://www.google.com/recaptcha/intro/invisible.html) designed by Google. Not only is it
easy to use, it is user-friendly... for humans. A simple checkbox to check, except if Google has
some suspicion, in which case you will have a more difficult test with an image and the usual text
inside. It's worth pointing out that, as long as Google doesn't suspect you of being a robot, this

View file

@ -1,8 +1,7 @@
# Web Character View Tutorial
**Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](Web-
Tutorial).**
**Before doing this tutorial you will probably want to read the intro in [Basic Web tutorial](./Web-Tutorial).**
In this tutorial we will create a web page that displays the stats of a game character. For this,
and all other pages we want to make specific to our game, we'll need to create our own Django "app"
@ -226,4 +225,4 @@ page by using {{ object.get_absolute_url }} in any template where you have a giv
*Now that you've made a basic page and app with Django, you may want to read the full Django
tutorial to get a better idea of what it can do. [You can find Django's tutorial
here](https://docs.djangoproject.com/en/1.8/intro/tutorial01/).*
here](https://docs.djangoproject.com/en/1.8/intro/tutorial01/).*

View file

@ -35,7 +35,7 @@ You customize your website from your game directory. In the folder `web` you'll
`static`, `templates`, `static_overrides` and `templates_overrides`. The first two of those are
populated automatically by Django and used to serve the website. You should not edit anything in
them - the change will be lost. To customize the website you'll need to copy the file you want to
change from the `web/website/template/` or `web/website/static/ path to the corresponding place
change from the `web/website/template/` or `web/website/static/` path to the corresponding place
under one of `_overrides` directories.
Example: To override or modify `evennia/web/website/template/website/index.html` you need to
@ -89,8 +89,7 @@ the root of the website. It will now our own function `myview` from a new module
`mygame.com` in the address bar. If we had wanted to add a view for `http://mygame.com/awesome`, the
regular expression would have been `^/awesome`.
Look at [evennia/web/website/views.py](https://github.com/evennia/evennia/blob/master/evennia/web/we
bsite/views.py#L82) to see the inputs and outputs you must have to define a view. Easiest may be to
Look at [evennia/web/website/views.py](https://github.com/evennia/evennia/blob/master/evennia/web/website/views.py#L82) to see the inputs and outputs you must have to define a view. Easiest may be to
copy the default file to `mygame/web` to have something to modify and expand on.
Restart the server and reload the page in the browser - the website will now use your custom view.

View file

@ -70,7 +70,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.account.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -239,7 +239,7 @@ to accounts respectively.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.admin.CmdEmit.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['pemit', 'remit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['remit', 'pemit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -494,7 +494,7 @@ You can specify the /force switch to bypass this confirmation.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdDestroy.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['delete', 'del']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['del', 'delete']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1183,7 +1183,7 @@ server settings.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdTypeclass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['parent', 'type', 'update', 'swap']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['type', 'swap', 'parent', 'update']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -64,7 +64,7 @@ aliases to an already joined channel.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdAddCom.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['aliaschan', 'chanalias']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdAddCom.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['chanalias', 'aliaschan']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdAddCom.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -219,7 +219,7 @@ Use addcom/delcom to join and leave channels</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannels.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['clist', 'channellist', 'comlist', 'chanlist', 'all channels']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['chanlist', 'all channels', 'clist', 'comlist', 'channellist']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -107,7 +107,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -195,7 +195,7 @@ for everyone to use, you need build privileges and the alias command.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdNick.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['nickname', 'nicks']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['nicks', 'nickname']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -245,7 +245,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -591,7 +591,7 @@ automatically begin with your name.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdPose.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = [':', 'emote']</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['emote', ':']</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -294,7 +294,7 @@ required since whole classes of scripts often have the same name.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdScripts.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['listscripts', 'globalscript']</em><a class="headerlink" href="#evennia.commands.default.system.CmdScripts.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['globalscript', 'listscripts']</em><a class="headerlink" href="#evennia.commands.default.system.CmdScripts.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -349,7 +349,7 @@ given, &lt;nr&gt; defaults to 10.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdObjects.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['listobjects', 'stats', 'db', 'listobjs']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['listobjs', 'db', 'stats', 'listobjects']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -556,7 +556,7 @@ the released memory will instead be re-used by the program.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdServerLoad.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['serverload', 'serverprocess']</em><a class="headerlink" href="#evennia.commands.default.system.CmdServerLoad.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['serverprocess', 'serverload']</em><a class="headerlink" href="#evennia.commands.default.system.CmdServerLoad.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -59,7 +59,7 @@ connect “account name” “pass word”</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'co', 'con']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -252,7 +252,7 @@ for simplicity. It shows a pane of info.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -651,7 +651,7 @@ try to influence the other part in the deal.</p>
<dl class="py attribute">
<dt id="evennia.contrib.barter.CmdStatus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['offers', 'deal']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['deal', 'offers']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -77,7 +77,7 @@ at them with this command.</p>
<dl class="py attribute">
<dt id="evennia.contrib.chargen.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -598,7 +598,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.contrib.clothing.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -149,7 +149,7 @@ everyone but the person rolling.</p>
<dl class="py attribute">
<dt id="evennia.contrib.dice.CmdDice.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['roll', '&#64;dice']</em><a class="headerlink" href="#evennia.contrib.dice.CmdDice.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;dice', 'roll']</em><a class="headerlink" href="#evennia.contrib.dice.CmdDice.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -74,7 +74,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'co', 'con']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -250,7 +250,7 @@ for simplicity. It shows a pane of info.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedHelp.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedHelp.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedHelp.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -276,7 +276,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.contrib.extended_room.CmdExtendedRoomLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -52,7 +52,7 @@
<dl class="py attribute">
<dt id="evennia.contrib.ingame_python.commands.CmdCallback.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;callback', '&#64;callbacks', '&#64;calls']</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;calls', '&#64;callbacks', '&#64;callback']</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -560,7 +560,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_basic.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -677,7 +677,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_equip.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -711,7 +711,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_items.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -583,7 +583,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_magic.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -995,7 +995,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_range.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -105,7 +105,7 @@ push the lid of the button away.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.cmdset_red_button.CmdPush.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['push', 'press', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdPush.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['press', 'push', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdPush.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -153,7 +153,7 @@ lid-state respectively.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.cmdset_red_button.CmdSmashGlass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['smash', 'smash lid', 'break lid']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdSmashGlass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['break lid', 'smash', 'smash lid']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdSmashGlass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -196,7 +196,7 @@ of causing the lamp to break.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.cmdset_red_button.CmdOpenLid.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['open button', 'open']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdOpenLid.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['open', 'open button']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdOpenLid.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -282,7 +282,7 @@ of causing the lamp to break.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.cmdset_red_button.CmdBlindLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['get', 'examine', 'l', 'feel', 'listen', 'ex']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdBlindLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['get', 'l', 'examine', 'ex', 'feel', 'listen']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.cmdset_red_button.CmdBlindLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -477,7 +477,7 @@ shift green root up/down</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['shiftroot', 'push', 'move', 'pull']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['shiftroot', 'pull', 'push', 'move']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -525,7 +525,7 @@ yellow/green - horizontal roots</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdPressButton.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['push button', 'press button', 'button']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['push button', 'button', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -690,7 +690,7 @@ parry - forgoes your attack but will make you harder to hit on next</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdAttack.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['defend', 'thrust', 'fight', 'hit', 'kill', 'chop', 'pierce', 'parry', 'slash', 'bash', 'stab']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['hit', 'slash', 'parry', 'stab', 'kill', 'pierce', 'thrust', 'bash', 'defend', 'fight', 'chop']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -174,7 +174,7 @@ code except for adding in the details.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -673,7 +673,7 @@ if they fall off the bridge.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdBridgeHelp.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdBridgeHelp.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdBridgeHelp.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -820,7 +820,7 @@ to find something.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['search', 'l', 'feel', 'fiddle', 'feel around']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['search', 'l', 'feel around', 'fiddle', 'feel']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -265,7 +265,7 @@ indentation.</p>
<dl class="py attribute">
<dt id="evennia.utils.eveditor.CmdEditorGroup.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = [':u', ':A', ':q', ':w', ':q!', ':p', ':r', ':uu', ':dw', ':=', ':UU', ':!', '::', ':h', ':s', ':fi', ':echo', ':', ':S', ':&lt;', ':dd', ':i', ':&gt;', ':DD', ':I', ':j', ':wq', ':f', ':fd', ':y', ':::', ':x']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = [':&gt;', ':uu', ':S', ':A', ':::', ':u', ':', ':j', ':I', ':=', ':p', ':fd', ':dw', ':!', ':echo', ':x', ':dd', ':fi', ':w', ':DD', ':r', '::', ':s', ':q', ':&lt;', ':y', ':f', ':i', ':wq', ':UU', ':q!', ':h']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -75,7 +75,7 @@ the <strong>caller.msg()</strong> construct every time the page is updated.</p>
<dl class="py attribute">
<dt id="evennia.utils.evmore.CmdMore.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['t', 'back', 'next', 'e', 'n', 'end', 'a', 'quit', 'b', 'top', 'q', 'abort']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['back', 'e', 'a', 'n', 'q', 'b', 'top', 'abort', 't', 'quit', 'next', 'end']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -144,10 +144,7 @@
<li class="toctree-l1"><a class="reference internal" href="Parsing-command-arguments%2C-theory-and-best-practices.html">./Parsing command arguments, theory and best practices</a></li>
<li class="toctree-l1"><a class="reference internal" href="Portal-And-Server.html">./Portal And Server</a></li>
<li class="toctree-l1"><a class="reference internal" href="Profiling.html">./Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-3.html">Python 3</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-3.html#strings">“Strings”</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-3.html#links">Links</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-3.html#twisted-module-status">Twisted module status</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-3.html">./Python 3</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-basic-introduction.html">Python basic introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-basic-introduction.html#looking-at-the-log">Looking at the log</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python-basic-tutorial-part-two.html">./Python basic tutorial part two</a></li>

View file

@ -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: 1879ec6976bfecc062f073df5c4ece80
config: 80d96b3c9a53f30ed4966f16350793b4
tags: 645f666f9bcd5a90fca523b33c5a78b7

View file

@ -70,7 +70,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.account.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -75,7 +75,7 @@ skipping, reloading etc.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.batchprocess.CmdBatchCommands.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcmd', 'batchcommand']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcommand', 'batchcmd']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -494,7 +494,7 @@ You can specify the /force switch to bypass this confirmation.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdDestroy.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['del', 'delete']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['delete', 'del']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1183,7 +1183,7 @@ server settings.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdTypeclass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['parent', 'update', 'swap', 'type']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['type', 'update', 'parent', 'swap']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1478,7 +1478,7 @@ one is given.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdFind.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['search', 'locate']</em><a class="headerlink" href="#evennia.commands.default.building.CmdFind.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['locate', 'search']</em><a class="headerlink" href="#evennia.commands.default.building.CmdFind.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -116,7 +116,7 @@ for that channel.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDelCom.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['delchanalias', 'delaliaschan']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['delaliaschan', 'delchanalias']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -219,7 +219,7 @@ Use addcom/delcom to join and leave channels</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannels.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['clist', 'all channels', 'comlist', 'channellist', 'chanlist']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['chanlist', 'clist', 'channellist', 'all channels', 'comlist']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -107,7 +107,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -195,7 +195,7 @@ for everyone to use, you need build privileges and the alias command.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdNick.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['nicks', 'nickname']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['nickname', 'nicks']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -245,7 +245,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -349,7 +349,7 @@ given, &lt;nr&gt; defaults to 10.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdObjects.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['listobjects', 'stats', 'listobjs', 'db']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['listobjects', 'listobjs', 'db', 'stats']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -556,7 +556,7 @@ the released memory will instead be re-used by the program.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdServerLoad.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['serverload', 'serverprocess']</em><a class="headerlink" href="#evennia.commands.default.system.CmdServerLoad.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['serverprocess', 'serverload']</em><a class="headerlink" href="#evennia.commands.default.system.CmdServerLoad.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -59,7 +59,7 @@ connect “account name” “pass word”</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['con', 'co', 'conn']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'co', 'con']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -113,7 +113,7 @@ create “account name” “pass word”</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['cre', 'cr']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['cr', 'cre']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -208,7 +208,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'look']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['look', 'l']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -651,7 +651,7 @@ try to influence the other part in the deal.</p>
<dl class="py attribute">
<dt id="evennia.contrib.barter.CmdStatus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['offers', 'deal']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['deal', 'offers']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -77,7 +77,7 @@ at them with this command.</p>
<dl class="py attribute">
<dt id="evennia.contrib.chargen.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -598,7 +598,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.contrib.clothing.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -74,7 +74,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['con', 'co', 'conn']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'co', 'con']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -121,7 +121,7 @@ there is no object yet before the account has logged in)</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedCreate.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['cre', 'cr']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedCreate.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['cr', 'cre']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedCreate.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -211,7 +211,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'look']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['look', 'l']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

View file

@ -142,7 +142,7 @@ the operation will be general or on the room.</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['abort', 'q', 'chicken out', 'quit']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['abort', 'chicken out', 'q', 'quit']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
@ -182,7 +182,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -287,7 +287,7 @@ shout</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdSpeak.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = [';', 'whisper', 'shout']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdSpeak.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['whisper', 'shout', ';']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdSpeak.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -396,7 +396,7 @@ looks and what actions is available.</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdFocus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['examine', 'e', 'unfocus', 'ex']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ex', 'examine', 'unfocus', 'e']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -477,7 +477,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGet.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'give', 'inventory', 'i']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i', 'give', 'inventory']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
@ -517,7 +517,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdRerouter.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;dig', '&#64;open']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdRerouter.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;open', '&#64;dig']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdRerouter.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">

View file

@ -276,7 +276,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.contrib.extended_room.CmdExtendedRoomLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">

Some files were not shown because too many files have changed in this diff Show more