evennia/docs/2.x/api/evennia.contrib.tutorials.evadventure.combat_base.html
2023-12-20 18:20:52 +01:00

574 lines
No EOL
50 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>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>evennia.contrib.tutorials.evadventure.combat_base &#8212; Evennia 2.x documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut 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.combat_turnbased" href="evennia.contrib.tutorials.evadventure.combat_turnbased.html" />
<link rel="prev" title="evennia.contrib.tutorials.evadventure.chargen" href="evennia.contrib.tutorials.evadventure.chargen.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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.combat_turnbased.html" title="evennia.contrib.tutorials.evadventure.combat_turnbased"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.chargen.html" title="evennia.contrib.tutorials.evadventure.chargen"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</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.combat_base</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.chargen.html"
title="previous chapter">evennia.contrib.tutorials.evadventure.chargen</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.combat_turnbased.html"
title="next chapter">evennia.contrib.tutorials.evadventure.combat_turnbased</a></p>
<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.combat_base.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>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.tutorials.evadventure.combat_base">
<span id="evennia-contrib-tutorials-evadventure-combat-base"></span><h1>evennia.contrib.tutorials.evadventure.combat_base<a class="headerlink" href="#module-evennia.contrib.tutorials.evadventure.combat_base" title="Permalink to this headline"></a></h1>
<p>EvAdventure Base combat utilities.</p>
<p>This establishes the basic building blocks for combat:</p>
<ul class="simple">
<li><p><strong>CombatFailure</strong> - exception for combat-specific errors.</p></li>
<li><p><strong>CombatAction</strong> (and subclasses) - classes encompassing all the working around an action.
They are initialized from action-dicts** - dictionaries with all the relevant data for the
particular invocation</p></li>
<li><p><strong>CombatHandler</strong> - base class for running a combat. Exactly how this is used depends on the
type of combat intended (twitch- or turn-based) so many details of this will be implemented
in child classes.</p></li>
</ul>
<hr class="docutils" />
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatFailure">
<em class="property">exception </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatFailure</code><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatFailure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatFailure" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></p>
<p>Some failure during combat actions.</p>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatAction</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Parent class for all actions.</p>
<p>This represents the executable code to run to perform an action. It is initialized from an
action-dict, a set of properties stored in the action queue by each combatant.</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Each key-value pair in the action-dict is stored as a property on this class
for later access.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>combatant</strong> (<a class="reference internal" href="evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter" title="evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter"><em>EvAdventureCharacter</em></a><em>, </em><a class="reference internal" href="evennia.contrib.tutorials.evadventure.npcs.html#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><em>EvAdventureNPC</em></a>) The combatant performing
the action.</p></li>
<li><p><strong>action_dict</strong> (<em>dict</em>) A dict containing all properties to initialize on this
class. This should not be any keys with <strong>_</strong> prefix, since these are
used internally by the class.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction.msg">
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">broadcast</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.msg" title="Permalink to this definition"></a></dt>
<dd><p>Convenience route to the combathandler msg-sender mechanism.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>message</strong> (<em>str</em>) Message to send; use <strong>$You()</strong> and <strong>$You(other.key)</strong> to refer to
the combatant doing the action and other combatants, respectively.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction.can_use">
<code class="sig-name descname">can_use</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.can_use"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.can_use" title="Permalink to this definition"></a></dt>
<dd><p>Called to determine if the action is usable with the current settings. This does not
actually perform the action.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>bool</em> If this action can be used at this time.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.execute" title="Permalink to this definition"></a></dt>
<dd><p>Perform the action as the combatant. Should normally make use of the properties
stored on the class during initialization.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatAction.post_execute">
<code class="sig-name descname">post_execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.post_execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.post_execute" title="Permalink to this definition"></a></dt>
<dd><p>Called after execution.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionHold">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatActionHold</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionHold"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionHold" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="evennia.contrib.tutorials.evadventure.combat_base.CombatAction"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.combat_base.CombatAction</span></code></a></p>
<p>Action that does nothing.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">action_dict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;hold&quot;</span>
<span class="p">}</span>
</pre></div>
</div>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatActionAttack</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionAttack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="evennia.contrib.tutorials.evadventure.combat_base.CombatAction"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.combat_base.CombatAction</span></code></a></p>
<p>A regular attack, using a wielded weapon.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">action</span><span class="o">-</span><span class="nb">dict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;attack&quot;</span><span class="p">,</span>
<span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="n">Character</span><span class="o">/</span><span class="n">Object</span>
<span class="p">}</span>
</pre></div>
</div>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionAttack.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack.execute" title="Permalink to this definition"></a></dt>
<dd><p>Perform the action as the combatant. Should normally make use of the properties
stored on the class during initialization.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatActionStunt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionStunt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="evennia.contrib.tutorials.evadventure.combat_base.CombatAction"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.combat_base.CombatAction</span></code></a></p>
<p>Perform a stunt the grants a beneficiary (can be self) advantage on their next action against a
target. Whenever performing a stunt that would affect another negatively (giving them
disadvantage against an ally, or granting an advantage against them, we need to make a check
first. We dont do a check if giving an advantage to an ally or ourselves.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">action_dict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;stunt&quot;</span><span class="p">,</span>
<span class="s2">&quot;recipient&quot;</span><span class="p">:</span> <span class="n">Character</span><span class="o">/</span><span class="n">NPC</span><span class="p">,</span>
<span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="n">Character</span><span class="o">/</span><span class="n">NPC</span><span class="p">,</span>
<span class="s2">&quot;advantage&quot;</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span> <span class="c1"># if False, it&#39;s a disadvantage</span>
<span class="s2">&quot;stunt_type&quot;</span><span class="p">:</span> <span class="n">Ability</span><span class="p">,</span> <span class="c1"># what ability (like STR, DEX etc) to use to perform this stunt.</span>
<span class="s2">&quot;defense_type&quot;</span><span class="p">:</span> <span class="n">Ability</span><span class="p">,</span> <span class="c1"># what ability to use to defend against (negative) effects of</span>
<span class="n">this</span> <span class="n">stunt</span><span class="o">.</span>
<span class="p">}</span>
</pre></div>
</div>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionStunt.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt.execute" title="Permalink to this definition"></a></dt>
<dd><p>Perform the action as the combatant. Should normally make use of the properties
stored on the class during initialization.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatActionUseItem</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionUseItem"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="evennia.contrib.tutorials.evadventure.combat_base.CombatAction"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.combat_base.CombatAction</span></code></a></p>
<p>Use an item in combat. This is meant for one-off or limited-use items (so things like
scrolls and potions, not swords and shields). If this is some sort of weapon or spell rune,
we refer to the item to determine what to use for attack/defense rolls.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">action_dict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;use&quot;</span><span class="p">,</span>
<span class="s2">&quot;item&quot;</span><span class="p">:</span> <span class="n">Object</span>
<span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="n">Character</span><span class="o">/</span><span class="n">NPC</span><span class="o">/</span><span class="n">Object</span><span class="o">/</span><span class="kc">None</span>
<span class="p">}</span>
</pre></div>
</div>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionUseItem.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem.execute" title="Permalink to this definition"></a></dt>
<dd><p>Perform the action as the combatant. Should normally make use of the properties
stored on the class during initialization.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">CombatActionWield</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combathandler</span></em>, <em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">action_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionWield"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction" title="evennia.contrib.tutorials.evadventure.combat_base.CombatAction"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.combat_base.CombatAction</span></code></a></p>
<p>Wield a new weapon (or spell) from your inventory. This will swap out the one you are currently
wielding, if any.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">action_dict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;wield&quot;</span><span class="p">,</span>
<span class="s2">&quot;item&quot;</span><span class="p">:</span> <span class="n">Object</span>
<span class="p">}</span>
</pre></div>
</div>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionWield.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield.execute" title="Permalink to this definition"></a></dt>
<dd><p>Perform the action as the combatant. Should normally make use of the properties
stored on the class during initialization.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><code class="sig-name descname">EvAdventureCombatBaseHandler</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript" title="evennia.scripts.scripts.DefaultScript"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript</span></code></a></p>
<p>This script is created when a combat starts. It ticks the combat and tracks
all sides of it.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.action_classes">
<code class="sig-name descname">action_classes</code><em class="property"> = {'attack': &lt;class 'evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack'&gt;, 'hold': &lt;class 'evennia.contrib.tutorials.evadventure.combat_base.CombatActionHold'&gt;, 'stunt': &lt;class 'evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt'&gt;, 'use': &lt;class 'evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem'&gt;, 'wield': &lt;class 'evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield'&gt;}</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.action_classes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.fallback_action_dict">
<code class="sig-name descname">fallback_action_dict</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.fallback_action_dict" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_or_create_combathandler">
<em class="property">classmethod </em><code class="sig-name descname">get_or_create_combathandler</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">obj</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_or_create_combathandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_or_create_combathandler" title="Permalink to this definition"></a></dt>
<dd><p>Get or create a combathandler on <strong>obj</strong>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>obj</strong> (<em>any</em>) The Typeclassed entity to store the CombatHandler Script on. This could be
a location (for turn-based combat) or a Character (for twitch-based combat).</p>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><ul class="simple">
<li><p><strong>combathandler_key</strong> (<em>str</em>) They key name for the script. Will be combathandler by
default.</p></li>
<li><p><strong>**kwargs</strong> Arguments to the Script, if it is created.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.msg">
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">combatant</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">broadcast</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="n">location</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.msg" title="Permalink to this definition"></a></dt>
<dd><p>Central place for sending messages to combatants. This allows
for adding any combat-specific text-decoration in one place.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>message</strong> (<em>str</em>) The message to send.</p></li>
<li><p><strong>combatant</strong> (<em>Object</em>) The You in the message, if any.</p></li>
<li><p><strong>broadcast</strong> (<em>bool</em>) If <strong>False</strong>, <strong>combatant</strong> must be included and
will be the only one to see the message. If <strong>True</strong>, send to
everyone in the location.</p></li>
<li><p><strong>location</strong> (<em>Object</em><em>, </em><em>optional</em>) If given, use this as the location to
send broadcast messages to. If not, use <strong>self.obj</strong> as that
location.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>If <strong>combatant</strong> is given, use <strong>$You/you()</strong> markup to create
a message that looks different depending on who sees it. Use
<strong>$You(combatant_key)</strong> to refer to other combatants.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_combat_summary">
<code class="sig-name descname">get_combat_summary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combatant</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_combat_summary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_combat_summary" title="Permalink to this definition"></a></dt>
<dd><p>Get a battle report - an overview of the current state of combat from the perspective
of one of the sides.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>combatant</strong> (<a class="reference internal" href="evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter" title="evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter"><em>EvAdventureCharacter</em></a><em>, </em><a class="reference internal" href="evennia.contrib.tutorials.evadventure.npcs.html#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><em>EvAdventureNPC</em></a>) The combatant to get.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>EvTable</em> A table representing the current state of combat.</p>
</dd>
</dl>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Goblin</span> <span class="n">shaman</span> <span class="p">(</span><span class="n">Perfect</span><span class="p">)</span>
</pre></div>
</div>
<p>Gregor (Hurt) Goblin brawler(Hurt)
Bob (Perfect) vs Goblin grunt 1 (Hurt)</p>
<blockquote>
<div><p>Goblin grunt 2 (Perfect)
Goblin grunt 3 (Wounded)</p>
</div></blockquote>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_sides">
<code class="sig-name descname">get_sides</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combatant</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_sides"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.get_sides" title="Permalink to this definition"></a></dt>
<dd><p>Get a listing of the two sides of this combat, from the perspective of the provided
combatant. The sides dont need to be balanced.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>combatant</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one whose sides are to determined.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>tuple</em> A tuple of lists <strong>(allies, enemies)</strong>, from the perspective of <strong>combatant</strong>.</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The sides are found by checking PCs vs NPCs. PCs can normally not attack other PCs, so
are naturally allies. If the current room has the <strong>allow_pvp</strong> Attribute set, then _all_
other combatants (PCs and NPCs alike) are considered valid enemies (one could expand
this with group mechanics).</p>
</div>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.give_advantage">
<code class="sig-name descname">give_advantage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">recipient</span></em>, <em class="sig-param"><span class="n">target</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.give_advantage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.give_advantage" title="Permalink to this definition"></a></dt>
<dd><p>Let a benefiter gain advantage against the target.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>recipient</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one to gain the advantage. This may or may not
be the same entity that creates the advantage in the first place.</p></li>
<li><p><strong>target</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one against which the target gains advantage. This
could (in principle) be the same as the benefiter (e.g. gaining advantage on
some future boost)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.give_disadvantage">
<code class="sig-name descname">give_disadvantage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">recipient</span></em>, <em class="sig-param"><span class="n">target</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.give_disadvantage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.give_disadvantage" title="Permalink to this definition"></a></dt>
<dd><p>Let an affected party gain disadvantage against a target.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>recipient</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one to get the disadvantage.</p></li>
<li><p><strong>target</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one against which the target gains disadvantage, usually</p></li>
<li><p><strong>enemy.</strong> (<em>an</em>) </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.has_advantage">
<code class="sig-name descname">has_advantage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">target</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.has_advantage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.has_advantage" title="Permalink to this definition"></a></dt>
<dd><p>Check if a given combatant has advantage against a target.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>combatant</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one to check if they have advantage</p></li>
<li><p><strong>target</strong> (<em>Character</em><em> or </em><em>NPC</em>) The target to check advantage against.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.has_disadvantage">
<code class="sig-name descname">has_disadvantage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combatant</span></em>, <em class="sig-param"><span class="n">target</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.has_disadvantage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.has_disadvantage" title="Permalink to this definition"></a></dt>
<dd><p>Check if a given combatant has disadvantage against a target.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>combatant</strong> (<em>Character</em><em> or </em><em>NPC</em>) The one to check if they have disadvantage</p></li>
<li><p><strong>target</strong> (<em>Character</em><em> or </em><em>NPC</em>) The target to check disadvantage against.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.queue_action">
<code class="sig-name descname">queue_action</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">action_dict</span></em>, <em class="sig-param"><span class="n">combatant</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.queue_action"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.queue_action" title="Permalink to this definition"></a></dt>
<dd><p>Queue an action by adding the new actiondict.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>action_dict</strong> (<em>dict</em>) A dict describing the action class by name along with properties.</p></li>
<li><p><strong>combatant</strong> (<a class="reference internal" href="evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter" title="evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter"><em>EvAdventureCharacter</em></a><em>, </em><a class="reference internal" href="evennia.contrib.tutorials.evadventure.npcs.html#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><em>EvAdventureNPC</em></a><em>, </em><em>optional</em>) A combatant queueing the
action.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.execute_next_action">
<code class="sig-name descname">execute_next_action</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">combatant</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.execute_next_action"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.execute_next_action" title="Permalink to this definition"></a></dt>
<dd><p>Perform a combatants next action.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>combatant</strong> (<a class="reference internal" href="evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter" title="evennia.contrib.tutorials.evadventure.characters.EvAdventureCharacter"><em>EvAdventureCharacter</em></a><em>, </em><a class="reference internal" href="evennia.contrib.tutorials.evadventure.npcs.html#evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC" title="evennia.contrib.tutorials.evadventure.npcs.EvAdventureNPC"><em>EvAdventureNPC</em></a>) The combatant performing and action.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.start_combat">
<code class="sig-name descname">start_combat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.start_combat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.start_combat" title="Permalink to this definition"></a></dt>
<dd><p>Start combat.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.check_stop_combat">
<code class="sig-name descname">check_stop_combat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.check_stop_combat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.check_stop_combat" title="Permalink to this definition"></a></dt>
<dd><p>Check if this combat should be aborted, whatever this means for the particular
the particular combat type.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments</dt>
<dd class="field-odd"><p><strong>kwargs</strong> Any extra keyword args used.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> If <strong>True</strong>, the <strong>stop_combat</strong> method should be called.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.stop_combat">
<code class="sig-name descname">stop_combat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.stop_combat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.stop_combat" title="Permalink to this definition"></a></dt>
<dd><p>Stop combat. This should also do all cleanup.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist" title="evennia.scripts.scripts.DefaultScript.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned" title="evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureCombatBaseHandler'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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.combat_turnbased.html" title="evennia.contrib.tutorials.evadventure.combat_turnbased"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.chargen.html" title="evennia.contrib.tutorials.evadventure.chargen"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</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.combat_base</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2023, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>