evennia/docs/6.x/api/evennia.contrib.tutorials.evadventure.npcs.html
2026-02-15 19:06:04 +01:00

687 lines
No EOL
70 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.contrib.tutorials.evadventure.npcs &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.contrib.tutorials.evadventure.objects" href="evennia.contrib.tutorials.evadventure.objects.html" />
<link rel="prev" title="evennia.contrib.tutorials.evadventure.equipment" href="evennia.contrib.tutorials.evadventure.equipment.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.objects.html" title="evennia.contrib.tutorials.evadventure.objects"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.equipment.html" title="evennia.contrib.tutorials.evadventure.equipment"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.evadventure.html" accesskey="U">evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.npcs</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.tutorials.evadventure.npcs">
<span id="evennia-contrib-tutorials-evadventure-npcs"></span><h1>evennia.contrib.tutorials.evadventure.npcs<a class="headerlink" href="#module-evennia.contrib.tutorials.evadventure.npcs" title="Link to this heading"></a></h1>
<p>EvAdventure NPCs. This includes both friends and enemies, only separated by their AI.</p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">EvAdventureNPC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureNPC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.LivingMixin" title="evennia.contrib.tutorials.evadventure.characters.LivingMixin"><code class="xref py py-class docutils literal notranslate"><span class="pre">LivingMixin</span></code></a>, <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter" title="evennia.objects.objects.DefaultCharacter"><code class="xref py py-class docutils literal notranslate"><span class="pre">DefaultCharacter</span></code></a></p>
<p>This is the base class for all non-player entities, including monsters. These
generally dont advance in level but uses a simplified, abstract measure of how
dangerous or competent they are - the hit dice (HD).</p>
<p>HD indicates how much health they have and how hard they hit. In _Knave_, HD also
defaults to being the bonus for all abilities. HP is 4 x Hit die (this can then be
customized per-entity of course).</p>
<p>Morale is set explicitly per-NPC, usually between 7 and 9.</p>
<p>Monsters dont use equipment in the way PCs do, instead they have a fixed armor
value, and their Abilities are dynamically generated from the HD (hit_dice).</p>
<p>If wanting monsters or NPCs that can level and work the same as PCs, base them off the
EvAdventureCharacter class instead.</p>
<p>The weapon of the npc is stored as an Attribute instead of implementing a full
inventory/equipment system. This means that the normal inventory can be used for
non-combat purposes (or for loot to get when killing an enemy).</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_pc">
<span class="sig-name descname"><span class="pre">is_pc</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_pc" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hit_dice">
<span class="sig-name descname"><span class="pre">hit_dice</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hit_dice" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.armor">
<span class="sig-name descname"><span class="pre">armor</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.armor" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.morale">
<span class="sig-name descname"><span class="pre">morale</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.morale" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_multiplier">
<span class="sig-name descname"><span class="pre">hp_multiplier</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_multiplier" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp">
<span class="sig-name descname"><span class="pre">hp</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.allegiance">
<span class="sig-name descname"><span class="pre">allegiance</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.allegiance" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_idle">
<span class="sig-name descname"><span class="pre">is_idle</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_idle" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.weapon">
<span class="sig-name descname"><span class="pre">weapon</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.weapon" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.coins">
<span class="sig-name descname"><span class="pre">coins</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.coins" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.group">
<span class="sig-name descname"><span class="pre">group</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.group" title="Link to this definition"></a></dt>
<dd><p>Tag Property.</p>
</dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.strength">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">strength</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.strength" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.dexterity">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dexterity</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.dexterity" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.constitution">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">constitution</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.constitution" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.intelligence">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">intelligence</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.intelligence" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.wisdom">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wisdom</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.wisdom" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.charisma">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">charisma</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.charisma" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_max">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">hp_max</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_max" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_object_creation">
<span class="sig-name descname"><span class="pre">at_object_creation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureNPC.at_object_creation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_object_creation" title="Link to this definition"></a></dt>
<dd><p>Start with max health.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_attacked">
<span class="sig-name descname"><span class="pre">at_attacked</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attacker</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureNPC.at_attacked"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_attacked" title="Link to this definition"></a></dt>
<dd><p>Called when being attacked and combat starts.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.ai_next_action">
<span class="sig-name descname"><span class="pre">ai_next_action</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureNPC.ai_next_action"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.ai_next_action" title="Link to this definition"></a></dt>
<dd><p>The combat engine should ask this method in order to
get the next action the npc should perform in combat.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter.DoesNotExist" title="evennia.objects.objects.DefaultCharacter.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned" title="evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.typename">
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'EvAdventureNPC'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.typename" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">EvAdventureTalkativeNPC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureTalkativeNPC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><code class="xref py py-class docutils literal notranslate"><span class="pre">EvAdventureNPC</span></code></a></p>
<p>Talkative NPCs can be addressed by <strong>talk [to] &lt;npc&gt;</strong>. This opens a chat menu with
communication options. The menu is created with the npc and we override the .create
to allow passing in the menu nodes.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menudata">
<span class="sig-name descname"><span class="pre">menudata</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menudata" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menu_kwargs">
<span class="sig-name descname"><span class="pre">menu_kwargs</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menu_kwargs" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.hi_text">
<span class="sig-name descname"><span class="pre">hi_text</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.hi_text" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_damage">
<span class="sig-name descname"><span class="pre">at_damage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">damage</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attacker</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureTalkativeNPC.at_damage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_damage" title="Link to this definition"></a></dt>
<dd><p>Talkative NPCs are generally immortal (we dont deduct HP here by default).”</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.create">
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">account</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureTalkativeNPC.create"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.create" title="Link to this definition"></a></dt>
<dd><p>Overriding the creation of the NPC, allowing some extra <strong>**kwargs</strong>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>key</strong> (<em>str</em>) Name of the new object.</p></li>
<li><p><strong>account</strong> (<em>Account</em><em>, </em><em>optional</em>) Account to attribute this object to.</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-even"><ul class="simple">
<li><p><strong>description</strong> (<em>str</em>) Brief description for this object (same as default Evennia)</p></li>
<li><p><strong>ip</strong> (<em>str</em>) IP address of creator (for object auditing) (same as default Evennia).</p></li>
<li><p><strong>menudata</strong> (<em>dict</em><em> or </em><em>str</em>) The <strong>menudata</strong> argument to <strong>EvMenu</strong>. This is either a dict of
<strong>{“nodename”: &lt;node_callable&gt;,…}</strong> or the python-path to a module containing
such nodes (see EvMenu docs). This will be used to generate the chat menu
chat menu for the character that talks to the NPC (which means the <strong>at_talk</strong> hook
is called (by our custom <strong>talk</strong> command).</p></li>
<li><p><strong>menu_kwargs</strong> (<em>dict</em>) This will be passed as <strong>**kwargs</strong> into <strong>EvMenu</strong> when it
is created. Make sure this dict can be pickled to an Attribute.</p></li>
</ul>
</dd>
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>tuple</em> <strong>(new_character, errors)</strong>. On error, the <strong>new_character</strong> is <strong>None</strong> and
<strong>errors</strong> is a <strong>list</strong> of error strings (an empty list otherwise).</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_talk">
<span class="sig-name descname"><span class="pre">at_talk</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">talker</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">startnode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'node_start'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureTalkativeNPC.at_talk"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_talk" title="Link to this definition"></a></dt>
<dd><p>Called by the <strong>talk</strong> command when another entity addresses us.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>talker</strong> (<em>Object</em>) The one talking to us.</p></li>
<li><p><strong>startnode</strong> (<em>str</em><em>, </em><em>optional</em>) Allows to start in a different location in the menu tree.
The given node must exist in the tree.</p></li>
<li><p><strong>session</strong> (<a class="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>) The talkers current session, allows for routing
correctly in multi-session modes.</p></li>
<li><p><strong>**kwargs</strong> This will be passed into the <strong>EvMenu</strong> creation and appended and <strong>menu_kwargs</strong>
given to the NPC at creation.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>We pass <strong>npc=self</strong> into the EvMenu for easy back-reference. This will appear in the
<strong>**kwargs</strong> of the start node.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.typename">
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'EvAdventureTalkativeNPC'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.typename" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.node_start">
<span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">node_start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">caller</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raw_string</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#node_start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.node_start" title="Link to this definition"></a></dt>
<dd><p>This is the intended start menu node for the Talkative NPC interface. It will
use on-npc Attributes to build its message and will also pick its options
based on nodes named <strong>node_start_*</strong> are available in the node tree.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">EvAdventureQuestGiver</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureQuestGiver"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC"><code class="xref py py-class docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC</span></code></a></p>
<p>An NPC that acts as a dispenser of quests.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.DoesNotExist">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.DoesNotExist" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.MultipleObjectsReturned">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.MultipleObjectsReturned" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.typename">
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'EvAdventureQuestGiver'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.typename" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">EvAdventureShopKeeper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureShopKeeper"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC"><code class="xref py py-class docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC</span></code></a></p>
<p>ShopKeeper NPC.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.upsell_factor">
<span class="sig-name descname"><span class="pre">upsell_factor</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.upsell_factor" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.miser_factor">
<span class="sig-name descname"><span class="pre">miser_factor</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.miser_factor" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.common_ware_prototypes">
<span class="sig-name descname"><span class="pre">common_ware_prototypes</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.common_ware_prototypes" title="Link to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.at_damage">
<span class="sig-name descname"><span class="pre">at_damage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">damage</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attacker</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureShopKeeper.at_damage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.at_damage" title="Link to this definition"></a></dt>
<dd><p>Immortal - we dont deduct any damage here.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.DoesNotExist">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.DoesNotExist" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.MultipleObjectsReturned">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.MultipleObjectsReturned" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.typename">
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'EvAdventureShopKeeper'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.typename" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.npcs.</span></span><span class="sig-name descname"><span class="pre">EvAdventureMob</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><code class="xref py py-class docutils literal notranslate"><span class="pre">EvAdventureNPC</span></code></a></p>
<p>Mob (mobile) NPC; this is usually an enemy.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.combat_probabilities">
<span class="sig-name descname"><span class="pre">combat_probabilities</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'attack':</span> <span class="pre">0.85,</span> <span class="pre">'flee':</span> <span class="pre">0.05,</span> <span class="pre">'hold':</span> <span class="pre">0.0,</span> <span class="pre">'item':</span> <span class="pre">0.0,</span> <span class="pre">'stunt':</span> <span class="pre">0.05}</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.combat_probabilities" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai">
<span class="sig-name descname"><span class="pre">ai</span></span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.ai"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_idle">
<span class="sig-name descname"><span class="pre">ai_idle</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.ai_idle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_idle" title="Link to this definition"></a></dt>
<dd><p>Do nothing.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_combat">
<span class="sig-name descname"><span class="pre">ai_combat</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.ai_combat"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_combat" title="Link to this definition"></a></dt>
<dd><p>Manage the combat/combat state of the mob.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_roam">
<span class="sig-name descname"><span class="pre">ai_roam</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.ai_roam"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_roam" title="Link to this definition"></a></dt>
<dd><p>roam, moving randomly to a new room. If a target is found, switch to combat state.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_flee">
<span class="sig-name descname"><span class="pre">ai_flee</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.ai_flee"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_flee" title="Link to this definition"></a></dt>
<dd><p>Flee from the current room, avoiding going back to the room from which we came. If no exits
are found, switch to roam state.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.at_defeat">
<span class="sig-name descname"><span class="pre">at_defeat</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/npcs.html#EvAdventureMob.at_defeat"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.at_defeat" title="Link to this definition"></a></dt>
<dd><p>Mobs die right away when defeated, no death-table rolls.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.DoesNotExist">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.DoesNotExist" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.MultipleObjectsReturned">
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.MultipleObjectsReturned" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.path">
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.path" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.typename">
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'EvAdventureMob'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.typename" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.contrib.tutorials.evadventure.npcs</a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_pc"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.is_pc</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hit_dice"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.hit_dice</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.armor"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.armor</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.morale"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.morale</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_multiplier"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.hp_multiplier</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.hp</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.allegiance"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.allegiance</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.is_idle"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.is_idle</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.weapon"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.weapon</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.coins"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.coins</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.group"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.group</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.strength"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.strength</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.dexterity"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.dexterity</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.constitution"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.constitution</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.intelligence"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.intelligence</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.wisdom"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.wisdom</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.charisma"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.charisma</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.hp_max"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.hp_max</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_object_creation"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.at_object_creation()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.at_attacked"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.at_attacked()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.ai_next_action"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.ai_next_action()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.DoesNotExist</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.MultipleObjectsReturned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.path"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.path</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC.typename"><code class="docutils literal notranslate"><span class="pre">EvAdventureNPC.typename</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menudata"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.menudata</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.menu_kwargs"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.menu_kwargs</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.hi_text"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.hi_text</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_damage"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.at_damage()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.create"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.create()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_talk"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.at_talk()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.DoesNotExist</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.MultipleObjectsReturned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.path"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.path</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.typename"><code class="docutils literal notranslate"><span class="pre">EvAdventureTalkativeNPC.typename</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.node_start"><code class="docutils literal notranslate"><span class="pre">node_start()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestGiver</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestGiver.DoesNotExist</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestGiver.MultipleObjectsReturned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.path"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestGiver.path</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureQuestGiver.typename"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestGiver.typename</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.upsell_factor"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.upsell_factor</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.miser_factor"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.miser_factor</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.common_ware_prototypes"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.common_ware_prototypes</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.at_damage"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.at_damage()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.DoesNotExist</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.MultipleObjectsReturned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.path"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.path</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureShopKeeper.typename"><code class="docutils literal notranslate"><span class="pre">EvAdventureShopKeeper.typename</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.combat_probabilities"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.combat_probabilities</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.ai</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_idle"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.ai_idle()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_combat"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.ai_combat()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_roam"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.ai_roam()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.ai_flee"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.ai_flee()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.at_defeat"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.at_defeat()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.DoesNotExist</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.MultipleObjectsReturned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.path"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.path</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.npcs.EvAdventureMob.typename"><code class="docutils literal notranslate"><span class="pre">EvAdventureMob.typename</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.equipment.html"
title="previous chapter">evennia.contrib.tutorials.evadventure.equipment</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.objects.html"
title="next chapter">evennia.contrib.tutorials.evadventure.objects</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.tutorials.evadventure.npcs.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/6.x/index.html">v6.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.objects.html" title="evennia.contrib.tutorials.evadventure.objects"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.equipment.html" title="evennia.contrib.tutorials.evadventure.equipment"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.evadventure.html" >evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.npcs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>