<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>
<dd><p>Initializes the handler.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – The object on which the handler is defined.</p>
<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>
<dd><p>Get the sessions linked to this Object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>sessid</strong> (<em>int</em><em>, </em><em>optional</em>) – A specific session id.</p>
<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>
<dd><p>Add session to handler.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</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>
<dd><p>Remove session from handler.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</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>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.objects.objects.DefaultObject">
<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">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>
<dd><p>Returns the contents of this object, i.e. all
objects that has this object set as its location.
This should be publically available.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>exclude</strong> (<em>Object</em>) – Object to exclude from returned
contents list</p></li>
<li><p><strong>content_type</strong> (<em>str</em>) – A content_type to filter by. None for no
filtering.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>contents (list)</em>– List of contents of this Object.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Also available as the <strong>contents</strong> property, minus exclusion
<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
objects that has this object set as its location.
This should be publically available.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>exclude</strong> (<em>Object</em>) – Object to exclude from returned
contents list</p></li>
<li><p><strong>content_type</strong> (<em>str</em>) – A content_type to filter by. None for no
filtering.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>contents (list)</em>– List of contents of this Object.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Also available as the <strong>contents</strong> property, minus exclusion
<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>
<codeclass="sig-name descname">get_display_name</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_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
<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><em>singular (str)</em>– The singular form to display.
plural (str): The determined plural form of the key, including the count.</p>
<li><p><strong>use_nicks</strong> (<em>bool</em>) – Use nickname-replace (nicktype “object”) on <strong>searchdata</strong>.</p></li>
<li><p><strong>typeclass</strong> (<em>str</em><em> or </em><em>Typeclass</em><em>, or </em><em>list of either</em>) – Limit search only
to <strong>Objects</strong> with this typeclass. May be a list of typeclasses
for a broader search.</p></li>
<li><p><strong>location</strong> (<em>Object</em><em> or </em><em>list</em>) – Specify a location or multiple locations
to search. Note that this is used to query the <em>contents</em> of a
location and will not match for the location itself -
if you want that, don’t set this or use <strong>candidates</strong> to specify
exactly which objects should be searched.</p></li>
<li><p><strong>attribute_name</strong> (<em>str</em>) – Define which property to search. If set, no
key+alias search will be performed. This can be used
to search database fields (<ahref="#id1"><spanclass="problematic"id="id2">db_</span></a> will be automatically
prepended), and if that fails, it will try to return
objects having Attributes with this name and value
equal to searchdata. A special use is to search for
“key” here if you want to do a key-search without
including aliases.</p></li>
<li><p><strong>quiet</strong> (<em>bool</em>) – don’t display default error messages - this tells the
search method that the user wants to handle all errors
themselves. It also changes the return value type, see
below.</p></li>
<li><p><strong>exact</strong> (<em>bool</em>) – if unset (default) - prefers to match to beginning of
string rather than not matching at all. If set, requires
exact matching of entire string.</p></li>
<li><p><strong>candidates</strong> (<em>list of objects</em>) – this is an optional custom list of objects
to search (filter) between. It is ignored if <strong>global_search</strong>
is given. If not set, this list will automatically be defined
to include the location, the contents of location and the
caller’s contents (inventory).</p></li>
<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
otherwise.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>match (Object, None or list)</em>–</p>
<dlclass="simple">
<dt>will return an Object/None if <strong>quiet=False</strong>,</dt><dd><p>otherwise it will return a list of 0, 1 or more matches.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>To find Accounts, use eg. <strong>evennia.account_search</strong>. If
<strong>quiet=False</strong>, error messages will be handled by
<strong>settings.SEARCH_AT_RESULT</strong> and echoed automatically (on
error, return will be <strong>None</strong>). If <strong>quiet=True</strong>, the error
messaging is assumed to be handled by the caller.</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>
<dd><p>Simple shortcut wrapper to search for accounts, not characters.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>searchdata</strong> (<em>str</em>) – Search criterion - the key or dbref of the account
to search for. If this is “here” or “me”, search
for the account connected to this object.</p></li>
<li><p><strong>quiet</strong> (<em>bool</em>) – Returns the results as a list rather than
echo eventual standard error messages. Default <strong>False</strong>.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>result (Account, None or list)</em>–</p>
<dlclass="simple">
<dt>Just what is returned depends on</dt><dd><dlclass="simple">
<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>
<dd><p>Runs a function on every object contained within this one.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>func</strong> (<em>callable</em>) – Function to call. This must have the
formal call sign func(obj, <strong>kwargs), where obj is the
object currently being processed and ****kwargs</strong> are
passed on from the call to <strong>for_contents</strong>.</p></li>
<li><p><strong>exclude</strong> (<em>list</em><em>, </em><em>optional</em>) – A list of object not to call the
function on.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>arguments will be passed to the function for all objects.</strong> (<em>Keyword</em>) –</p>
<codeclass="sig-name descname">msg_contents</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">exclude</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">mapping</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_contents"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.msg_contents"title="Permalink to this definition">¶</a></dt>
<dd><p>Emits a message to all objects inside this 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>) – Message to send. If a tuple, this should be
on the valid OOB outmessage form <strong>(message, {kwargs})</strong>,
where kwargs are optional data passed to the <strong>text</strong>
outputfunc.</p></li>
<li><p><strong>exclude</strong> (<em>list</em><em>, </em><em>optional</em>) – A list of objects not to send to.</p></li>
<li><p><strong>from_obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – An object designated as the
“sender” of the message. See <strong>DefaultObject.msg()</strong> for
more info.</p></li>
<li><p><strong>mapping</strong> (<em>dict</em><em>, </em><em>optional</em>) – A mapping of formatting keys
<strong>{“key”:<object>, “key2”:<object2>,…}. The keys
must match **{key}</strong> markers in the <strong>text</strong> if this is a string or
in the internal <strong>message</strong> if <strong>text</strong> is a tuple. These
formatting statements will be
replaced by the return of <strong><object>.get_display_name(looker)</strong>
for every looker in contents that receives the
message. This allows for every object to potentially
get its own customized string.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>arguments will be passed on to obj.msg</strong><strong>(</strong><strong>) </strong><strong>for all</strong> (<em>Keyword</em>) –</p></li>
<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>
<dd><p>Creates a basic object with default parameters, unless otherwise
specified or extended.</p>
<p>Provides a friendlier interface to the utils.create_object() function.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>key</strong> (<em>str</em>) – Name of the new object.</p></li>
<li><p><strong>account</strong> (<em>Account</em>) – Account to attribute this object to.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>description</strong> (<em>str</em>) – Brief description for this object.</p></li>
<li><p><strong>ip</strong> (<em>str</em>) – IP address of creator (for object auditing).</p></li>
</ul>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>object (Object)</em>– A newly created object of the given typeclass.
errors (list): A list of errors in string form, if any.</p>
<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>
<dd><p>Makes an identical copy of this object, identical except for a
new dbref in the database. If you want to customize the copy
by changing some settings, use ObjectDB.object.copy_object()
directly.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>new_key</strong> (<em>string</em>) – New key/name of copied object. If new_key is not
specified, the copy will be named <old_key>_copy by default.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>copy (Object)</em>– A copy of this object.</p>
<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>
<dd><p>Called by DefaultObject.copy(). Meant to be overloaded. In case there’s extra data not covered by
.copy(), this can be used to deal with it.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>new_obj</strong> (<em>Object</em>) – The new Copy of this object.</p>
<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>
<dd><p>Determines if another object has permission to access this object
in whatever way.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>accessing_obj</strong> (<em>Object</em>) – Object trying to access this one.</p></li>
<li><p><strong>access_type</strong> (<em>str</em><em>, </em><em>optional</em>) – Type of access sought.</p></li>
<li><p><strong>default</strong> (<em>bool</em><em>, </em><em>optional</em>) – What to return if no lock of access_type was found.</p></li>
<li><p><strong>no_superuser_bypass</strong> (<em>bool</em><em>, </em><em>optional</em>) – If <strong>True</strong>, don’t skip
lock check for superuser (be careful with this one).</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>on to the at_access hook along with the result of the access check.</strong> (<em>Passed</em>) –</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>
<dd><p>Called just before the database object is permanently
delete()d from the database. If this method returns False,
<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>
<dd><p>Called just before an Account connects to this object to puppet
it.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>account</strong> (<em>Account</em>) – This is the connecting account.</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.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<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>
<dd><p>Called just after puppeting has been completed and all
Account<->Object links have been established.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p>
</dd>
</dl>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>You can use <strong>self.account</strong> and <strong>self.sessions.get()</strong> to get
account and sessions at this point; the last entry in the
list from <strong>self.sessions.get()</strong> is the latest Session
<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>
<dd><p>Called just before beginning to un-connect a puppeting from
this Account.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p>
</dd>
</dl>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>You can use <strong>self.account</strong> and <strong>self.sessions.get()</strong> to get
account and sessions at this point; the last entry in the
list from <strong>self.sessions.get()</strong> is the latest Session
<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>
<dd><p>This is called with the result of an access call, along with
any kwargs used for that call. The return of this method does
not affect the result of the lock check. It can be used e.g. to
customize error messages in a central location or other effects
based on the access result.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>result</strong> (<em>bool</em>) – The outcome of the access call.</p></li>
<li><p><strong>accessing_obj</strong> (<em>Object</em><em> or </em><em>Account</em>) – The entity trying to gain access.</p></li>
<li><p><strong>access_type</strong> (<em>str</em>) – The type of access that was requested.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>used by default</strong><strong>, </strong><strong>added for possible expandability in a</strong> (<em>Not</em>) –</p></li>
<codeclass="sig-name descname">at_before_move</code><spanclass="sig-paren">(</span><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_before_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_move"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before starting to move this object to
destination.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>destination</strong> (<em>Object</em>) – The object we are moving 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>shouldmove (bool)</em>– If we should move or not.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>If this method returns False/None, the move is cancelled
<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="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>
<dd><p>Called if the move is to be announced. This is
called while we are still standing in the old
location.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>destination</strong> (<em>Object</em>) – The place we are going to.</p></li>
<li><p><strong>msg</strong> (<em>str</em><em>, </em><em>optional</em>) – a replacement message.</p></li>
<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="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>
<dd><p>Called after the move if the move was not quiet. At this point
we are standing in the new location.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>source_location</strong> (<em>Object</em>) – The place we came from</p></li>
<li><p><strong>msg</strong> (<em>str</em><em>, </em><em>optional</em>) – the replacement message if location.</p></li>
<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="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_after_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_after_move"title="Permalink to this definition">¶</a></dt>
<dd><p>Called after move has completed, regardless of quiet mode or
not. Allows changes to the object due to the location it is
now in.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>source_location</strong> (<em>Object</em>) – Wwhere we came from. This may be <strong>None</strong>.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<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="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>
<dd><p>Called just before an object leaves from inside this object</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_obj</strong> (<em>Object</em>) – The object leaving</p></li>
<li><p><strong>target_location</strong> (<em>Object</em>) – Where <strong>moved_obj</strong> is going.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<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="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>
<dd><p>Called after an object has been moved into this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_obj</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
<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>
<dd><p>This hook is responsible for handling the actual traversal,
normally by calling
<strong>traversing_object.move_to(target_location)</strong>. It is normally
only implemented by Exit objects. If it returns False (usually
because <strong>move_to</strong> returned False), <strong>at_after_traverse</strong> below
should not be called and instead <strong>at_failed_traverse</strong> should be
<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="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_after_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_after_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_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>
<dd><p>This is called if an object fails to traverse this object for
some reason.</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 that failed traversing us.</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>Using the default exits, this hook will not be called if an
Attribute <strong>err_traverse</strong> is defined - this will in that case be
<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>
<dd><p>This hook is called whenever someone sends a message to this
object using the <strong>msg</strong> method.</p>
<p>Note that from_obj may be None if the sender did not include
itself as an argument to the obj.msg() call - so you have to
check for this. .</p>
<p>Consider this a pre-processing method before msg is passed on
to the user session. If this method returns False, the msg
will not be passed on.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) – The message received.</p></li>
<li><p><strong>from_obj</strong> (<em>any</em><em>, </em><em>optional</em>) – The object sending the message.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>includes any keywords sent to the msg method.</strong> (<em>This</em>) –</p>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>receive (bool)</em>– If this message should be received.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>If this method returns False, the <strong>msg</strong> operation
<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>
<dd><p>This is a hook that is called when <em>this</em> object sends a
message to another object with <strong>obj.msg(text, to_obj=obj)</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) – Text to send.</p></li>
<li><p><strong>to_obj</strong> (<em>any</em><em>, </em><em>optional</em>) – The object to send to.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>passed from msg</strong><strong>(</strong><strong>)</strong> (<em>Keywords</em>) –</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Since this method is executed by <strong>from_obj</strong>, if no <strong>from_obj</strong>
was passed to <strong>DefaultCharacter.msg</strong> this hook will never
<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>This formats a description. It is the hook a ‘look’ command
should call.</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> (<em>dict</em>) – Arbitrary, optional arguments for users
<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>
<dd><p>Called when this object performs a look. It allows to
customize just what this means. It will not itself
send any data.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>target</strong> (<em>Object</em>) – The target being looked at. This is
commonly an object or the current location. It will
be checked for the “view” type access.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call. This will be passed into
return_appearance, get_display_name and at_desc but is not used
<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>
<dd><p>This is called whenever someone looks at this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Object</em><em>, </em><em>optional</em>) – The object requesting the description.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<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="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_before_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_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_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>
<dd><p>Called by the default <strong>get</strong> command when 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 getting 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>
</dl>
<pclass="rubric">Notes</p>
<p>This hook cannot stop the pickup from happening. Use
permissions or the at_before_get() hook for that.</p>
<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="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_before_give"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_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_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>
<dd><p>Called by the default <strong>give</strong> command when 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 giving this object.</p></li>
<li><p><strong>getter</strong> (<em>Object</em>) – The object getting 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>
</dl>
<pclass="rubric">Notes</p>
<p>This hook cannot stop the give from happening. Use
permissions or the at_before_give() hook for that.</p>
<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="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_before_drop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_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_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>
<dd><p>Called by the default <strong>drop</strong> command when 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 just dropped 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>
</dl>
<pclass="rubric">Notes</p>
<p>This hook cannot stop the drop from happening. Use
permissions or the at_before_drop() hook for that.</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="reference internal"href="../_modules/evennia/objects/objects.html#DefaultObject.at_before_say"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_before_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_say</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">msg_self</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">msg_location</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">receivers</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">msg_receivers</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_say"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultObject.at_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>
<li><p><strong>msg_receivers</strong> (<em>str</em>) – Specific message to pass to the receiver(s). This will parsed
with the {receiver} placeholder replaced with the given receiver.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>whisper</strong> (<em>bool</em>) – If this is a whisper rather than a say. Kwargs
can be used by other verbal commands in a similar way.</p></li>
<li><p><strong>mapping</strong> (<em>dict</em>) – Pass an additional mapping to the message.</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Messages can contain {} markers. These are substituted against the values
passed in the <strong>mapping</strong> argument.</p>
<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>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.objects.objects.DefaultCharacter">
<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)'</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>
<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_after_move</code><spanclass="sig-paren">(</span><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#DefaultCharacter.at_after_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.objects.objects.DefaultCharacter.at_after_move"title="Permalink to this definition">¶</a></dt>
<dd><p>We make sure to look around after a move.</p>
<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>
<dd><p>Return the character from storage in None location in <strong>at_post_unpuppet</strong>.
:param account: This is the connecting account.
:type account: Account
:param session: Session controlling the connection.
<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>
<dd><p>Called just after puppeting has been completed and all
Account<->Object links have been established.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p>
</dd>
</dl>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>You can use <strong>self.account</strong> and <strong>self.sessions.get()</strong> to get
account and sessions at this point; the last entry in the
list from <strong>self.sessions.get()</strong> is the latest Session
<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>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.objects.objects.DefaultRoom">
<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>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.objects.objects.ExitCommand">
<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>
<p>This is a command that simply cause the caller to traverse
the object it is attached to.</p>
<dlclass="py attribute">
<dtid="evennia.objects.objects.ExitCommand.obj">
<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>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.objects.objects.ExitCommand.func">
<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>
<dd><p>Shows a bit of information on where the exit leads.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>caller</strong> (<em>Object</em>) – The object (usually a character) that entered an ambiguous command.</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>A string with identifying information to disambiguate the command, conventionally with a preceding space.</p>
<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>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.objects.objects.ExitCommand.key">
<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', '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>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.objects.objects.DefaultExit">
<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>
<dd><p>Helper function for creating an exit command set + command.</p>
<p>The command of this cmdset has the same name as the Exit
object and allows the exit to react when the account enter the
exit’s name, triggering the movement between rooms.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>exidbobj</strong> (<em>Object</em>) – The DefaultExit object to base the command on.</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#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>
<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
has no cmdsets.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>force_init</strong> (<em>bool</em>) – If <strong>True</strong>, force a re-build of the cmdset
<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>
<dd><p>This implements the actual traversal. The traverse lock has
already been checked (in the Exit command) at this point.</p>
<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>
<dd><p>Overloads the default hook to implement a simple default error message.</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 that failed traversing us.</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>Using the default exits, this hook will not be called if an
Attribute <strong>err_traverse</strong> is defined - this will in that case be
<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>