<spanid="evennia-contrib-tutorials-evadventure-characters"></span><h1>evennia.contrib.tutorials.evadventure.characters<aclass="headerlink"href="#module-evennia.contrib.tutorials.evadventure.characters"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.characters.</code><codeclass="sig-name descname">LivingMixin</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">is_pc</code><emclass="property"> = False</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.is_pc"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">hurt_level</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.hurt_level"title="Permalink to this definition">¶</a></dt>
<dd><p>String describing how hurt this character is.</p>
<codeclass="sig-name descname">heal</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">hp</span></em>, <emclass="sig-param"><spanclass="n">healer</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.heal"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.heal"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_attacked</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">attacker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_attacked"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_attacked"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when being attacked / combat starts.</p>
<codeclass="sig-name descname">at_damage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">damage</span></em>, <emclass="sig-param"><spanclass="n">attacker</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_damage"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_damage"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when attacked and taking damage.</p>
<codeclass="sig-name descname">at_defeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_defeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_defeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when this living thing reaches HP 0.</p>
<codeclass="sig-name descname">at_death</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_death"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_death"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pay</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">amount</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_pay"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_pay"title="Permalink to this definition">¶</a></dt>
<dd><p>Get coins, but no more than we actually have.</p>
<codeclass="sig-name descname">at_looted</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looter</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_looted"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_looted"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when being looted (after defeat).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>looter</strong> (<em>Object</em>) – The one doing the looting.</p>
<codeclass="sig-name descname">pre_loot</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">defeated_enemy</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.pre_loot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.pre_loot"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before looting an enemy.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>defeated_enemy</strong> (<em>Object</em>) – The enemy soon to loot.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If False, no looting is allowed.</p>
<codeclass="sig-name descname">at_do_loot</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">defeated_enemy</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.at_do_loot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.at_do_loot"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when looting another entity.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>defeated_enemy</strong>– The thing to loot.</p>
<codeclass="sig-name descname">post_loot</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">defeated_enemy</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#LivingMixin.post_loot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.LivingMixin.post_loot"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just after having looted an enemy.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>defeated_enemy</strong> (<em>Object</em>) – The enemy just looted.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.characters.</code><codeclass="sig-name descname">EvAdventureCharacter</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/tutorials/evadventure/characters.html#EvAdventureCharacter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">is_pc</code><emclass="property"> = True</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.is_pc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">strength</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.strength"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">dexterity</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.dexterity"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">constitution</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.constitution"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">intelligence</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.intelligence"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">wisdom</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.wisdom"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">charisma</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.charisma"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">hp</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.hp"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">hp_max</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.hp_max"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">level</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.level"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">coins</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.coins"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">xp</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.xp"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">xp_per_level</code><emclass="property"> = 1000</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.xp_per_level"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">equipment</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.equipment"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.equipment"title="Permalink to this definition">¶</a></dt>
<dd><p>Allows to access equipment like char.equipment.worn</p>
<codeclass="sig-name descname">quests</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.quests"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.quests"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">weapon</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.weapon"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">armor</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.armor"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_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/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_pre_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_pre_object_receive"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook called by Evennia before moving an object here. Return False to abort move.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_object</strong> (<em>Object</em>) – Object to move into this one (that is, into inventory).</p></li>
<li><p><strong>source_location</strong> (<em>Object</em>) – Source location moved from.</p></li>
<li><p><strong>**kwargs</strong>– Passed from move operation; the <strong>move_type</strong> is useful; if someone is giving
us something (<strong>move_type==’give’</strong>) we want to ask first.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If move should be allowed or not.</p>
<codeclass="sig-name descname">at_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_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/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_object_receive"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook called by Evennia as an object is moved here. We make sure it’s added
to the equipment handler.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_object</strong> (<em>Object</em>) – Object to move into this one (that is, into inventory).</p></li>
<li><p><strong>source_location</strong> (<em>Object</em>) – Source location moved from.</p></li>
<li><p><strong>**kwargs</strong>– Passed from move operation; unused here.</p></li>
<codeclass="sig-name descname">at_pre_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">leaving_object</span></em>, <emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_pre_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_pre_object_leave"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook called when dropping an item. We don’t allow to drop weilded/worn items
(need to unwield/remove them first). Return False to</p>
<codeclass="sig-name descname">at_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_object</span></em>, <emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.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>destination</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_defeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_defeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_defeat"title="Permalink to this definition">¶</a></dt>
<dd><p>This happens when character drops <= 0 HP. For Characters, this means rolling on
<codeclass="sig-name descname">at_death</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_death"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_death"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_loot</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_pre_loot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_pre_loot"title="Permalink to this definition">¶</a></dt>
<dd><p>Called before allowing to loot. Return False to block enemy looting.</p>
<codeclass="sig-name descname">at_looted</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looter</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.at_looted"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.at_looted"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">add_xp</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">xp</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.add_xp"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.add_xp"title="Permalink to this definition">¶</a></dt>
<dd><p>Add new XP.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>xp</strong> (<em>int</em>) – The amount of gained XP.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If a new level was reached or not.</p>
<codeclass="sig-name descname">level_up</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">abilities</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#EvAdventureCharacter.level_up"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.level_up"title="Permalink to this definition">¶</a></dt>
<dd><p>Perform the level-up action.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>*abilities</strong> (<em>str</em>) – A set of abilities (like ‘strength’, ‘dexterity’ (normally 3)
to upgrade by 1. Max is usually +10.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>We block increases above a certain value, but we don’t raise an error here, that
will need to be done earlier, when the user selects the ability to increase.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureCharacter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter.typename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.characters.</code><codeclass="sig-name descname">get_character_sheet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/characters.html#get_character_sheet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.characters.get_character_sheet"title="Permalink to this definition">¶</a></dt>
<dd><p>Generate a character sheet. This is grouped in a class in order to make