<spanid="evennia-objects-objects"></span><h1>evennia.objects.objects<aclass="headerlink"href="#module-evennia.objects.objects"title="Permalink to this headline">¶</a></h1>
<p>This module defines the basic <strong>DefaultObject</strong> and its children
<strong>DefaultCharacter</strong>, <strong>DefaultAccount</strong>, <strong>DefaultRoom</strong> and <strong>DefaultExit</strong>.
These are the (default) starting points for all in-game visible
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">ObjectSessionHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sessid</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.all"title="Permalink to this definition">¶</a></dt>
<dd><p>Alias to get(), returning all sessions.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>sessions (list)</em>– All sessions.</p>
<codeclass="sig-name descname">add</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.add"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.add"title="Permalink to this definition">¶</a></dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em> or </em><em>int</em>) – Session or session id to add.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>We will only add a session/sessid if this actually also exists
<codeclass="sig-name descname">remove</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.remove"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.remove"title="Permalink to this definition">¶</a></dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em> or </em><em>int</em>) – Session or session id to remove.</p>
<codeclass="sig-name descname">clear</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.clear"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.clear"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">count</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ObjectSessionHandler.count"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ObjectSessionHandler.count"title="Permalink to this definition">¶</a></dt>
<dd><p>Get amount of sessions connected.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>sesslen (int)</em>– Number of sessions handled.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">DefaultObject</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lockstring</code><emclass="property"> = 'control:id({account_id}) or perm(Admin);delete:id({account_id}) or perm(Admin)'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.lockstring"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">objects</code><emclass="property"> = <evennia.objects.manager.ObjectManager object></em><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.objects"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">appearance_template</code><emclass="property"> = '\n{header}\n|c{name}|n\n{desc}\n{exits}{characters}{things}\n{footer}\n '</em><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.appearance_template"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">cmdset</code><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.cmdset"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.cmdset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">scripts</code><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.scripts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.scripts"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">nicks</code><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.nicks"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.nicks"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sessions</code><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.sessions"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">is_connected</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.is_connected"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">has_account</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.has_account"title="Permalink to this definition">¶</a></dt>
<dd><p>Convenience property for checking if an active account is
<emclass="property">property </em><codeclass="sig-name descname">is_superuser</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.is_superuser"title="Permalink to this definition">¶</a></dt>
<dd><p>Check if user has an account, and if so, if it is a superuser.</p>
<codeclass="sig-name descname">contents_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">exclude</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">content_type</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.contents_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.contents_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">contents_set</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.contents_set"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.contents_set"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">contents</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.contents"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the contents of this object, i.e. all
<emclass="property">property </em><codeclass="sig-name descname">exits</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.exits"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns all exits from this object, i.e. all objects at this
location having the property destination != <strong>None</strong>.</p>
<dt><strong><num>-<string></strong> - can be used to differentiate</dt><dd><p>between multiple same-named matches. The exact form of this input
is given by <strong>settings.SEARCH_MULTIMATCH_REGEX</strong>.</p>
<li><p><strong>nofound_string</strong> (<em>str</em>) – optional custom string for not-found error message.</p></li>
<li><p><strong>multimatch_string</strong> (<em>str</em>) – optional custom string for multimatch error header.</p></li>
<li><p><strong>use_dbref</strong> (<em>bool</em><em> or </em><em>None</em><em>, </em><em>optional</em>) – If <strong>True</strong>, allow to enter e.g. a query “#123”
to find an object (globally) by its database-id 123. If <strong>False</strong>, the string “#123”
will be treated like a normal string. If <strong>None</strong> (default), the ability to query by
#dbref is turned on if <strong>self</strong> has the permission ‘Builder’ and is turned off
<ddclass="field-even"><p><em>Object, None or list</em>– Will return an <strong>Object</strong> or <strong>None</strong> if <strong>quiet=False</strong>. Will return
a <strong>list</strong> with 0, 1 or more matches if <strong>quiet=True</strong>. If <strong>stacked</strong> is a positive integer,
this list may contain all stacked identical matches.</p>
<codeclass="sig-name descname">search_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">searchdata</span></em>, <emclass="sig-param"><spanclass="n">quiet</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.search_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.search_account"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute_cmd</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">raw_string</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.execute_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Do something as this object. This is never called normally,
it’s only used when wanting specifically to let an object be
the caller of a command. It makes use of nicks of eventual
connected accounts as well.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>raw_string</strong> (<em>string</em>) – Raw command input</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – Session to
return results to</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>keyword arguments will be added to the found command</strong> (<em>Other</em>) –</p></li>
<li><p><strong>instace as variables before it executes. This is</strong> (<aclass="reference internal"href="evennia.scripts.models.html#evennia.scripts.models.ScriptDB.object"title="evennia.scripts.models.ScriptDB.object"><em>object</em></a>) –</p></li>
<li><p><strong>by default Evennia but may be used to set flags and</strong> (<em>unused</em>) –</p></li>
<li><p><strong>operating paramaters for commands at run-time.</strong> (<em>change</em>) –</p></li>
<codeclass="sig-name descname">msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">from_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">options</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.msg"title="Permalink to this definition">¶</a></dt>
<dd><p>Emits something to a session attached to the object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>str</em><em> or </em><em>tuple</em><em>, </em><em>optional</em>) – The message to send. This
is treated internally like any send-command, so its
value can be a tuple if sending multiple arguments to
the <strong>text</strong> oob command.</p></li>
<li><p><strong>from_obj</strong> (<em>obj</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – object that is sending. If
given, at_msg_send will be called. This value will be
passed on to the protocol. If iterable, will execute hook
on all entities in it.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em> or </em><em>list</em><em>, </em><em>optional</em>) – Session or list of
Sessions to relay data to, if any. If set, will force send
to these sessions. If unset, who receives the message
<codeclass="sig-name descname">for_contents</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">func</span></em>, <emclass="sig-param"><spanclass="n">exclude</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.for_contents"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.for_contents"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">clear_exits</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.clear_exits"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.clear_exits"title="Permalink to this definition">¶</a></dt>
<dd><p>Destroys all of the exits and any exits pointing to this
<codeclass="sig-name descname">clear_contents</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.clear_contents"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.clear_contents"title="Permalink to this definition">¶</a></dt>
<dd><p>Moves all objects (accounts/things) to their home location or
<emclass="property">classmethod </em><codeclass="sig-name descname">create</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.create"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.create"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">copy</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">new_key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.copy"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.copy"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_post_copy</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">new_obj</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_object_post_copy"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_object_post_copy"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">delete</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.delete"title="Permalink to this definition">¶</a></dt>
<dd><p>Deletes this object. Before deletion, this method makes sure
to move all contained objects to their respective home
locations, as well as clean up all exits to/from the object.</p>
<codeclass="sig-name descname">access</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">access_type</span><spanclass="o">=</span><spanclass="default_value">'read'</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">no_superuser_bypass</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.access"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.access"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_display_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Displays the name of the object in a viewer-aware manner.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>looker</strong> (<aclass="reference internal"href="evennia.typeclasses.models.html#evennia.typeclasses.models.TypedObject"title="evennia.typeclasses.models.TypedObject"><em>TypedObject</em></a>) – The object or account that is looking
at/getting inforamtion for this object. If not given, <strong>.name</strong> will be
returned, which can in turn be used to display colored data.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>str</em>–</p>
<dlclass="simple">
<dt>A name to display for this object. This can contain color codes and may</dt><dd><p>be customized based on <strong>looker</strong>. By default this contains the <strong>.key</strong> of the object,
followed by the DBREF if this user is privileged to control said object.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This function could be extended to change how object names appear to users in character,
but be wary. This function does not change an object’s keys or aliases when searching,
and is expected to produce something useful for builders.</p>
<codeclass="sig-name descname">get_numbered_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">count</span></em>, <emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_numbered_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_numbered_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the numbered (singular, plural) forms of this object’s key. This is by default called
by return_appearance and is used for grouping multiple same-named of this object. Note that
this will be called on <em>every</em> member of a group even though the plural name will be only
shown once. Also the singular display version, such as ‘an apple’, ‘a tree’ is determined
from this method.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>count</strong> (<em>int</em>) – Number of objects of this type</p></li>
<li><p><strong>looker</strong> (<em>Object</em>) – Onlooker. Not used by default.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>key</strong> (<em>str</em>) – Optional key to pluralize, if given, use this instead of the object’s key.</p>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>tuple</em>–</p>
<dlclass="simple">
<dt>This is a tuple <strong>(str, str)</strong> with the singular and plural forms of the key</dt><dd><p>including the count.</p>
<codeclass="sig-name descname">get_display_header</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_header"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_header"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘header’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The header display string.</p>
<codeclass="sig-name descname">get_display_desc</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_desc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_desc"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘desc’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The desc display string..</p>
<codeclass="sig-name descname">get_display_exits</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_exits"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_exits"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘exits’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The exits display data.</p>
<codeclass="sig-name descname">get_display_characters</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_characters"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_characters"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘characters’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The character display data.</p>
<codeclass="sig-name descname">get_display_things</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_things"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_things"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘things’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The things display data.</p>
<codeclass="sig-name descname">get_display_footer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_display_footer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_display_footer"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the ‘footer’ component of the object description. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The footer display string.</p>
<codeclass="sig-name descname">format_appearance</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">appearance</span></em>, <emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.format_appearance"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.format_appearance"title="Permalink to this definition">¶</a></dt>
<dd><p>Final processing of the entire appearance string. Called by <strong>return_appearance</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>appearance</strong> (<em>str</em>) – The compiled appearance string.</p></li>
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p></li>
<li><p><strong>**kwargs</strong>– Arbitrary data for use when overriding.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The final formatted output.</p>
<codeclass="sig-name descname">return_appearance</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.return_appearance"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.return_appearance"title="Permalink to this definition">¶</a></dt>
<dd><p>Main callback used by ‘look’ for the object to describe itself.
This formats a description. By default, this looks for the <strong>appearance_template</strong>
string set on this class and populates it with formatting keys</p>
<blockquote>
<div><p>‘name’, ‘desc’, ‘exits’, ‘characters’, ‘things’ as well as
(currently empty) ‘header’/’footer’. Each of these values are
retrieved by a matching method <strong>.get_display_*</strong>, such as <strong>get_display_name</strong>,
<strong>get_display_footer</strong> etc.</p>
</div></blockquote>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking. Passed into all helper methods.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call. This is passed into all helper methods.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>str</em>–</p>
<dlclass="simple">
<dt>The description of this entity. By default this includes</dt><dd><p>the entity’s name, description and any contents inside it.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>To simply change the layout of how the object displays itself (like
adding some line decorations or change colors of different sections),
you can simply edit <strong>.appearance_template</strong>. You only need to override
this method (and/or its helpers) if you want to change what is passed
into the template or want the most control over output.</p>
<codeclass="sig-name descname">at_first_save</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_first_save"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_first_save"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called by the typeclass system whenever an instance of
this class is saved for the first time. It is a generic hook
for calling the startup hooks for the various game entities.
When overloading you generally don’t overload this but
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>This sets up the default properties of an Object, just before
the more general at_object_creation.</p>
<p>You normally don’t need to change this unless you change some
fundamental things like names of permission groups.</p>
<codeclass="sig-name descname">basetype_posthook_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.basetype_posthook_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.basetype_posthook_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once, after basetype_setup and at_object_creation. This
should generally not be overloaded unless you are redefining
how a room/exit/object works. It allows for basetype-like
setup after the object is created. An example of this is
EXITs, who need to know keys, aliases, locks etc to set up
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_object_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once, when this object is first created. This is the
normal hook to overload for most object types.</p>
<codeclass="sig-name descname">at_object_delete</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_object_delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_object_delete"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_init</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_init"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_init"title="Permalink to this definition">¶</a></dt>
<dd><p>This is always called whenever this object is initiated –
that is, whenever it its typeclass is cached from memory. This
happens on-demand first time the object is used or activated
in some way after being created but also after each server
<codeclass="sig-name descname">at_cmdset_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_cmdset_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_cmdset_get"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before cmdsets on this object are requested by the
command handler. If changes need to be done on the fly to the
cmdset before passing them on to the cmdhandler, this is the
place to do it. This is called also if the object currently
have no cmdsets.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>caller</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>Object</em><em> or </em><em>Account</em>) – The caller requesting
<codeclass="sig-name descname">at_pre_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_puppet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_post_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_post_puppet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_unpuppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_unpuppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_unpuppet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_unpuppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_post_unpuppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_post_unpuppet"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just after the Account successfully disconnected from
this object, severing all connections.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>account</strong> (<em>Account</em>) – The account object that just disconnected
from this object.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – Session id controlling the connection that
just disconnected.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<codeclass="sig-name descname">at_server_reload</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_server_reload"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_server_reload"title="Permalink to this definition">¶</a></dt>
<dd><p>This hook is called whenever the server is shutting down for
restart/reboot. If you want to, for example, save non-persistent
properties across a restart, this is the place to do it.</p>
<codeclass="sig-name descname">at_server_shutdown</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_server_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_server_shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>This hook is called whenever the server is shutting down fully
<codeclass="sig-name descname">at_access</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">result</span></em>, <emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">access_type</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_access"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_access"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">leaving_object</span></em>, <emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_object_leave"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before this object is about lose an object that was
previously ‘inside’ it. Return False to abort move.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>leaving_object</strong> (<em>Object</em>) – The object that is about to leave.</p></li>
<li><p><strong>destination</strong> (<em>Object</em>) – Where object is going to.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If <strong>leaving_object</strong> should be allowed to leave or not.</p>
</dd>
</dl>
<dlclass="simple">
<dt>Notes: If this method returns False, None, the move is canceled before</dt><dd><p>it even started.</p>
<codeclass="sig-name descname">at_pre_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">arriving_object</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_object_receive"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before this object received another object. If this
method returns <strong>False</strong>, the move is aborted and the moved entity
remains where it was.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>arriving_object</strong> (<em>Object</em>) – The object moved into this one</p></li>
<li><p><strong>source_location</strong> (<em>Object</em>) – Where <strong>moved_object</strong> came from.
Note that this could be <strong>None</strong>.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If False, abort move and <strong>moved_obj</strong> remains where it was.</p>
</dd>
</dl>
<dlclass="simple">
<dt>Notes: If this method returns False, None, the move is canceled before</dt><dd><p>it even started.</p>
<codeclass="sig-name descname">at_before_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">announce_move_from</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="n">msg</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">mapping</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.announce_move_from"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.announce_move_from"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">announce_move_to</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">msg</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">mapping</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.announce_move_to"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.announce_move_to"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_post_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_post_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_after_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_after_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_obj</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_object_leave"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_obj</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_object_receive"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_traverse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_post_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_post_traverse"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just after an object successfully used this object to
traverse to another object (i.e. this object is a type of
Exit)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>traversing_object</strong> (<em>Object</em>) – The object traversing us.</p></li>
<li><p><strong>source_location</strong> (<em>Object</em>) – Where <strong>traversing_object</strong> came from.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The target location should normally be available as <strong>self.destination</strong>.</p>
<codeclass="sig-name descname">at_after_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_after_traverse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_failed_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_failed_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_failed_traverse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">from_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_msg_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_msg_receive"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_send</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">to_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_msg_send"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_msg_send"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_visible_contents</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_visible_contents"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_visible_contents"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all contents of this object that a looker can see (whatever that means, by default it
<codeclass="sig-name descname">get_content_names</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.get_content_names"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.get_content_names"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the proper names for all contents of this object. Helper method
for return_appearance.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em>) – The entity looking.</p></li>
<li><p><strong>**kwargs</strong> (<em>any</em>) – Passed from <strong>return_appearance</strong>. Passed into
<strong>get_display_name</strong> for each found entity.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>dict</em>–</p>
<dlclass="simple">
<dt>A dict of lists categorized by type. Byt default this</dt><dd><p>contains ‘exits’, ‘characters’ and ‘things’. The elements
of these lists are strings - names of the objects that
can depend on the looker and also be grouped in the case
of multiple same-named things etc.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This method shouldn’t add extra coloring to the names beyond what is
already given by the .get_display_name() (and the .name field) already.
Per-type coloring can be applied in <strong>return_apperance</strong>.</p>
<codeclass="sig-name descname">at_look</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">target</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_look"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_look"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_desc</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_desc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_desc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_get"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by the default <strong>get</strong> command before this object has been
picked up.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>getter</strong> (<em>Object</em>) – The object about to get this object.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>shouldget (bool)</em>– If the object should be gotten or not.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>If this method returns False/None, the getting is cancelled
<codeclass="sig-name descname">at_before_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_give</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">giver</span></em>, <emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_give"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_give"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by the default <strong>give</strong> command before this object has been
given.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>giver</strong> (<em>Object</em>) – The object about to give this object.</p></li>
<li><p><strong>getter</strong> (<em>Object</em>) – The object about to get this object.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>shouldgive (bool)</em>– If the object should be given or not.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>If this method returns False/None, the giving is cancelled
<codeclass="sig-name descname">at_before_give</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">giver</span></em>, <emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_give"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_give</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">giver</span></em>, <emclass="sig-param"><spanclass="n">getter</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_give"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_give"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_drop</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dropper</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_drop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_drop"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by the default <strong>drop</strong> command before this object has been
dropped.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>dropper</strong> (<em>Object</em>) – The object which will drop this object.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>shoulddrop (bool)</em>– If the object should be dropped or not.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>If this method returns False/None, the dropping is cancelled
<codeclass="sig-name descname">at_before_drop</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dropper</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_drop"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_drop</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dropper</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_drop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_drop"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_say</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_pre_say"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_pre_say"title="Permalink to this definition">¶</a></dt>
<dd><p>Before the object says something.</p>
<p>This hook is by default used by the ‘say’ and ‘whisper’
commands as used by this command it is called before the text
is said/whispered and can be used to customize the outgoing
text from the object. Returning <strong>None</strong> aborts the command.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>message</strong> (<em>str</em>) – The suggested say/whisper text spoken by self.</p>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>whisper</strong> (<em>bool</em>) – If True, this is a whisper rather than
a say. This is sent by the whisper command by default.
Other verbal commands could use this hook in similar
ways.</p></li>
<li><p><strong>receivers</strong> (<em>Object</em><em> or </em><em>iterable</em>) – If set, this is the target or targets for the
say/whisper.</p></li>
</ul>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>message (str)</em>– The (possibly modified) text to be spoken.</p>
<codeclass="sig-name descname">at_before_say</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_say"title="Permalink to this definition">¶</a></dt>
<dd><p>Display the actual say (or whisper) of self.</p>
<p>This hook should display the actual say/whisper of the object in its
location. It should both alert the object (self) and its
location that some text is spoken. The overriding of messages or
<strong>mapping</strong> allows for simple customization of the hook without
re-writing it completely.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>message</strong> (<em>str</em>) – The message to convey.</p></li>
<li><p><strong>msg_self</strong> (<em>bool</em><em> or </em><em>str</em><em>, </em><em>optional</em>) – If boolean True, echo <strong>message</strong> to self. If a string,
return that message. If False or unset, don’t echo to self.</p></li>
<li><p><strong>msg_location</strong> (<em>str</em><em>, </em><em>optional</em>) – The message to echo to self’s location.</p></li>
<li><p><strong>receivers</strong> (<em>Object</em><em> or </em><em>iterable</em><em>, </em><em>optional</em>) – An eventual receiver or receivers of the
message (by default only used by whispers).</p></li>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.objects.objects.DefaultObject'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultObject'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">DefaultCharacter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lockstring</code><emclass="property"> = 'puppet:id({character_id}) or pid({account_id}) or perm(Developer) or pperm(Developer);delete:id({account_id}) or perm(Admin);edit:pid({account_id}) or perm(Admin)'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.lockstring"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">create</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.create"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.create"title="Permalink to this definition">¶</a></dt>
<ddclass="field-odd"><p><em>tuple</em>–<strong>(new_character, errors)</strong>. On error, the <strong>new_character</strong> is <strong>None</strong> and
<strong>errors</strong> is a <strong>list</strong> of error strings (an empty list otherwise).</p>
<emclass="property">classmethod </em><codeclass="sig-name descname">normalize_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">name</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.normalize_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.normalize_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Normalize the character name prior to creating. Note that this should be refactored to
support i18n for non-latin scripts, but as we (currently) have no bug reports requesting
better support of non-latin character sets, requiring character names to be latinified is an
acceptable option.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>name</strong> (<em>str</em>) – The name of the character</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>latin_name (str)</em>– A valid name.</p>
<emclass="property">classmethod </em><codeclass="sig-name descname">validate_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">name</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.validate_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.validate_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Validate the character name prior to creating. Overload this function to add custom validators</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>name</strong> (<em>str</em>) – The name of the character</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>valid (bool)</em>– True if character creation should continue; False if it should fail</p>
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>Setup character-specific security.</p>
<p>You should normally not need to overload this, but if you do,
make sure to reproduce at least the two last commands in this
method (unless you want to fundamentally change how a
<codeclass="sig-name descname">at_post_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.at_post_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_post_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_after_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_after_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.at_pre_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_pre_puppet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.at_post_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_post_puppet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_unpuppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultCharacter.at_post_unpuppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_post_unpuppet"title="Permalink to this definition">¶</a></dt>
<dd><p>We stove away the character when the account goes ooc/logs off,
otherwise the character object will remain in the room also
after the account logged off (“headless”, so to say).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>account</strong> (<em>Account</em>) – The account object that just disconnected
from this object.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – Session controlling the connection that
just disconnected.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<emclass="property">property </em><codeclass="sig-name descname">idle_time</code><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.idle_time"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the idle time of the least idle session in seconds. If
<emclass="property">property </em><codeclass="sig-name descname">connection_time</code><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.connection_time"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the maximum connection time of all connected sessions
in seconds. Returns nothing if there are no sessions.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.objects.objects.DefaultCharacter'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultCharacter'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">DefaultRoom</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lockstring</code><emclass="property"> = 'control:id({id}) or perm(Admin); delete:id({id}) or perm(Admin); edit:id({id}) or perm(Admin)'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.lockstring"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">create</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultRoom.create"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.create"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultRoom.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>Simple room setup setting locks to make sure the room
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.objects.objects.DefaultRoom'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultRoom'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultRoom.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">ExitCommand</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ExitCommand"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ExitCommand"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">obj</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.obj"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ExitCommand.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.func"title="Permalink to this definition">¶</a></dt>
<dd><p>Default exit traverse if no syscommand is defined.</p>
<codeclass="sig-name descname">get_extra_info</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">caller</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#ExitCommand.get_extra_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.get_extra_info"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'command'</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'general', 'key': 'command', 'no_prefix': ' ', 'tags': '', 'text': '\n This is a command that simply cause the caller to traverse\n the object it is attached to.\n\n '}</em><aclass="headerlink"href="#evennia.objects.objects.ExitCommand.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.objects.objects.</code><codeclass="sig-name descname">DefaultExit</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">exit_command</code><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.exit_command"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="#evennia.objects.objects.ExitCommand"title="evennia.objects.objects.ExitCommand"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">ExitCommand</span></code></a></p>
<codeclass="sig-name descname">priority</code><emclass="property"> = 101</em><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.priority"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lockstring</code><emclass="property"> = 'control:id({id}) or perm(Admin); delete:id({id}) or perm(Admin); edit:id({id}) or perm(Admin)'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.lockstring"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">create_exit_cmdset</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">exidbobj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.create_exit_cmdset"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.create_exit_cmdset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>Setup exit-security</p>
<p>You should normally not need to overload this - if you do make
sure you include all the functionality in this method.</p>
<codeclass="sig-name descname">at_cmdset_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.at_cmdset_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.at_cmdset_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_init</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.at_init"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.at_init"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called when this objects is re-loaded from cache. When
that happens, we make sure to remove any old ExitCmdSet cmdset
(this most commonly occurs when renaming an existing exit)</p>
<codeclass="sig-name descname">at_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.at_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.at_traverse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_failed_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultExit.at_failed_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.at_failed_traverse"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.objects.objects.DefaultExit'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultExit'</em><aclass="headerlink"href="#evennia.objects.objects.DefaultExit.typename"title="Permalink to this definition">¶</a></dt>