<spanid="evennia-contrib-rpsystem"></span><h1>evennia.contrib.rpsystem<aclass="headerlink"href="#module-evennia.contrib.rpsystem"title="Permalink to this headline">¶</a></h1>
<p>Roleplaying base system for Evennia</p>
<p>Contribution - Griatch, 2015</p>
<p>This module contains the ContribRPObject, ContribRPRoom and
ContribRPCharacter typeclasses. If you inherit your
objects/rooms/character from these (or make them the defaults) from
these you will get the following features:</p>
<blockquote>
<div><ulclass="simple">
<li><p>Objects/Rooms will get the ability to have poses and will report</p></li>
</ul>
<p>the poses of items inside them (the latter most useful for Rooms).
- Characters will get poses and also sdescs (short descriptions)
that will be used instead of their keys. They will gain commands
for managing recognition (custom sdesc-replacement), masking
themselves as well as an advanced free-form emote command.</p>
</div></blockquote>
<p>To use, simply import the typclasses you want from this module and use
them to create your objects, or set them to default.</p>
<p>In more detail, This RP base system introduces the following features
to a game, common to many RP-centric games:</p>
<blockquote>
<div><ulclass="simple">
<li><dlclass="simple">
<dt>emote system using director stance emoting (names/sdescs).</dt><dd><p>This uses a customizable replacement noun (/me, @ etc) to
represent you in the emote. You can use /sdesc, /nick, /key or
/alias to reference objects in the room. You can use any
number of sdesc sub-parts to differentiate a local sdesc, or
use /1-sdesc etc to differentiate them. The emote also
identifies nested says.</p>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>sdesc obscuration of real character names for use in emotes</dt><dd><p>and in any referencing such as object.search(). This relies
on an SdescHandler <strong>sdesc</strong> being set on the Character and
makes use of a custom Character.get_display_name hook. If
sdesc is not set, the character’s <strong>key</strong> is used instead. This
is particularly used in the emoting system.</p>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>recog system to assign your own nicknames to characters, can then</dt><dd><p>be used for referencing. The user may recog a user and assign
any personal nick to them. This will be shown in descriptions
and used to reference them. This is making use of the nick
functionality of Evennia.</p>
</dd>
</dl>
</li>
<li><p>masks to hide your identity (using a simple lock).</p></li>
<li><dlclass="simple">
<dt>pose system to set room-persistent poses, visible in room</dt><dd><p>descriptions and when looking at the person/object. This is a
simple Attribute that modifies how the characters is viewed when
in a room as sdesc + pose.</p>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>in-emote says, including seamless integration with language</dt><dd><p>obscuration routine (such as contrib/rplanguage.py)</p>
</dd>
</dl>
</li>
</ul>
</div></blockquote>
<p>Examples:</p>
<p>> look
Tavern
The tavern is full of nice people</p>
<p><em>A tall man</em> is standing by the bar.</p>
<p>Above is an example of a player with an sdesc “a tall man”. It is also
an example of a static <em>pose</em>: The “standing by the bar” has been set
by the player of the tall man, so that people looking at him can tell
at a glance what is going on.</p>
<p>> emote /me looks at /tall and says “Hello!”</p>
<dlclass="simple">
<dt>I see:</dt><dd><p>Griatch looks at Tall man and says “Hello”.</p>
</dd>
<dt>Tall man (assuming his name is Tom) sees:</dt><dd><p>The godlike figure looks at Tom and says “Hello”.</p>
</dd>
</dl>
<p>Verbose Installation Instructions:</p>
<blockquote>
<div><olclass="arabic">
<li><p>In typeclasses/character.py:
Import the <strong>ContribRPCharacter</strong> class:</p>
<dt>If you have any overriden calls in <strong>at_object_creation(self)</strong>:</dt><dd><p>Add <strong>super().at_object_creation()</strong> as the top line.</p>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>In <strong>typeclasses/rooms.py</strong>:</dt><dd><p>Import the <strong>ContribRPRoom</strong> class:
<li><p>Reload the server (@reload or from console: “evennia reload”)</p></li>
<li><dlclass="simple">
<dt>Force typeclass updates as required. Example for your character:</dt><dd><p>@type/reset/force me = typeclasses.characters.Character</p>
</dd>
</dl>
</li>
</ol>
</div></blockquote>
<dlclass="py exception">
<dtid="evennia.contrib.rpsystem.EmoteError">
<emclass="property">exception </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">EmoteError</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#EmoteError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.EmoteError"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">SdescError</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#SdescError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescError"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">RecogError</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogError"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">LanguageError</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#LanguageError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.LanguageError"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">ordered_permutation_regex</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sentence</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ordered_permutation_regex"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ordered_permutation_regex"title="Permalink to this definition">¶</a></dt>
<dd><p>Builds a regex that matches ‘ordered permutations’ of a sentence’s
words.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>sentence</strong> (<em>str</em>) – The sentence to build a match pattern to</p>
<codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">regex_tuple_from_key_alias</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#regex_tuple_from_key_alias"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.regex_tuple_from_key_alias"title="Permalink to this definition">¶</a></dt>
<dd><p>This will build a regex tuple for any object, not just from those
with sdesc/recog handlers. It’s used as a legacy mechanism for
being able to mix this contrib with objects not using sdescs, but
note that creating the ordered permutation regex dynamically for
every object will add computational overhead.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – This object’s key and eventual aliases will
<codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">parse_language</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">speaker</span></em>, <emclass="sig-param"><spanclass="n">emote</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#parse_language"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.parse_language"title="Permalink to this definition">¶</a></dt>
<dd><p>Parse the emote for language. This is
used with a plugin for handling languages.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>speaker</strong> (<em>Object</em>) – The object speaking.</p></li>
<li><p><strong>emote</strong> (<em>str</em>) – An emote possibly containing
<dt>A tuple where the</dt><dd><p><strong>emote</strong> is the emote string with all says
(including quotes) replaced with reference
markers on the form {##n} where n is a running
number. The <strong>mapping</strong> is a dictionary between
the markers and a tuple (langname, saytext), where
langname can be None.</p>
</dd>
</dl>
</p>
</dd>
<dtclass="field-odd">Raises</dt>
<ddclass="field-odd"><p><aclass="reference internal"href="evennia.contrib.rplanguage.html#evennia.contrib.rplanguage.LanguageError"title="evennia.contrib.rplanguage.LanguageError"><strong>rplanguage.LanguageError</strong></a>– If an invalid language was specified.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Note that no errors are raised if the wrong language identifier
is given.
This data, together with the identity of the speaker, is
intended to be used by the “listener” later, since with this
information the language skill of the speaker can be offset to
the language skill of the listener to determine how much
<codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">parse_sdescs_and_recogs</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sender</span></em>, <emclass="sig-param"><spanclass="n">candidates</span></em>, <emclass="sig-param"><spanclass="n">string</span></em>, <emclass="sig-param"><spanclass="n">search_mode</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#parse_sdescs_and_recogs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.parse_sdescs_and_recogs"title="Permalink to this definition">¶</a></dt>
<dd><p>Read a raw emote and parse it into an intermediary
format for distributing to all observers.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>sender</strong> (<em>Object</em>) – The object sending the emote. This object’s
recog data will be considered in the parsing.</p></li>
<li><p><strong>candidates</strong> (<em>iterable</em>) – A list of objects valid for referencing
in the emote.</p></li>
</ul>
</dd>
</dl>
<p>string (str): The string (like an emote) we want to analyze for keywords.
search_mode (bool, optional): If <strong>True</strong>, the “emote” is a query string</p>
<blockquote>
<div><p>we want to analyze. If so, the return value is changed.</p>
<dt>If <strong>search_mode</strong> is <strong>False</strong></dt><dd><p>(default), a tuple where the emote is the emote string, with
all references replaced with internal-representation {#dbref}
markers and mapping is a dictionary <strong>{“#dbref”:obj, …}</strong>.</p>
</dd>
<dt>result (list): If <strong>search_mode</strong> is <strong>True</strong> we are</dt><dd><p>performing a search query on <strong>string</strong>, looking for a specific
object. A list with zero, one or more matches.</p>
</dd>
</dl>
</p>
</dd>
<dtclass="field-even">Raises</dt>
<ddclass="field-even"><p><strong>EmoteException</strong>– For various ref-matching errors.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The parser analyzes and should understand the following
_PREFIX-tagged structures in the emote:
- self-reference (/me)
- recogs (any part of it) stored on emoter, matching obj in <strong>candidates</strong>.
- sdesc (any part of it) from any obj in <strong>candidates</strong>.
<codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">send_emote</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sender</span></em>, <emclass="sig-param"><spanclass="n">receivers</span></em>, <emclass="sig-param"><spanclass="n">emote</span></em>, <emclass="sig-param"><spanclass="n">anonymous_add</span><spanclass="o">=</span><spanclass="default_value">'first'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#send_emote"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.send_emote"title="Permalink to this definition">¶</a></dt>
<dd><p>Main access function for distribute an emote.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>sender</strong> (<em>Object</em>) – The one sending the emote.</p></li>
<li><p><strong>receivers</strong> (<em>iterable</em>) – Receivers of the emote. These
will also form the basis for which sdescs are
‘valid’ to use in the emote.</p></li>
<li><p><strong>emote</strong> (<em>str</em>) – The raw emote string as input by emoter.</p></li>
<li><p><strong>anonymous_add</strong> (<em>str</em><em> or </em><em>None</em><em>, </em><em>optional</em>) – If <strong>sender</strong> is not
self-referencing in the emote, this will auto-add
<strong>sender</strong>’s data to the emote. Possible values are
- None: No auto-add at anonymous emote
- ‘last’: Add sender to the end of emote as [sender]
- ‘first’: Prepend sender to start of emote.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.SdescHandler">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">SdescHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#SdescHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescHandler"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/contrib/rpsystem.html#SdescHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescHandler.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize the handler</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – The entity on which this handler is stored.</p>
<codeclass="sig-name descname">add</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sdesc</span></em>, <emclass="sig-param"><spanclass="n">max_length</span><spanclass="o">=</span><spanclass="default_value">60</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#SdescHandler.add"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescHandler.add"title="Permalink to this definition">¶</a></dt>
<dd><p>Add a new sdesc to object, replacing the old one.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>sdesc</strong> (<em>str</em>) – The sdesc to set. This may be stripped
of control sequences before setting.</p></li>
<li><p><strong>max_length</strong> (<em>int</em><em>, </em><em>optional</em>) – The max limit of the sdesc.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>sdesc (str)</em>– The actually set sdesc.</p>
</dd>
<dtclass="field-odd">Raises</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><aclass="reference internal"href="#evennia.contrib.rpsystem.SdescError"title="evennia.contrib.rpsystem.SdescError"><strong>SdescError</strong></a>– If the sdesc is empty, can not be set or is</p></li>
<li><p><strong>longer than max_length.</strong>–</p></li>
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#SdescHandler.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescHandler.get"title="Permalink to this definition">¶</a></dt>
<dd><p>Simple getter. The sdesc should never be allowed to
be empty, but if it is we must fall back to the key.</p>
<codeclass="sig-name descname">get_regex_tuple</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#SdescHandler.get_regex_tuple"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.SdescHandler.get_regex_tuple"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">RecogHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler"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/contrib/rpsystem.html#RecogHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize the handler</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – The entity on which this handler is stored.</p>
<codeclass="sig-name descname">add</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">recog</span></em>, <emclass="sig-param"><spanclass="n">max_length</span><spanclass="o">=</span><spanclass="default_value">60</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler.add"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.add"title="Permalink to this definition">¶</a></dt>
<dd><p>Assign a custom recog (nick) to the given object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>obj</strong> (<em>Object</em>) – The object ot associate with the recog
string. This is usually determined from the sdesc in the
room by a call to parse_sdescs_and_recogs, but can also be
given.</p></li>
<li><p><strong>recog</strong> (<em>str</em>) – The replacement string to use with this object.</p></li>
<li><p><strong>max_length</strong> (<em>int</em><em>, </em><em>optional</em>) – The max length of the recog string.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>recog (str)</em>– The (possibly cleaned up) recog string actually set.</p>
</dd>
<dtclass="field-odd">Raises</dt>
<ddclass="field-odd"><p><aclass="reference internal"href="#evennia.contrib.rpsystem.SdescError"title="evennia.contrib.rpsystem.SdescError"><strong>SdescError</strong></a>– When recog could not be set or sdesc longer
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.get"title="Permalink to this definition">¶</a></dt>
<dd><p>Get recog replacement string, if one exists, otherwise
get sdesc and as a last resort, the object’s key.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – The object, whose sdesc to replace</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>recog (str)</em>– The replacement string to use.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This method will respect a “enable_recog” lock set on
<strong>obj</strong> (True by default) in order to turn off recog
mechanism. This is useful for adding masks/hoods etc.</p>
<codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler.all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.all"title="Permalink to this definition">¶</a></dt>
<dd><p>Get a mapping of the recogs stored in handler.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>recogs (dict)</em>– A mapping of {recog: obj} stored in handler.</p>
<codeclass="sig-name descname">remove</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler.remove"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.remove"title="Permalink to this definition">¶</a></dt>
<dd><p>Clear recog for a given object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – The object for which to remove recog.</p>
<codeclass="sig-name descname">get_regex_tuple</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RecogHandler.get_regex_tuple"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RecogHandler.get_regex_tuple"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">RPCommand</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/contrib/rpsystem.html#RPCommand"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">parse</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RPCommand.parse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand.parse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand.help_category"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.RPCommand.key">
<codeclass="sig-name descname">key</code><emclass="property"> = 'command'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.RPCommand.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdEmote">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdEmote</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/contrib/rpsystem.html#CmdEmote"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote"title="Permalink to this definition">¶</a></dt>
<p>Emote an action, allowing dynamic replacement of
text in the emote.</p>
<dlclass="simple">
<dt>Usage:</dt><dd><p>emote text</p>
</dd>
</dl>
<pclass="rubric">Example</p>
<p>emote /me looks around.
emote With a flurry /me attacks /tall man with his sword.
emote “Hello”, /me says.</p>
<p>Describes an event in the world. This allows the use of /ref
markers to replace with the short descriptions or recognized
strings of objects in the same room. These will be translated to
emotes to match each person seeing it. Use “…” for saying
things and langcode”…” without spaces to say something in
a different language.</p>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdEmote.key">
<codeclass="sig-name descname">key</code><emclass="property"> = 'emote'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = [':']</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.aliases"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdEmote.locks">
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.locks"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdEmote.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdEmote.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdEmote.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdSay">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdSay</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/contrib/rpsystem.html#CmdSay"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'say'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['"', "'"]</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.locks"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdSay.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdSay.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSay.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdSdesc">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdSdesc</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/contrib/rpsystem.html#CmdSdesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'sdesc'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.key"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdSdesc.locks">
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.locks"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdSdesc.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdSdesc.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdSdesc.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdPose">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdPose</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/contrib/rpsystem.html#CmdPose"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose"title="Permalink to this definition">¶</a></dt>
<p>Set a static pose. This is the end of a full sentence that starts
with your sdesc. If no full stop is given, it will be added
automatically. The default pose is the pose you get when using
pose reset. Note that you can use sdescs/recogs to reference
people in your pose, but these always appear as that person’s
sdesc in the emote, regardless of who is seeing it.</p>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdPose.key">
<codeclass="sig-name descname">key</code><emclass="property"> = 'pose'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.key"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdPose.parse">
<codeclass="sig-name descname">parse</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdPose.parse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.parse"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the “default” alternative to the pose.</p>
</dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdPose.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdPose.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.func"title="Permalink to this definition">¶</a></dt>
<dd><p>Create the pose</p>
</dd></dl>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdPose.aliases">
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdPose.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdRecog">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdRecog</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/contrib/rpsystem.html#CmdRecog"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog"title="Permalink to this definition">¶</a></dt>
<p>This will assign a personal alias for a person, or forget said alias.
Using the command without arguments will list all current recogs.</p>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdRecog.key">
<codeclass="sig-name descname">key</code><emclass="property"> = 'recog'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['recognize', 'forget']</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">parse</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdRecog.parse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.parse"title="Permalink to this definition">¶</a></dt>
<dd><p>Parse for the sdesc as alias structure</p>
</dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdRecog.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdRecog.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdRecog.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.CmdMask">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">CmdMask</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/contrib/rpsystem.html#CmdMask"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask"title="Permalink to this definition">¶</a></dt>
<p>This will put on a mask to hide your identity. When wearing
a mask, your sdesc will be replaced by the sdesc you pick and
people’s recognitions of you will be disabled.</p>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdMask.key">
<codeclass="sig-name descname">key</code><emclass="property"> = 'mask'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask.key"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.contrib.rpsystem.CmdMask.aliases">
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['unmask']</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask.aliases"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py method">
<dtid="evennia.contrib.rpsystem.CmdMask.func">
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#CmdMask.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask.func"title="Permalink to this definition">¶</a></dt>
<dd><p>This is the actual executing part of the command. It is
called directly after self.parse(). See the docstring of this
module for which object properties are available (beyond those
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.CmdMask.lock_storage"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.RPSystemCmdSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">RPSystemCmdSet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">cmdsetobj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RPSystemCmdSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RPSystemCmdSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_cmdset_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#RPSystemCmdSet.at_cmdset_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.RPSystemCmdSet.at_cmdset_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook method - this should be overloaded in the inheriting
class, and should take care of populating the cmdset by use of
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.rpsystem.RPSystemCmdSet'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.RPSystemCmdSet.path"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.ContribRPObject">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">ContribRPObject</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/contrib/rpsystem.html#ContribRPObject"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPObject.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.at_object_creation"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_display_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPObject.get_display_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.get_display_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Displays the name of the object in a viewer-aware manner.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>looker</strong> (<aclass="reference internal"href="evennia.typeclasses.models.html#evennia.typeclasses.models.TypedObject"title="evennia.typeclasses.models.TypedObject"><em>TypedObject</em></a>) – The object or account that is looking
at/getting inforamtion for this object.</p>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>pose</strong> (<em>bool</em>) – Include the pose (if available) in the return.</p>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>name (str)</em>– A string of the sdesc containing the name of the object,
if this is defined.</p>
<blockquote>
<div><p>including the DBREF if this user is privileged to control
said object.</p>
</div></blockquote>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The RPObject version doesn’t add color to its display.</p>
<codeclass="sig-name descname">return_appearance</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPObject.return_appearance"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.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"><p><strong>looker</strong> (<em>Object</em>) – Object doing the looking.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.rpsystem.ContribRPObject'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'ContribRPObject'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPObject.typename"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.contrib.rpsystem.ContribRPRoom">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">ContribRPRoom</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/contrib/rpsystem.html#ContribRPRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPRoom"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.rpsystem.ContribRPRoom'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'ContribRPRoom'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPRoom.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.rpsystem.</code><codeclass="sig-name descname">ContribRPCharacter</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/contrib/rpsystem.html#ContribRPCharacter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sdesc</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.sdesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.sdesc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">recog</code><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.recog"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.recog"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_display_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.get_display_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.get_display_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Displays the name of the object in a viewer-aware manner.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>looker</strong> (<aclass="reference internal"href="evennia.typeclasses.models.html#evennia.typeclasses.models.TypedObject"title="evennia.typeclasses.models.TypedObject"><em>TypedObject</em></a>) – The object or account that is looking
at/getting inforamtion for this object.</p>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>pose</strong> (<em>bool</em>) – Include the pose (if available) in the return.</p>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>name (str)</em>– A string of the sdesc containing the name of the object,
if this is defined.</p>
<blockquote>
<div><p>including the DBREF if this user is privileged to control
said object.</p>
</div></blockquote>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The RPCharacter version of this method colors its display to make
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.at_object_creation"title="Permalink to this definition">¶</a></dt>
<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/contrib/rpsystem.html#ContribRPCharacter.at_before_say"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.at_before_say"title="Permalink to this definition">¶</a></dt>
<dd><p>Called before the object says or whispers anything, return modified message.</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"><p><strong>whisper</strong> (<em>bool</em>) – If True, this is a whisper rather than a say.</p>
<codeclass="sig-name descname">process_sdesc</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sdesc</span></em>, <emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.process_sdesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.process_sdesc"title="Permalink to this definition">¶</a></dt>
<dd><p>Allows to customize how your sdesc is displayed (primarily by
changing colors).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>sdesc</strong> (<em>str</em>) – The sdesc to display.</p></li>
<li><p><strong>obj</strong> (<em>Object</em>) – The object to which the adjoining sdesc
belongs. If this object is equal to yourself, then
<codeclass="sig-name descname">process_recog</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">recog</span></em>, <emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.process_recog"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.process_recog"title="Permalink to this definition">¶</a></dt>
<dd><p>Allows to customize how a recog string is displayed.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>recog</strong> (<em>str</em>) – The recog string. It has already been
translated from the original sdesc at this point.</p></li>
<li><p><strong>obj</strong> (<em>Object</em>) – The object the recog:ed string belongs to.
This is not used by default.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>recog (str)</em>– The modified recog string.</p>
<codeclass="sig-name descname">process_language</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">speaker</span></em>, <emclass="sig-param"><spanclass="n">language</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/rpsystem.html#ContribRPCharacter.process_language"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.process_language"title="Permalink to this definition">¶</a></dt>
<dd><p>Allows to process the spoken text, for example
by obfuscating language based on your and the
speaker’s language skills. Also a good place to
put coloring.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>str</em>) – The text to process.</p></li>
<li><p><strong>speaker</strong> (<em>Object</em>) – The object delivering the text.</p></li>
<li><p><strong>language</strong> (<em>str</em>) – An identifier string for the language.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>text (str)</em>– The optionally processed text.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This is designed to work together with a string obfuscator
such as the <strong>obfuscate_language</strong> or <strong>obfuscate_whisper</strong> in
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.rpsystem.ContribRPCharacter'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'ContribRPCharacter'</em><aclass="headerlink"href="#evennia.contrib.rpsystem.ContribRPCharacter.typename"title="Permalink to this definition">¶</a></dt>