<spanid="evennia-contrib-tutorials-evadventure-ai"></span><h1>evennia.contrib.tutorials.evadventure.ai<aclass="headerlink"href="#module-evennia.contrib.tutorials.evadventure.ai"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.ai.</code><codeclass="sig-name descname">AIHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
<codeclass="sig-name descname">set_state</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">state</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.set_state"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.set_state"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_state</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.get_state"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.get_state"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_targets</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.get_targets"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.get_targets"title="Permalink to this definition">¶</a></dt>
<dd><p>Get a list of potential targets for the NPC to attack</p>
<codeclass="sig-name descname">get_traversable_exits</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">exclude_destination</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.get_traversable_exits"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.get_traversable_exits"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">random_probability</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">probabilities</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.random_probability"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.random_probability"title="Permalink to this definition">¶</a></dt>
<dd><p>Given a dictionary of probabilities, return the key of the chosen probability.</p>
<codeclass="sig-name descname">run</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIHandler.run"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIHandler.run"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.ai.</code><codeclass="sig-name descname">AIMixin</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin.ai"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin.ai"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_idle</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin.ai_idle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin.ai_idle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_attack</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin.ai_attack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin.ai_attack"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_patrol</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin.ai_patrol"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin.ai_patrol"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_flee</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AIMixin.ai_flee"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AIMixin.ai_flee"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.ai.</code><codeclass="sig-name descname">IdleMobMixin</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#IdleMobMixin"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.IdleMobMixin"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_idle</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#IdleMobMixin.ai_idle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.IdleMobMixin.ai_idle"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.ai.</code><codeclass="sig-name descname">AggressiveMobMixin</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AggressiveMobMixin"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AggressiveMobMixin"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ai_idle</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AggressiveMobMixin.ai_idle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AggressiveMobMixin.ai_idle"title="Permalink to this definition">¶</a></dt>
<dd><p>Do nothing, but switch to attack state if a target is found.</p>
<codeclass="sig-name descname">ai_attack</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AggressiveMobMixin.ai_attack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AggressiveMobMixin.ai_attack"title="Permalink to this definition">¶</a></dt>
<dd><p>Manage the attack/combat state of the mob.</p>
<codeclass="sig-name descname">ai_patrol</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AggressiveMobMixin.ai_patrol"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AggressiveMobMixin.ai_patrol"title="Permalink to this definition">¶</a></dt>
<dd><p>Patrol, moving randomly to a new room. If a target is found, switch to attack state.</p>
<codeclass="sig-name descname">ai_flee</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/ai.html#AggressiveMobMixin.ai_flee"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.ai.AggressiveMobMixin.ai_flee"title="Permalink 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